timezone-overlap-map 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,956 @@
1
+ import { StrictMode as e, useEffect as t, useMemo as n, useState as r } from "react";
2
+ import { createRoot as i } from "react-dom/client";
3
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ // src/overlap.ts
5
+ var s = 1440;
6
+ function c(e, t = s) {
7
+ return (e % t + t) % t;
8
+ }
9
+ function l(e) {
10
+ try {
11
+ return new Intl.DateTimeFormat("en-US", { timeZone: e }), !0;
12
+ } catch {
13
+ return !1;
14
+ }
15
+ }
16
+ function u(e, t) {
17
+ let n = new Intl.DateTimeFormat("en-US", {
18
+ timeZone: e,
19
+ timeZoneName: "longOffset"
20
+ }).formatToParts(t).find((e) => e.type === "timeZoneName")?.value, r = n && /^GMT([+-])(\d{2}):(\d{2})$/.exec(n);
21
+ return r ? (r[1] === "-" ? -1 : 1) * (Number(r[2]) * 60 + Number(r[3])) : 0;
22
+ }
23
+ function d(e, t) {
24
+ if (t <= 0) return [];
25
+ if (t >= 1440) return [{
26
+ start: 0,
27
+ end: s
28
+ }];
29
+ let n = c(e), r = n + t;
30
+ return r <= 1440 ? [{
31
+ start: n,
32
+ end: r
33
+ }] : [{
34
+ start: 0,
35
+ end: r - s
36
+ }, {
37
+ start: n,
38
+ end: s
39
+ }];
40
+ }
41
+ function f(e, t) {
42
+ return v(e.flatMap((e) => d(e.start + t, e.end - e.start)));
43
+ }
44
+ function p(e, t) {
45
+ let n = [];
46
+ for (let r of e) for (let e of t) {
47
+ let t = Math.max(r.start, e.start), i = Math.min(r.end, e.end);
48
+ t < i && n.push({
49
+ start: t,
50
+ end: i
51
+ });
52
+ }
53
+ return y(n);
54
+ }
55
+ function m(e) {
56
+ return e.reduce((e, t) => e + t.end - t.start, 0);
57
+ }
58
+ function h(e) {
59
+ let t = y(e), n = t[0], r = t[t.length - 1];
60
+ return t.length > 1 && n && r && n.start === 0 && r.end === 1440 ? [...t.slice(1, -1), {
61
+ start: r.start,
62
+ end: s + n.end
63
+ }] : t;
64
+ }
65
+ function g(e, t, n, r) {
66
+ let i = c((n - t) * 60);
67
+ return d(t * 60 - u(e, r), i);
68
+ }
69
+ function _(e, t, { workStart: n, workEnd: r, date: i }) {
70
+ let a = g(e, n, r, i), o = g(t, n, r, i), s = p(a, o);
71
+ return {
72
+ home: a,
73
+ visitor: o,
74
+ both: s,
75
+ minutes: m(s)
76
+ };
77
+ }
78
+ function v(e) {
79
+ let t = [];
80
+ for (let n of y(e)) {
81
+ let e = t[t.length - 1];
82
+ e && n.start <= e.end ? e.end = Math.max(e.end, n.end) : t.push({ ...n });
83
+ }
84
+ return t;
85
+ }
86
+ function y(e) {
87
+ return [...e].sort((e, t) => e.start - t.start);
88
+ }
89
+ var b = {
90
+ en: {
91
+ zoneLabel: "Your time zone",
92
+ overlap: (e, t, n) => `${e} of overlap with ${t}: ${n} your time.`,
93
+ none: (e) => `No working-hours overlap with ${e}.`
94
+ },
95
+ es: {
96
+ zoneLabel: "Tu zona horaria",
97
+ overlap: (e, t, n) => `${e} en común con ${t}: ${n} en tu horario.`,
98
+ none: (e) => `No hay horario laboral en común con ${e}.`
99
+ }
100
+ };
101
+ function x(e) {
102
+ let t = (e ?? "").toLowerCase().split("-")[0] ?? "";
103
+ return t in b ? t : "en";
104
+ }
105
+ // src/geo.ts
106
+ var S = "M112 138l1.5 .5 1.5 0-.5 .5-1 0-.5 0-.5 .5-.5 0-1 0-1-.5-1 0-1.5-.5-1-.5-1-1 .5 0 1.5 .5 1.5 .5 .5-.5 0-.5 1-.5 1 0 0 .5 .5 1zM121.5 135l1 .5-.5 .5-1.5 0-.5 0-.5 .5-.5-.5 1-.5 1 0 .5-.5zM250.5 133.5l-2 .5 0-1 .5 0 0-.5 .5 .5 1 0 0 .5zM325.5 125l1 0 .5 0 .5 0 1 0 0 1-.5 .5 0 .5-.5 0-.5 .5-.5 0-.5 0-.5-1 0-.5-1-1 0-.5 1 .5zM353 125l0 .5 1-.5 0 .5 0 .5-1 1-.5 .5 .5 .5-.5 0-1 0-.5 1-.5 1-.5 .5-.5 0-1 0-.5 0-1.5-.5 .5-1 1.5-1 .5 0 .5-.5 1-.5 .5-.5 .5-.5 .5-.5 0-.5 1-.5 0 .5zM354.5 120l1 1 0-.5 .5 .5 0 .5 1 .5 .5 0 .5-.5 .5 0 0 1-.5 .5-1 0 0 .5 0 .5-.5 .5-.5 1-1 0-.5 0 .5-1 0-.5-1-.5 0-.5 .5 0 0-1 0-.5 0-1-.5-.5-1-1-.5-.5 .5 0 .5 .5 1 .5 0 .5zM347 106l-.5 .5-.5-.5-.5-.5-.5-.5-1-.5 0-.5 .5 0 .5 .5 .5 .5 .5 0 .5 .5 .5 .5zM358.5 101.5l0 .5-.5 .5-.5-.5 0-.5 .5 0 .5 0zM0 100.5l-.5 .5-1 0 0-.5 .5 0 .5 0 .5-.5 0 .5zM360 100.5l-.5 .5-1 0 0-.5 .5 0 .5 0 .5-.5 0 .5zM348 100.5l-.5 0-.5-.5 1 .5zM347 99l.5 .5-.5 0-.5 0 0-1 .5 .5zM230 97.5l0 1.5 .5 0 0 .5-.5 .5 0-.5-.5 0 .5 1 0 .5-.5 0 0 1-.5 1-.5 1.5-.5 2-.5 1.5-.5 1-.5 0-1 .5-.5 0-1-.5 0-.5-.5-1 0-.5 0-1 0-.5 .5-.5 .5-1 0-.5-.5-.5 0-.5 0-1 .5-.5 0-1 .5 0 .5 0 .5 0 .5 0 .5-1 .5-.5 .5-.5 0-.5 .5 .5 .5-1 0-.5 0-.5 .5 .5 .5 .5 0 .5zM323.5 98l.5 .5 .5-.5 .5 .5 .5 .5 0 .5 0 1 0 .5 .5 0 0 1 0 .5 .5 .5 1 .5 .5 .5 1 .5-.5 0 1 1 0 1 .5-.5 .5 .5 .5 1 .5 .5 .5 .5 1 1 0 .5 0 .5 0 1 .5 .5 0 1 0 .5-.5 1 0 .5 0 .5-.5 1-1 .5 0 1-.5 .5-.5 .5 0 .5-.5 1 0 .5 0 .5-.5 .5-1 0-1 0-.5 .5-.5 .5-1-.5-.5 0 0-.5-.5 0-1 1-1-.5-.5 0-.5 0-1-.5-.5-.5 0-1-.5-.5-.5-.5-1 0 .5-.5-.5-.5-.5 .5-.5 .5 .5-1 0-.5 .5-.5 0-.5-1 1-.5 0-.5 1-1-.5 0-.5-.5-1-.5 0 .5-.5-1.5-.5-.5 0-1-.5-2 0-1.5 .5-1 .5-1-.5-1 .5-1 .5 0 .5-.5 .5-.5 0-1 0-.5 0-1 0-.5 0-.5 .5-.5 0-.5 0-.5 .5-.5 0-1 0-1-.5-.5-.5 0-.5 .5 0 0-.5 .5-1-.5-.5-.5-1 0-.5 0-.5-.5-.5 0-.5-.5-.5 0-.5-.5-1 0-.5 .5 .5-.5-1 .5 .5 0 .5 0-.5-.5-1 0-.5 0-.5 0-.5 .5-.5-.5-.5 .5-.5 0 .5 .5-.5 1-.5 .5-.5 .5-.5 .5 0 .5 0 .5 0 1 0 0-.5 .5 0 .5 0 1-.5 .5-.5 0-.5 .5-.5 .5 0 0-.5 .5-1 .5 1 .5-.5-.5-.5 .5-.5 .5 .5 0-1 .5-.5 0-.5 .5 0 0-.5 .5 .5 0-.5 .5 0 .5 0 1 .5 .5 .5 .5 0 .5 0 0-.5 .5-1 .5 0-.5-.5 .5-.5 .5-.5 .5 .5 1-.5 0-.5-.5 0 .5-.5 .5 .5 .5 .5 1 0 1 0 .5 0 .5 0 .5 .5-.5 .5 0 .5-.5 0 0 .5-.5 .5 0 .5 1 .5 .5 .5 .5 0 1 1 .5 0 .5 .5 .5 0 1 0 0-.5 .5-.5 0-.5 0-1 0-.5 0-1 0-.5 .5-.5-.5 0 .5-.5 0-.5 0-.5 .5-.5 .5 .5 0 1 0 .5 .5 .5 0 .5 0 .5zM342 94.5l.5 .5-1 0 0-1 .5 .5zM300.5 94l0 .5-1.5-1 1 0 .5 0 .5 .5-.5 0zM341 94l-.5 0-.5 0-.5-.5 0-.5 1 .5 .5 .5zM341.5 93.5l0 .5-.5-1-.5-.5 .5 0 .5 .5 0 .5zM304.5 94l-1 .5 0-.5 .5-.5 1-.5 0-.5 1 0 .5 0 .5 0 .5 0-.5 0-1 .5-1 .5-.5 .5zM298 92l.5 .5 .5 0-1 .5-.5 0-1 0 .5-.5 .5 0 .5-.5zM303 92l0 .5-1.5 .5-1.5 0 0-.5 .5-.5 1 .5 .5 0 1-.5zM340 92.5l-1-.5-.5 0-.5-.5 .5 0 .5 0 .5 .5 .5 .5zM337.5 91.5l-.5-.5-.5 0 0-.5 .5 .5 .5 .5zM288.5 91l2 0 .5-.5 1.5 .5 .5 .5 1.5 .5 1 .5-1 .5-1-.5-1 0-1 0-1-.5-1-.5-1 0 0 .5-2-.5 0-.5-1 0 .5-1 1.5 0 .5 .5 .5 0 0 .5zM314.5 90l-.5 1 0-1 .5 0 0-.5 0 .5zM336 91l-.5 0-.5-.5-.5-.5 0-1 .5 .5 .5 .5 .5 .5 0 .5zM332 89.5l-.5 0 0 .5-.5 0-1 .5-.5 0-.5-.5-.5-.5 1 0 .5 0 0-.5 0 .5 1 0 0-.5 .5 0 0-1 .5 0 .5 .5 0 .5-.5 .5zM307 87.5l0 .5-1-.5 0-.5 1 0 0 .5zM310.5 87l.5 1-1-.5-1 0-.5 0-.5 0 0-.5 1.5 0 1 0zM333 88.5l0 .5-.5-1-.5-.5-.5-.5-1-.5 .5 0 .5 .5 .5 0 .5 .5 .5 .5 0 .5zM314 85l.5 2 1 .5 1-1 1-1 1 0 .5 .5 1 .5 1 0 1.5 1 2 .5 1 .5 .5 .5 0 .5 1.5 .5 .5 .5-1 0 0 1 1 .5 .5 1 1 0 0 .5 .5 0-.5 .5 1.5 .5-.5 0-.5 0-1 0-1-.5-1-.5-.5-.5-.5-1-1.5-.5-.5 .5-.5 0 0 1-1 .5-.5-.5-1 0-1-.5-1-.5 0 .5-1.5 0 .5-1 .5 0 0-1.5-.5-.5-2-1-1 0-1.5-1 0 .5-.5 0 0-.5-1-.5 1-.5 1 0-.5-.5-1.5 0 0-.5-1 0-.5-.5 1.5-.5 .5 0 1.5 .5zM305 82.5l-.5 1-1 .5-1-.5-1.5 0-1 .5 0 .5 1 1 .5-.5 2-.5 0 .5-.5 0-.5 .5-1 .5 1 1 0 .5 .5 1 0 1-.5 0-.5 0 .5-1-1 .5 0-.5 0-.5-.5-.5 0-1-.5 .5 0 1 0 1.5-.5 0-.5 0 0-1 0-1-.5 0 0-.5 0-1 .5-.5 .5-1.5 0-.5 1-1 .5 .5 1.5 0 1 0 1-.5zM308.5 83l0 .5-.5 0 0 1 .5 .5-.5 0-.5-.5 0-1.5 0-1 .5 0 0 .5 .5 0 0 .5zM286 90l-1.5 0-.5-1-1.5-1-.5-.5-.5-.5-.5-1-1-1.5-.5-.5-.5-1-.5-1-1-.5-.5-1-.5-.5-1-1 0-.5 .5 0 1.5 .5 1 .5 .5 1 .5 .5 1 1 1 0 1 .5 .5 1 1 .5-.5 .5 .5 .5 .5 0 0 1 .5 .5 .5 0 .5 .5 0 1.5 0 1.5zM298 82l1 1-1 0-.5 1 0 1-1 .5 0 1-.5 1.5 0-.5-1 .5-.5-.5-.5 0-.5-.5-1.5 .5-.5-.5-.5 0-1 0 0-1.5-.5 0-.5-1 0-1 0-1 .5-.5 1 .5 .5-.5 .5-.5 .5-.5 1 0 .5-1 .5-.5 .5-.5 1-.5 .5-.5 .5-1 .5 0 .5 .5 0 .5 1 .5 .5 0 0 .5-.5 0 0 .5-.5 .5-.5 1 .5 .5 0 .5zM306.5 75.5l0 .5 0 1-.5 .5 0-1-.5 .5 0 1 0 .5-1.5-.5 0-1 0-.5-.5-.5 0 .5-.5 0-1 .5 .5-1 .5-.5 .5 0 .5 .5 .5-.5 .5-.5 .5 0 0-1 .5 .5 .5 .5 0 .5zM261 78l-.5 0-.5-1-.5-1 .5-2 1 .5 .5 1 .5 1-.5 1-.5 .5zM119 74l-1 0 .5-.5 0-.5 .5 0 0 1zM304 73.5l-.5 .5 0 .5-.5 .5-.5-.5 0-.5 .5-.5 0-.5 .5 0 0 .5 .5-.5 0 .5zM298.5 74.5l-1.5 1 .5-.5 1-.5 .5-1 .5-1 0 1-.5 .5-.5 .5zM302 72l.5 .5 .5 0 0 .5-.5 .5-.5 0 0-.5 0-.5 0-.5zM305.5 72l.5 1-1-.5 0 .5 .5 .5-.5 .5 0-1-.5 0 0-.5 .5 0 0-.5-.5-.5 .5 0 .5 .5zM301.5 71l0 1-.5-.5-.5-1 .5 0 .5 .5zM301.5 65.5l.5 .5 0-.5 .5 .5-.5 0 .5 1 0 .5-1 .5 0 1 0 .5 1 .5 0-.5 1.5 .5 0 1 0 .5-.5-.5-.5-.5-.5 .5-.5-1-1 .5-.5-.5 0-.5 .5 0-.5-.5 0 .5-.5-.5 0-.5 0-1 .5 .5 0-1.5 0-1 1 0zM114.5 66l-.5 0-.5 0-.5 0 0-.5 .5 0 .5 0 .5 .5zM103 66l0 .5-1-.5-.5 0 .5-.5 .5 0 .5 0 .5 .5 .5 0-1 0zM107.5 64l1 .5 0-.5 .5 0 1 .5 1 0-.5 .5 .5 0 .5 .5 0 .5-.5-.5-.5 0-.5 0 0 .5-.5 0 0-.5-.5 0-.5 1 0-.5-1 0-.5 0-.5 0-.5 0-.5-.5 1 0 1 0-.5-.5 0-.5-.5 0 .5-.5 .5 0zM290.5 65.5l-1 .5-1-.5 0-1 .5-.5 1 0 1 0 0 .5-.5 0 0 1zM24.5 65l-.5 0 0-.5 0-.5 0-.5 0 .5 .5 0 .5 0 0 .5 0 .5-.5 0zM24 63.5l-.5 0 0-.5 .5 0 0 .5zM23 63l-.5 0 .5 0zM22.5 62.5l-.5 0-.5 0 .5 0 .5 0zM20.5 62l-.5 0 .5 0zM100.5 61l0 .5 1 0 .5 0 1 1 .5 .5 .5 0 .5 0 0 .5 .5 0 1 0-.5 .5-.5 0-.5 0-1 0-1.5 0 1-.5-.5 0-.5 0-.5-.5 0-.5-1 0-.5-.5-.5 0-1.5 0 0-.5-1 0-.5 .5-.5 0-.5 0-.5 0 .5 0 .5-.5 0-.5 .5 0 1 0 1 0 1 0 1 0zM102.5 60l-.5 .5 0-1-.5 0 .5-.5 .5 .5 0 .5zM301 61l-.5 1-.5-1 0-.5 .5-1 1-1 .5 .5 0 .5-1 1.5zM102 57.5l-1 0 0-.5 .5 0 .5 0 0 .5zM103 57.5l0 .5-.5 0 0-.5-.5-.5 1 .5zM314.5 50l.5 0-1 1 0-.5-.5 0-.5 1-.5-.5 0-.5 .5-.5 .5 0 .5-.5 .5 .5zM214.5 48.5l-.5 .5-1 .5-.5 0 0-.5 .5 0 0-.5 .5 0 1 0zM203.5 48.5l.5 0 1 0 1 0-.5 .5 1-.5-.5 .5-1.5 0-1-.5zM195.5 46l-.5 .5 .5 .5-.5 .5-.5-.5-.5 0-1.5-.5 0-.5 1 0 1.5 0 .5 0zM189 43l1 .5-.5 1.5-.5 0-.5 0 0-1.5-.5-.5 .5 0 .5 0zM321 47l-.5 .5 .5 .5-.5 1-1.5 .5-2 0-1 1-1-.5 0-.5-1.5 0-1.5 .5-1 0 1 1-.5 1.5-1 .5-.5-.5 .5-1-.5 0-.5-1 1 0 .5-.5 1-1 .5-.5 2 0 1 0 1-2 1 .5 1.5-1 .5 0 .5-1.5 0-1 .5-.5 1-.5 .5 1.5 0 1-1 1 0 1zM189.5 42l-.5 .5-.5-1 1-.5 0 1zM324 40l.5 0 1-.5 0 1-1.5 .5-1 1-1.5-.5-.5 1-1 0 0-1 .5-1 1 0 0-1.5 .5-.5 1 1 1 .5zM116.5 37.5l.5 0 1 0-.5 .5-.5 0-1-.5-.5 0 .5-.5 .5 .5zM118 35l-.5 0-1-.5-1-.5 .5 0 1 .5 1 0 0 .5zM56.5 35.5l-.5 0-1.5-.5-.5 0-1-.5 0-.5-1 0-.5-.5 0-.5 1 .5 1 0 .5 0 .5 .5 .5 .5 1 .5 .5 .5zM124 33.5l-1 .5 1 0 .5 0-.5 .5 1 0 .5 0 1 .5-.5 .5 1 0 0 .5 .5 .5-.5 1-.5 0-.5-.5 0-.5 0-.5-1.5 1-.5 0 .5-.5-1 0-1 0-2 0 0-.5 .5-.5 .5-.5 1-1.5 1-1 .5 0 .5 0-.5 1zM47.5 30l1 0-.5 1 1 1-.5 0-.5-.5-.5-.5-.5-.5 0-.5 .5 0zM323.5 33.5l1 1.5-1.5-.5-.5 1.5 1 1 0 1-1-.5-.5 .5 0-1 0-1 0-1 0-.5 0-1.5-.5-1 0-1.5 1-.5-.5 0 .5-.5 .5 1 .5 1-.5 .5 .5 1.5zM173 31.5l-1.5 1-1.5-.5 1-1-.5-1 1-.5 1-.5 1 0 1 .5-.5 .5 0 1-1 .5zM192.5 28.5l-.5 .5-1-.5 0-.5 1.5 0 0 .5zM27 27l-1 .5-.5-.5 0-.5 .5-.5 1 0 .5 0 .5 .5-1 .5zM177 25.5l-1 1 1 0 1 0 0 .5-1 1 1 0 1 1.5 .5 0 .5 1 .5 .5 1 .5 0 .5-.5 0 .5 .5-1 .5-1.5 0-1.5 .5-.5 0-.5 .5-1-.5-.5 .5-1 0 1.5-1 1-.5-1.5 0-.5-.5 1.5-.5-1-.5 .5-.5 1.5 0 0-.5-.5-.5-1.5-.5 .5-.5-.5-.5-.5 .5 0-1-.5-.5 0-1 1-.5 1 0 1 0zM14.5 24l-.5 0-1 0-.5 0 1-.5 1 0 0 .5zM100.5 22l0 .5-.5 0-.5-.5 .5-.5 .5 0 0 .5zM98 21.5l-1 .5-1 0 0-.5 1-.5 1 0 0 .5zM8.5 20l.5 .5 .5 0 1 0 1 0-.5 .5-.5 0-1 0 0-.5-1 0-.5 0 .5-.5zM95 18.5l0 .5 .5-.5 .5 .5 1 0 1.5 .5 0 .5 .5 0 1 .5-1 0-1.5 0-.5-.5-1 .5-1.5 .5-.5-.5-1 0 .5-.5 .5-1 0-.5 1 0zM165.5 17.5l0 .5 1 1-1.5 .5-3 1-.5 0-1.5 0-3-.5 1-.5-2-.5 2 0 0-.5-2.5 0 1-1 1.5 0 1.5 1 1.5-1 1 .5 2-.5 1.5 0zM104 17l-1 0 0-.5 0-.5 1-.5 1 .5 0 .5-1 .5zM0 15l2.5 1 2.5 1 0 .5 .5 0 0-.5 2.5 0 2 1-1 .5-1.5 0 0 1-.5 0-1 0-.5 0-1.5-.5 0-.5-1 0-1.5 0-.5 0 .5-.5-1.5 0 .5 .5-.5 .5-1.5 .5-1 0 1 .5 .5 .5 .5 .5 0 .5-.5 0-1.5 0-3 .5-1 .5-1.5 .5-1.5 .5 0 .5-1.5-.5-2.5 .5-.5 0-1 .5-1.5-.5-.5 1-1 1 1 .5 0 1.5-1 0-.5 .5 .5 .5-1.5 .5-.5 1.5-1.5 0-.5 1-1 1-.5-.5-.5-1.5-.5-2.5 .5-1.5 1-.5 0-.5 1.5 0 1.5-1.5 2-1 1.5-.5 1-1.5-1 0-1 1-2.5 1-.5-1.5-3 .5-2.5 1.5 1 1-2 0-1.5 0 0-.5-1.5 0-1.5 .5-3-.5-3.5 .5-3 2-4 2.5 1.5 0 .5 .5 1 0 1-.5 1 .5 1.5 1 0 1-1 1 0 1-.5 1.5-1.5 1.5-.5 .5-1 1.5-1.5 1-.5 .5-1.5 .5-.5 0-.5-.5-1.5 1 0 .5-.5-.5-.5 .5-.5 .5 0 .5-.5 .5-.5 .5-.5 0-.5 0 0 .5 0 .5 .5 0 .5 .5 .5 1 .5 .5 0 1.5-.5 .5-1 0-.5 .5-1 0 0-.5 0-.5-.5-1 1-.5-1-.5-.5-.5 0 .5-.5-.5-.5 0 .5-.5 0-.5 .5-.5-1 0 0-.5-1.5 .5-1 .5-1 0 .5-.5 0-.5 .5-.5-.5-.5-.5 .5-1.5 .5-.5 .5-1 .5-.5 .5 .5 .5 1 0 0 .5 .5 .5 1.5-1 .5 .5 1 0 0 .5-1.5 .5-.5 .5-1 .5-.5 .5 1 .5 .5 1 .5 1 1 1 0 .5-.5 .5 0 .5 .5 0 0 1-.5 1-.5 0-.5 1-1 1.5-1 1-1 1-1.5 .5-1 .5-1 .5 0-.5-1 .5-1 .5-1 0-.5 1-.5 0-.5-.5 .5-.5-1.5 0-.5 0-1.5 1-.5 .5-.5 1 1 1 1 1.5 1 .5 .5 .5 .5 2-.5 2-.5 .5-1.5 .5-.5 1-1.5 1 0-.5 0-1-.5-.5-1 0-.5-.5-.5-1-1-.5-.5 0 0-1-1 0 0 1-.5 1.5-.5 1 0 1 1 0 .5 .5 0 1 .5 .5 .5 .5 .5 .5 .5 0 .5 .5 .5 .5 0 1 0 .5 0 .5 .5 .5 0 1-.5 .5-1-1-1-1 0-.5-1-.5 0-1-.5-.5 .5-.5-.5-.5-.5-.5 0-.5-.5-.5-.5-.5 0 .5-.5-.5 .5-.5 0-1 0-.5 .5-1-.5-.5 0-1-.5-.5 0-1.5-.5-1-.5-1-.5 .5-1 1-.5-.5-1 0 .5-1.5 0-.5-1-1.5-.5-.5-.5-.5-.5-.5 0-.5 0-.5-.5-1-1 0 0 .5 0 .5-.5 0-.5 0-.5 0 0 .5-1 0-1 0 0 1-.5 .5-1.5 .5-1 1-1 1-1 .5 0 .5-.5 0-.5 .5-.5 0-.5 1 0 1 .5 1-.5 1 0 1.5-.5 0-.5 1 0 .5-.5 0-.5 .5-.5 .5-1-1-.5-1.5-.5-1 0-.5-.5-.5-.5-1.5 0-.5-1-1.5-.5-2 0-1 0-1.5-.5-1-1.5 .5-.5 0-1.5-1 .5-.5 0-.5-1.5-.5-.5-.5-.5-.5-.5-1-2 .5-1.5 0-1.5 0-2-.5-1 0-1 0-.5-1.5-.5 0-1 0-1 .5-1-.5-1-.5-1-.5-.5-1-1-1-.5 0-.5-.5-.5 .5-.5 0 0 .5 .5 1 .5 1 .5 0 0 .5 .5 .5 0 .5 0 .5 .5 0 0 .5 .5 0-.5-.5 .5-.5 .5 0 0 1 0 .5 0 .5 .5-.5 0 .5 .5 0 1 0 .5 0 .5-1 1-.5 .5-.5 .5-.5 0 .5 0 .5 0 .5 .5 1 .5 0 .5 .5 .5 0 .5 .5 .5 .5 .5 0-.5 1-.5 .5-.5 .5-.5 0 0 .5-.5 .5 .5 .5-.5 0-.5 0-.5 .5 0 .5-1 0 0 .5 0 .5-.5 0-1 0-.5 .5-.5 0-.5 0-.5 .5 0 .5-1 .5-1.5 .5-1 .5-.5 0-.5 .5-1 0-.5 0-.5 0 0 .5-.5 0 0 .5-.5 0-.5 0-.5 0-.5-.5 .5-1-.5 0 0-1-.5 0 .5-.5-.5 0 .5-.5 0-.5-.5-.5 0-.5-.5-.5-1-.5 0-1-1-.5 0-.5-1-1 0-.5 0-.5-.5-1-.5-.5-.5-.5-.5-.5 0-.5-.5-.5 0-.5-1-1-.5-.5-.5 0 .5-.5 0-.5 0-.5-.5 .5 0 .5-.5 .5 0 .5-.5-.5-.5-.5-.5-1.5 0 1.5 1 1 .5 1.5 .5 .5 .5 .5 .5 1 0 1 1 1 .5 0 0 1 0 1 .5 1.5 .5 0 .5 .5 .5 1 .5 1 .5 .5 1 1 .5 .5 1 .5 0 .5 .5 .5 .5 0 0 .5-1 .5 .5 0 .5 0 0 .5 .5 .5 .5 0 1 0 1-.5 1 0 .5 0 .5-.5 .5 0 .5 0 1 0 0-.5 .5 0 0 .5 0 .5 0 .5-.5 1.5-.5 1-.5 1-1 1.5-1 1.5-1 1-1 1-1.5 1-1 .5-1 1.5 0 .5-.5 0-.5 .5-.5 .5-.5 1-.5 1-.5 0-.5 1.5 .5 .5 .5 .5-.5 .5 .5 .5-.5 .5 .5 .5 .5 1 .5 .5 0 .5 0 1 0 .5 0 1.5 .5 .5-.5 1-.5 .5-.5 .5-1 .5-1 .5-1 1-.5 .5-1 .5 0 .5-.5 .5 .5 1 .5 .5 0 1 0 .5 0 .5-.5 .5-1 .5-1 .5-.5 0 0 .5 .5 0 0 .5-.5 1 0 1-.5 .5-.5 .5-.5 .5-.5 .5-.5 .5-1 1-1 1-.5 0-1 .5-.5 0 0 .5-1 0-.5 0-1 0-.5 0-.5 0-1 .5-1 0-.5 .5-.5 0-.5-.5-.5-.5-.5 0 .5-.5-.5-1 0-1-.5-1-.5-.5-.5-1.5-1-.5-.5-1 0-1-.5-.5 0-1.5 0-1.5 0-.5-.5-.5-.5-.5-.5-1.5-.5-.5-.5-1-.5-.5 0-1 .5-.5 0-1 0-.5 .5-1 0-.5 1-.5 0-.5 0-.5 0-1-.5-.5 0-1 0-.5 0-1-.5-.5-.5-.5 .5-.5-.5 0 0-1-1-1-1-1-.5-1-.5-1 0-.5 .5-1 0-.5 0-1.5 .5-.5-.5-.5-.5-.5-.5-.5 0-.5-1 .5-.5 0-.5 .5-.5-.5-.5-.5-.5-.5-.5-1-1 0-1 0-.5 .5-1 0-1.5 .5-.5 .5-1 .5-1-.5-.5 0-.5 0-.5 0-1.5 0-.5 .5-1 0-.5 0-1-.5-1-.5-1-.5-.5-1-1-.5-.5-.5 0-1-.5-.5-.5-.5-.5 0 0-.5-.5-.5-.5-.5-.5 0-.5-.5 0-.5-.5-.5 .5-.5-.5-1-.5 0 .5-.5 .5-.5 0-.5 0-.5 0-.5 .5-1-.5-1 0-.5 0-.5 0-.5-.5-.5 0-.5 0-.5 .5 0 0-.5 0-.5 .5-.5 .5-1 .5 0 0-.5 0-.5 .5-1 .5 0 1-1 .5-.5 1 0 .5-1 .5 0 1-1-.5-1 .5-1 0-.5 1-.5 1-.5 .5-.5 1-1 0-1 1 0 .5 .5 1 0 1 .5 .5 0 1-.5 1-.5 .5-.5 1 0 1.5-.5 2 0 .5 .5 1-.5 1 0 1 0 1-.5 .5 .5 0 .5 1-.5-.5 .5 0 .5 .5 .5 0 .5-1 .5 .5 .5 .5 0 0 .5 .5 .5 1 0 .5 0 1 .5 1 0 .5 1 1 .5 1.5 0 1 .5 .5 0 .5-.5 0-1 1-.5 .5-.5 1.5 .5 0 .5 .5 0 .5 0 1 0 0 .5 1.5 0 1 0 1 .5 .5 0 .5 0 .5-.5 1 0 .5 0 .5 .5 0-.5 1 .5 1 0 .5 0 0-.5 .5-.5 0-1 .5-1 .5-.5 0-1 0-.5 0-.5-.5 0-1-.5-.5 1-1.5 0-1-.5-1 0-1 .5-1-.5-1 0-.5-1-.5-.5 .5-1-1-.5 1.5-1 1.5 0 0-.5 2 0 1.5-.5 1-.5 1.5 0 2 .5 1.5 .5 1 0 1 0 1-.5 0-.5 0-.5-.5-.5-.5 0-.5-.5-1.5-1-1 0-1-.5 1-.5 .5-.5-.5-.5 1.5-.5 0-.5-1 .5-.5 0-.5 .5-1 0-1 0 0 1 .5 0 1 0 0 .5-1.5 0-1 .5-.5 0 0-.5-1-.5 1-.5-2-.5-1 0 0 .5-1 .5 0 .5-.5 0-.5 1.5-.5 0-.5 1 .5 .5 0 .5 1 0 0 .5-1.5 0-.5 .5-.5 .5-.5-.5 0-.5-.5 0-.5 0-1.5 .5 1 .5-.5 0-.5 0-.5-.5-.5 0 .5 1 .5 .5-.5 0 .5 .5 .5 .5 0 .5-1-.5 .5 .5-.5 0 0 1-.5 0-1-.5 0-.5-.5-1-.5-.5-.5-.5 0-.5-.5-.5 0-1 0-.5-.5 0 0-.5-.5 0-1-.5-.5 0-1-.5-1-.5 .5-.5-.5 0 0-.5-.5 0-.5 0-.5 0 0-.5 .5 0-1 0-.5 0 0 .5 0 .5 0 .5 1 .5 .5 .5 1 1 1 0 0 .5 1 .5 .5 0 1 .5 0 .5-1-.5-.5 0-.5 .5 .5 .5 0 .5-.5 0-.5 1-.5 0 .5-1-.5-.5 0-.5-.5 0-.5-.5-.5-.5-.5 0-.5-.5-1 0-1-1-.5-.5-.5-1-.5 0-.5-.5-.5 .5-.5 0-.5 .5-1 .5-2-.5-1.5 .5 0 .5 0 .5-1 1-1 0-.5 .5-.5 .5-.5 .5 .5 1-.5 0 0 1-1 0-.5 1-1.5 0-1 0-.5 0-.5 .5-.5 0 0-.5-.5-.5-1 0-.5 0-.5 0-.5 0 .5-.5-.5-1-.5 0 0-1 .5-.5 0-1 0-.5 0-.5 0-.5-.5-.5 1.5-.5 1 0 1.5 0 1 0 1 0 1.5 0 .5-.5 .5-2-1-1-1-.5-1.5-.5 0-.5 1-.5 2 .5-.5-1.5 1 .5 2.5-.5 0-1 1 0 1-.5 .5 0 .5-1.5 1.5-.5 1 0 1 0 1-.5-.5-.5 0-.5-.5-.5 0-1 .5-.5 1 0 .5-.5 .5 0 0 .5 0 .5 .5 0-.5 .5-1 .5 .5 .5 0 .5 1 0 0 .5 1 0 .5-.5 1 .5 .5 0 1 0 1.5-.5 1-.5 1 .5 1 0 .5-.5 1.5 0-.5-1 0-1 .5-.5 1-.5 1 1 .5 0 .5-1 0-.5-.5 0-.5 0 0-.5 1-.5 1.5 0 1 0 1 0 1-.5-1-.5-1.5 0-2 .5-1.5 0-.5-.5-1 0 0-1-.5-1 .5-.5 1-1 2-1 1 0 0-.5-1.5-.5-2 .5-1 .5 .5 .5-1.5 1-2 1-1 1 1 1 1 .5-1 1-1 .5-.5 1.5-.5 1-1.5 0-.5 .5-1 0-.5-1-.5-1-1-1.5-.5-.5-2 1-1.5 .5-1.5-.5 0-1-.5-2.5 1-.5 2.5-1 2-1 2-1.5 2.5-2 1.5-.5 2.5-1.5 2.5-.5 1.5 .5 1.5-1 2 0 1.5 0 3.5 .5-1.5 .5 1 .5 1-.5 2 .5 2.5 .5 4 1 .5 .5 0 .5-1 .5-1.5 .5-4.5-1-1 .5 2 .5 0 1.5 1 .5 1 0 0-.5-.5-.5 .5 0 2.5 .5 1-.5-.5-.5 2-1 1 0 1 .5 .5-1-1-.5 .5-.5-.5-.5 3 .5 .5 .5-1.5 0 0 .5 1 .5 1.5-.5 0-.5 2-.5 3.5-1 1 0-1 1 1 0 1-.5 2 0 1.5-.5 1 .5 1-.5-1-.5 .5-.5 3 .5 1.5 .5 3.5 1 .5-.5-1-.5 0-.5-1 0 .5-.5-1-.5 0-.5 2-1 .5-1 1 0 2.5 0 .5 1-1 .5 .5 .5 .5 .5-.5 1.5 1 .5-.5 1-1.5 1 1 .5 .5-.5 1-.5 0-.5 1-.5-.5-.5 .5-.5-1 0-.5-.5 1-1-1.5-1 2-.5-.5-1 .5 0 .5 .5 0 1 1 .5-.5-1 1.5-.5 2 0 2 1-1-1 0-1 2-.5 2 0 2.5 0-1-.5 1-.5 1.5 0 2-.5 2.5-.5 3 0 .5 0 2.5-.5 2 0 0-.5 1-.5 2.5 0 1.5 0-1.5 .5 2.5 0 0 .5 1 0 3 0 2.5 .5 .5 0 0 .5-1 .5-3 .5-.5 .5 1 0 1.5 0 1 0 .5 .5 .5 0 1.5-.5 3.5 .5 0 .5 4 0 .5-.5 2 0 1.5 0 1.5 .5 .5 .5-.5 .5 1 1 2 0 1-1 1.5 .5 1.5 0 2 0 .5 0 2 0-1-1 1.5-.5 9 1 1 .5 2.5 .5 4 0 2 0 1 .5-.5 1 1.5 0 1.5 0 1.5 0 2 0 2 0 1.5 1 1.5-.5-1-.5 .5-.5 3 0 2 0 3 .5 1.5 .5zM360 15l2.5 1 2.5 1 0 .5 .5 0 0-.5 2.5 0 2 1-1 .5-1.5 0 0 1-.5 0-1 0-.5 0-1.5-.5 0-.5-1 0-1.5 0-.5 0 .5-.5-1.5 0 .5 .5-.5 .5-1.5 .5-1 0 1 .5 .5 .5 .5 .5 0 .5-.5 0-1.5 0-3 .5-1 .5-1.5 .5-1.5 .5 0 .5-1.5-.5-2.5 .5-.5 0-1 .5-1.5-.5-.5 1-1 1 1 .5 0 1.5-1 0-.5 .5 .5 .5-1.5 .5-.5 1.5-1.5 0-.5 1-1 1-.5-.5-.5-1.5-.5-2.5 .5-1.5 1-.5 0-.5 1.5 0 1.5-1.5 2-1 1.5-.5 1-1.5-1 0-1 1-2.5 1-.5-1.5-3 .5-2.5 1.5 1 1-2 0-1.5 0 0-.5-1.5 0-1.5 .5-3-.5-3.5 .5-3 2-4 2.5 1.5 0 .5 .5 1 0 1-.5 1 .5 1.5 1 0 1-1 1 0 1-.5 1.5-1.5 1.5-.5 .5-1 1.5-1.5 1-.5 .5-1.5 .5-.5 0-.5-.5-1.5 1 0 .5-.5-.5-.5 .5-.5 .5 0 .5-.5 .5-.5 .5-.5 0-.5 0 0 .5 0 .5 .5 0 .5 .5 .5 1 .5 .5 0 1.5-.5 .5-1 0-.5 .5-1 0 0-.5 0-.5-.5-1 1-.5-1-.5-.5-.5 0 .5-.5-.5-.5 0 .5-.5 0-.5 .5-.5-1 0 0-.5-1.5 .5-1 .5-1 0 .5-.5 0-.5 .5-.5-.5-.5-.5 .5-1.5 .5-.5 .5-1 .5-.5 .5 .5 .5 1 0 0 .5 .5 .5 1.5-1 .5 .5 1 0 0 .5-1.5 .5-.5 .5-1 .5-.5 .5 1 .5 .5 1 .5 1 1 1 0 .5-.5 .5 0 .5 .5 0 0 1-.5 1-.5 0-.5 1-1 1.5-1 1-1 1-1.5 .5-1 .5-1 .5 0-.5-1 .5-1 .5-1 0-.5 1-.5 0-.5-.5 .5-.5-1.5 0-.5 0-1.5 1-.5 .5-.5 1 1 1 1 1.5 1 .5 .5 .5 .5 2-.5 2-.5 .5-1.5 .5-.5 1-1.5 1 0-.5 0-1-.5-.5-1 0-.5-.5-.5-1-1-.5-.5 0 0-1-1 0 0 1-.5 1.5-.5 1 0 1 1 0 .5 .5 0 1 .5 .5 .5 .5 .5 .5 .5 0 .5 .5 .5 .5 0 1 0 .5 0 .5 .5 .5 0 1-.5 .5-1-1-1-1 0-.5-1-.5 0-1-.5-.5 .5-.5-.5-.5-.5-.5 0-.5-.5-.5-.5-.5 0 .5-.5-.5 .5-.5 0-1 0-.5 .5-1-.5-.5 0-1-.5-.5 0-1.5-.5-1-.5-1-.5 .5-1 1-.5-.5-1 0 .5-1.5 0-.5-1-1.5-.5-.5-.5-.5-.5-.5 0-.5 0-.5-.5-1-1 0 0 .5 0 .5-.5 0-.5 0-.5 0 0 .5-1 0-1 0 0 1-.5 .5-1.5 .5-1 1-1 1-1 .5 0 .5-.5 0-.5 .5-.5 0-.5 1 0 1 .5 1-.5 1 0 1.5-.5 0-.5 1 0 .5-.5 0-.5 .5-.5 .5-1-1-.5-1.5-.5-1 0-.5-.5-.5-.5-1.5 0-.5-1-1.5-.5-2 0-1 0-1.5-.5-1-1.5 .5-.5 0-1.5-1 .5-.5 0-.5-1.5-.5-.5-.5-.5-.5-.5-1-2 .5-1.5 0-1.5 0-2-.5-1 0-1 0-.5-1.5-.5 0-1 0-1 .5-1-.5-1-.5-1-.5-.5-1-1-1-.5 0-.5-.5-.5 .5-.5 0 0 .5 .5 1 .5 1 .5 0 0 .5 .5 .5 0 .5 0 .5 .5 0 0 .5 .5 0-.5-.5 .5-.5 .5 0 0 1 0 .5 0 .5 .5-.5 0 .5 .5 0 1 0 .5 0 .5-1 1-.5 .5-.5 .5-.5 0 .5 0 .5 0 .5 .5 1 .5 0 .5 .5 .5 0 .5 .5 .5 .5 .5 0-.5 1-.5 .5-.5 .5-.5 0 0 .5-.5 .5 .5 .5-.5 0-.5 0-.5 .5 0 .5-1 0 0 .5 0 .5-.5 0-1 0-.5 .5-.5 0-.5 0-.5 .5 0 .5-1 .5-1.5 .5-1 .5-.5 0-.5 .5-1 0-.5 0-.5 0 0 .5-.5 0 0 .5-.5 0-.5 0-.5 0-.5-.5 .5-1-.5 0 0-1-.5 0 .5-.5-.5 0 .5-.5 0-.5-.5-.5 0-.5-.5-.5-1-.5 0-1-1-.5 0-.5-1-1 0-.5 0-.5-.5-1-.5-.5-.5-.5-.5-.5 0-.5-.5-.5 0-.5-1-1-.5-.5-.5 0 .5-.5 0-.5 0-.5-.5 .5 0 .5-.5 .5 0 .5-.5-.5-.5-.5-.5-1.5 0 1.5 1 1 .5 1.5 .5 .5 .5 .5 .5 1 0 1 1 1 .5 0 0 1 0 1 .5 1.5 .5 0 .5 .5 .5 1 .5 1 .5 .5 1 1 .5 .5 1 .5 0 .5 .5 .5 .5 0 0 .5-1 .5 .5 0 .5 0 0 .5 .5 .5 .5 0 1 0 1-.5 1 0 .5 0 .5-.5 .5 0 .5 0 1 0 0-.5 .5 0 0 .5 0 .5 0 .5-.5 1.5-.5 1-.5 1-1 1.5-1 1.5-1 1-1 1-1.5 1-1 .5-1 1.5 0 .5-.5 0-.5 .5-.5 .5-.5 1-.5 1-.5 0-.5 1.5 .5 .5 .5 .5-.5 .5 .5 .5-.5 .5 .5 .5 .5 1 .5 .5 0 .5 0 1 0 .5 0 1.5 .5 .5-.5 1-.5 .5-.5 .5-1 .5-1 .5-1 1-.5 .5-1 .5 0 .5-.5 .5 .5 1 .5 .5 0 1 0 .5 0 .5-.5 .5-1 .5-1 .5-.5 0 0 .5 .5 0 0 .5-.5 1 0 1-.5 .5-.5 .5-.5 .5-.5 .5-.5 .5-1 1-1 1-.5 0-1 .5-.5 0 0 .5-1 0-.5 0-1 0-.5 0-.5 0-1 .5-1 0-.5 .5-.5 0-.5-.5-.5-.5-.5 0 .5-.5-.5-1 0-1-.5-1-.5-.5-.5-1.5-1-.5-.5-1 0-1-.5-.5 0-1.5 0-1.5 0-.5-.5-.5-.5-.5-.5-1.5-.5-.5-.5-1-.5-.5 0-1 .5-.5 0-1 0-.5 .5-1 0-.5 1-.5 0-.5 0-.5 0-1-.5-.5 0-1 0-.5 0-1-.5-.5-.5-.5 .5-.5-.5 0 0-1-1-1-1-1-.5-1-.5-1 0-.5 .5-1 0-.5 0-1.5 .5-.5-.5-.5-.5-.5-.5-.5 0-.5-1 .5-.5 0-.5 .5-.5-.5-.5-.5-.5-.5-.5-1-1 0-1 0-.5 .5-1 0-1.5 .5-.5 .5-1 .5-1-.5-.5 0-.5 0-.5 0-1.5 0-.5 .5-1 0-.5 0-1-.5-1-.5-1-.5-.5-1-1-.5-.5-.5 0-1-.5-.5-.5-.5-.5 0 0-.5-.5-.5-.5-.5-.5 0-.5-.5 0-.5-.5-.5 .5-.5-.5-1-.5 0 .5-.5 .5-.5 0-.5 0-.5 0-.5 .5-1-.5-1 0-.5 0-.5 0-.5-.5-.5 0-.5 0-.5 .5 0 0-.5 0-.5 .5-.5 .5-1 .5 0 0-.5 0-.5 .5-1 .5 0 1-1 .5-.5 1 0 .5-1 .5 0 1-1-.5-1 .5-1 0-.5 1-.5 1-.5 .5-.5 1-1 0-1 1 0 .5 .5 1 0 1 .5 .5 0 1-.5 1-.5 .5-.5 1 0 1.5-.5 2 0 .5 .5 1-.5 1 0 1 0 1-.5 .5 .5 0 .5 1-.5-.5 .5 0 .5 .5 .5 0 .5-1 .5 .5 .5 .5 0 0 .5 .5 .5 1 0 .5 0 1 .5 1 0 .5 1 1 .5 1.5 0 1 .5 .5 0 .5-.5 0-1 1-.5 .5-.5 1.5 .5 0 .5 .5 0 .5 0 1 0 0 .5 1.5 0 1 0 1 .5 .5 0 .5 0 .5-.5 1 0 .5 0 .5 .5 0-.5 1 .5 1 0 .5 0 0-.5 .5-.5 0-1 .5-1 .5-.5 0-1 0-.5 0-.5-.5 0-1-.5-.5 1-1.5 0-1-.5-1 0-1 .5-1-.5-1 0-.5-1-.5-.5 .5-1-1-.5 1.5-1 1.5 0 0-.5 2 0 1.5-.5 1-.5 1.5 0 2 .5 1.5 .5 1 0 1 0 1-.5 0-.5 0-.5-.5-.5-.5 0-.5-.5-1.5-1-1 0-1-.5 1-.5 .5-.5-.5-.5 1.5-.5 0-.5-1 .5-.5 0-.5 .5-1 0-1 0 0 1 .5 0 1 0 0 .5-1.5 0-1 .5-.5 0 0-.5-1-.5 1-.5-2-.5-1 0 0 .5-1 .5 0 .5-.5 0-.5 1.5-.5 0-.5 1 .5 .5 0 .5 1 0 0 .5-1.5 0-.5 .5-.5 .5-.5-.5 0-.5-.5 0-.5 0-1.5 .5 1 .5-.5 0-.5 0-.5-.5-.5 0 .5 1 .5 .5-.5 0 .5 .5 .5 .5 0 .5-1-.5 .5 .5-.5 0 0 1-.5 0-1-.5 0-.5-.5-1-.5-.5-.5-.5 0-.5-.5-.5 0-1 0-.5-.5 0 0-.5-.5 0-1-.5-.5 0-1-.5-1-.5 .5-.5-.5 0 0-.5-.5 0-.5 0-.5 0 0-.5 .5 0-1 0-.5 0 0 .5 0 .5 0 .5 1 .5 .5 .5 1 1 1 0 0 .5 1 .5 .5 0 1 .5 0 .5-1-.5-.5 0-.5 .5 .5 .5 0 .5-.5 0-.5 1-.5 0 .5-1-.5-.5 0-.5-.5 0-.5-.5-.5-.5-.5 0-.5-.5-1 0-1-1-.5-.5-.5-1-.5 0-.5-.5-.5 .5-.5 0-.5 .5-1 .5-2-.5-1.5 .5 0 .5 0 .5-1 1-1 0-.5 .5-.5 .5-.5 .5 .5 1-.5 0 0 1-1 0-.5 1-1.5 0-1 0-.5 0-.5 .5-.5 0 0-.5-.5-.5-1 0-.5 0-.5 0-.5 0 .5-.5-.5-1-.5 0 0-1 .5-.5 0-1 0-.5 0-.5 0-.5-.5-.5 1.5-.5 1 0 1.5 0 1 0 1 0 1.5 0 .5-.5 .5-2-1-1-1-.5-1.5-.5 0-.5 1-.5 2 .5-.5-1.5 1 .5 2.5-.5 0-1 1 0 1-.5 .5 0 .5-1.5 1.5-.5 1 0 1 0 1-.5-.5-.5 0-.5-.5-.5 0-1 .5-.5 1 0 .5-.5 .5 0 0 .5 0 .5 .5 0-.5 .5-1 .5 .5 .5 0 .5 1 0 0 .5 1 0 .5-.5 1 .5 .5 0 1 0 1.5-.5 1-.5 1 .5 1 0 .5-.5 1.5 0-.5-1 0-1 .5-.5 1-.5 1 1 .5 0 .5-1 0-.5-.5 0-.5 0 0-.5 1-.5 1.5 0 1 0 1 0 1-.5-1-.5-1.5 0-2 .5-1.5 0-.5-.5-1 0 0-1-.5-1 .5-.5 1-1 2-1 1 0 0-.5-1.5-.5-2 .5-1 .5 .5 .5-1.5 1-2 1-1 1 1 1 1 .5-1 1-1 .5-.5 1.5-.5 1-1.5 0-.5 .5-1 0-.5-1-.5-1-1-1.5-.5-.5-2 1-1.5 .5-1.5-.5 0-1-.5-2.5 1-.5 2.5-1 2-1 2-1.5 2.5-2 1.5-.5 2.5-1.5 2.5-.5 1.5 .5 1.5-1 2 0 1.5 0 3.5 .5-1.5 .5 1 .5 1-.5 2 .5 2.5 .5 4 1 .5 .5 0 .5-1 .5-1.5 .5-4.5-1-1 .5 2 .5 0 1.5 1 .5 1 0 0-.5-.5-.5 .5 0 2.5 .5 1-.5-.5-.5 2-1 1 0 1 .5 .5-1-1-.5 .5-.5-.5-.5 3 .5 .5 .5-1.5 0 0 .5 1 .5 1.5-.5 0-.5 2-.5 3.5-1 1 0-1 1 1 0 1-.5 2 0 1.5-.5 1 .5 1-.5-1-.5 .5-.5 3 .5 1.5 .5 3.5 1 .5-.5-1-.5 0-.5-1 0 .5-.5-1-.5 0-.5 2-1 .5-1 1 0 2.5 0 .5 1-1 .5 .5 .5 .5 .5-.5 1.5 1 .5-.5 1-1.5 1 1 .5 .5-.5 1-.5 0-.5 1-.5-.5-.5 .5-.5-1 0-.5-.5 1-1-1.5-1 2-.5-.5-1 .5 0 .5 .5 0 1 1 .5-.5-1 1.5-.5 2 0 2 1-1-1 0-1 2-.5 2 0 2.5 0-1-.5 1-.5 1.5 0 2-.5 2.5-.5 3 0 .5 0 2.5-.5 2 0 0-.5 1-.5 2.5 0 1.5 0-1.5 .5 2.5 0 0 .5 1 0 3 0 2.5 .5 .5 0 0 .5-1 .5-3 .5-.5 .5 1 0 1.5 0 1 0 .5 .5 .5 0 1.5-.5 3.5 .5 0 .5 4 0 .5-.5 2 0 1.5 0 1.5 .5 .5 .5-.5 .5 1 1 2 0 1-1 1.5 .5 1.5 0 2 0 .5 0 2 0-1-1 1.5-.5 9 1 1 .5 2.5 .5 4 0 2 0 1 .5-.5 1 1.5 0 1.5 0 1.5 0 2 0 2 0 1.5 1 1.5-.5-1-.5 .5-.5 3 0 2 0 3 .5 1.5 .5zM229 42.5l.5 1 .5 0 .5 0-1 .5 0 .5-.5 .5 0 .5 0 1 1 0 1 .5 1.5 .5 1.5-.5-.5-1 .5-1-1-.5 .5-.5-1 0 .5-1 1 .5 .5-.5-.5-.5-.5-.5-.5 0 0 1-.5-1 0-.5 0-.5-1 0-.5-1-.5-.5 1 0 0-.5 .5-.5 1 0 0-.5 0-1-1 0-1 0-1 .5-1 0-.5 .5-1 .5-1 1 1 1 0 .5 1 1 .5 .5zM84.5 15l-1 0-1 0-1 0-1.5-.5 1 0 1-.5 1 0 .5 .5 1 .5zM0 12.5l0 .5-1 0-.5 0 1.5-.5zM360 12.5l0 .5-1 0-.5 0 1.5-.5zM0 12.5l1 0 1.5 0 0 .5-1 0-1.5 0 0-.5zM89.5 14.5l0 1 1.5-1 1 1-.5 .5 1 1 1-1 1-1 0-1 1.5 0 1.5 .5 1 .5 .5 .5-1 .5 .5 .5 0 .5-2 .5-1 0-1.5 0 0 .5-1 1-.5 0-1 1-1.5 0-.5 .5-.5 .5-1 0-1 1-1 1-.5 1 0 1 1.5 0 0 1 .5 1 1.5-.5 2 .5 1 .5 .5 .5 1.5 .5 1 0 1.5 .5 1 0 0 .5 .5 1 .5 1.5 1.5 1 1-.5 .5-1-.5-1.5-1-.5 2-.5 1-1 .5-.5 0-.5-1-1-1-1 1-1-.5-1 0-1.5 .5 0 2 0 1 .5 .5-.5 1 .5 1.5 .5 0 .5 2 0 0 1 0 1 1 0 1 1 1.5-1 1-1 .5-.5 .5 1 1.5 1.5 1 1-.5 .5 1.5 .5 1 1 1.5 0 .5 .5 .5 .5 1 .5 .5 1.5-1 0-.5 .5-2 .5-1 1-1.5 0-2.5-.5-1.5 0-1 .5-.5 .5-1.5 .5-1.5 1.5-1 .5 .5 0 2-1.5 2-.5 1.5 0 1 .5-1 .5 0 1 .5 1 1.5 .5 1.5-.5 1-1 0 .5 .5 .5-1 .5-2.5 1-.5 0-1.5 1-.5 0 0-1 1.5-1-1.5 0-1 .5-1 .5-1 .5-1 .5-.5 .5-.5 0 0 .5 .5 .5 .5 0 0 .5-.5 0-.5 0-1 0-.5 0-.5 .5-.5 0 1.5 0-1.5 .5-.5 0 0-.5-.5 .5 .5 0 0 1-1 .5-.5-.5 0 .5 .5 0 0 .5-.5 .5-.5 1 0-.5 .5-.5-.5-.5-.5-.5 0 .5 0 .5-.5 0 .5 0 0 1 .5 0 0 .5 .5 1-1 .5-1 .5-.5 .5-.5 0-.5 .5 0 .5-1.5 .5-.5 .5-.5 .5 0 1 0 .5 .5 1 .5 .5 0 .5 .5 1 0 1-.5 1-.5 0-.5-.5 0-.5-.5-.5-.5-1-.5-.5 .5-.5-.5-.5-.5-1-.5 0-1 .5-.5 0-.5-.5-.5-.5-1 0-1 0-.5 0-.5 .5 0 .5 .5 0-.5 .5-.5-.5 0 .5-1 0-.5-.5-1 0-.5-.5-1 .5-.5 0-1 1-1 0-.5 .5-.5 .5 0 1 0 .5 .5 0-.5 1 0 .5-.5 1.5 0 .5 .5 .5 0 .5 .5 1 .5 .5 0 .5 .5 .5 1 .5 .5 .5 1-.5 .5 0 1 0 .5-.5 .5-.5 .5-.5 0-.5 0-.5 1-.5 1 0 1 0 .5 0 0 .5-.5 .5 0 1 0 .5-.5 .5-.5 0 .5 0 0 .5-.5 .5 .5 0-.5 .5 .5 0-.5 .5 0 .5-.5 0 .5 .5 0-.5 .5 .5 0-.5 .5 0 .5 0 .5 0 .5 0 .5 0 .5 0 .5 0 .5 .5 .5 0 .5 .5-.5 .5 .5 0-.5 .5 0 .5 0 .5 0 .5 0 .5 0 .5-.5 0 0 .5 .5 0 0 .5 .5 .5 .5 .5 .5 .5 .5 0 .5 0 .5 0 .5-.5 .5 0 .5 0 .5 0 .5 .5 .5 0 0 .5 .5 0 1-1 .5 0 0-.5 0-.5 .5-.5 .5 0 .5-.5 .5 .5 1-.5 .5-.5 0-.5 .5 0 .5 .5-.5 0 0 .5-.5 0 .5 .5 0 .5-.5 .5 .5 1 .5-1-.5 0 0-1 1.5-.5-.5-.5 .5 0 .5 .5 .5 0 1 .5 0 .5 .5 0 1.5 0 .5 .5 .5 0 .5-.5 1.5 0 1 0-.5 0 0 .5 1 0 .5 .5 .5 1 .5 0 1 .5 .5 .5 0 .5 .5 0 .5 .5 .5 .5 1 0 1 0 1 0 .5 .5 .5 0 1 1 .5 .5 .5 .5 .5 1.5 .5 .5 0 .5-.5 1 2 0 0 1 .5-.5 1.5 .5 1.5 .5 .5 .5 0 .5 1 0 2 .5 1.5 0 1.5 .5 1.5 1.5 .5 0 1 0 .5 .5 0 1 .5 1-.5 1.5-.5 .5-1.5 1.5-.5 1-1 1-.5 1 0 1.5 0 1.5-.5 1 0 .5-.5 1-1 1.5 0 1-1 .5 0 .5-1 0-1.5 .5-1 .5-1 0-1 1-1 1 0 .5 0 .5 0 1-.5 .5-.5 .5-1 2-1 1-1 0 0 1-1 1-.5 .5-1 .5-.5 0-.5 0-1-.5-1 0-.5-.5 0 .5 1.5 1-.5 .5 1 .5-.5 .5-.5 1-1.5 .5-2 .5-1.5 0 .5 .5-.5 .5 .5 .5-.5 .5-1.5 0-.5 0-.5 0 0 1 .5 .5 .5-.5 .5 .5-1 .5-.5 .5-.5 1 0 .5-1 0-1 .5 0 1 1 .5 1 0-.5 1-1 .5-1 1.5-.5 .5-.5 0 0 1.5 1 .5-.5 0-1 0-.5 0-1 .5 0 1-.5 0-1-.5-1-.5-1.5-.5-.5-1 .5-.5-.5-.5 0-2 .5-1 1-.5-1.5-.5 1-.5 0-2 1.5 .5 .5-2-1-.5 0 1.5-1-.5 .5-1 .5-2 .5-.5-.5-1 0-1.5 .5 0 .5-1.5 .5-1.5 .5-1.5 0-1.5 0-1 0-1 .5-1.5 .5-2 0-2 .5-2 0-1.5-.5-1.5-1-.5 0-.5-2-1-1.5-1-1-1-.5-.5 0-.5-.5-1.5-1-1.5-1-2-.5-.5-.5-1-.5-.5-1-.5 .5-.5-.5-1 .5-.5 .5-.5 .5-1 0-.5-.5 .5-.5-.5 0-1 .5 0 0-.5 .5-1 0-.5 .5 0 .5-.5 .5-.5 0-.5 .5 0 .5-1 .5-.5-.5 0 0-.5 0-1 0-.5 0-.5-.5-.5 0-.5-.5-.5 .5-.5-.5 0-.5-.5-.5 0-.5 .5-.5 0 0 .5 .5 .5-.5 0-.5 .5 0-1 0 .5-.5 0 0-.5-.5 0-.5-.5-.5 0 0 .5-.5-.5 0-.5-.5-.5-.5 0 0-.5-.5 0 0 .5-.5-.5-.5 0 0-.5 .5-.5-.5 0 .5 0-.5-.5-.5-.5-.5-.5-.5-.5 0-.5-.5 0 0 .5-.5 0-.5-.5-.5 0-.5 0-.5-.5-.5 0-.5 0-.5-.5-1.5-1-.5-.5-.5 0-1 0-.5 0-.5 .5-1-.5-.5 0-1-.5-.5 0-1.5-.5-.5-.5-.5-.5-.5 0-1-.5-.5 0-1-1-.5-.5 0-.5 0-.5 0-.5 0-.5 0-.5-.5-.5-1-1-1-.5-.5-.5-1-.5 0-.5 0-.5-.5 0-.5-.5 0-1-.5 0-1-.5 0-.5-.5-.5-.5-.5 0-1-1-.5-1-.5 0 .5 0 .5 .5 1 1 1 .5 .5 0 .5 .5 .5 .5 .5 .5 .5 0 1 .5 0 .5 .5 0 .5 .5 0 0 .5 .5 .5 0 .5-.5 0-.5-.5-.5-.5-.5-.5-.5 0 0-1-.5-.5-.5-.5-.5-.5 0 .5-.5-.5-.5 0-.5-.5 0-.5 .5 .5 .5-.5 0-.5-1-1-.5 0-.5-.5-.5-1 0-.5-.5-1-.5-.5-.5-.5-.5 0 0-.5-.5 0-.5-.5-1 0 0-.5-1-1-1-1.5 0-.5-.5 0-.5-1-.5-1-.5-.5 .5-.5 0-1-.5-1 .5-.5 0-2 0-1.5-.5-.5 0-.5 0-.5 1.5 .5 .5 1 0-.5 0-.5-.5-1-2-1-.5-.5-2-.5-.5-.5 0-1-1-.5-.5-.5-1-1 0-.5-.5 0-1-.5 0-1-1.5-.5-.5-1-1 0-1.5 0-1.5-.5-2-1-1 0-1.5-.5-1.5 0-2-.5-1-.5-1 .5 0 .5-.5 0-1 .5-1 0-1 .5-.5-.5 .5-1 1-.5 0-.5-1.5 1-.5 .5-1.5 .5 .5 .5-.5 1-1.5 .5-1 0 0 .5-1.5 .5-.5 .5-1 .5-1 0-.5 0-1 .5-1 .5-2 0 1-.5 1-.5 1-.5 1.5 0 .5-.5 1.5-.5 1-.5 0-1 .5-.5-1 .5-.5-.5-.5 .5-.5-.5-.5 .5-.5-.5-1 .5-.5 0 0-1-.5-.5-1.5 0-.5-.5-1 0 0-.5-.5-.5 .5-.5 .5-.5 .5-.5 .5 0 1 0 .5-.5 1 0 .5-.5-.5-.5 .5-.5-.5 0-1 .5-.5 0-.5 0-1.5 0-1.5 0-.5-.5-1-.5 1.5-.5 2-.5 1 0-.5 .5 2.5 0-1-.5-1-.5-1-.5-1-.5-1.5-.5 1-.5 1.5 0 1.5-.5 0-.5 1-.5 1 0 2-.5 1 0 1.5-.5 1.5 .5 .5 .5 .5-.5 2 0-.5 .5 2 0 1 0 2 .5 2 0 .5 0 1.5 0 1.5 0 1 .5 2 0 1.5 .5 1 0 1-.5 1 0 1.5 0 1.5-.5 1.5 0 1 0 .5 0 .5-.5 .5 0 1.5 1 1.5-.5 0 .5 1.5 0 .5-.5 1 0 1.5 .5 2.5 .5 1.5 0 1 0 1 .5-1.5 .5 2 .5 2.5-.5 1 0 1 .5 1-.5-1-.5 1 0 1 0 1-.5 .5 .5 1 .5 1.5 0 1.5 .5 1.5-.5 1.5 0 0-.5 1 0 1.5 .5 0 .5 .5-.5 1 0 .5-1-1.5-.5-1-.5 0-1 1.5-1 1 0 1 .5 1.5 1.5-1 .5 2 0zM66 11l-.5 .5 2-.5 1.5 .5 1-.5 1 .5 1 1 .5-.5-1-1 1 0 1 0 1 .5 .5 1 .5 .5 1.5 .5 2 .5 0 .5-1.5 0 .5 .5-.5 0-1.5 0-2 0-1 0-2 0-3 .5-1.5 0-.5-.5-1-.5-1 .5-1.5-1 1 0 1.5 0 1.5 0 1-.5-2 0-2 0-1.5 0-.5-.5 2.5-.5-1.5 0-2 0 1-1 .5 0 3-1 1 .5zM75.5 10.5l-1 .5-1.5-.5 .5 0 1 0 1 0zM103.5 11l-1 0-1 0-1 .5-.5-.5-1-.5 .5-.5 2.5 .5 1.5 .5zM93.5 11l.5 .5 1-1 2.5-.5 2 1.5-.5 .5 2-.5 1-.5 2.5 1 1.5 0 0 .5 2 0 1 .5 2 .5 1 .5 1 1-2 .5 2.5 .5 1.5 0 1.5 1 1.5 0 0 1-2 1-1-.5-1.5-1-1.5 0 0 1 1 .5 1.5 .5 1 1-.5 1-1.5-.5-2.5-.5 1.5 .5 1 .5 .5 .5-3-.5-2-.5-1-.5-1.5-.5-1.5-.5-2.5 .5-1-.5 .5-1 2 0 2 0-.5-.5 .5-.5 1.5-1-.5 0-.5-.5-1.5-.5-2-.5 1 0-1.5-1-.5 0-1 0-.5 0-2 .5-3.5-.5-2-.5-1.5 0-1-.5 1 0-1.5 0 0-1 .5-1 1-.5 2.5-.5-.5 1zM79.5 10l1.5 .5 1.5-.5 .5 .5-1 .5 1.5 .5 0 1-2 0-1 0-.5 0-2.5-1 0-.5 2 .5-1-1 1-.5zM323.5 11l-1.5 0-2-.5 1-.5 1 0 1.5 .5 0 .5zM87 11l-1.5 1-1 0-.5-1 0-.5 .5-.5 1 0 2 0 2 0-1.5 1-1 0zM59.5 12.5l-2.5 .5-.5-.5-2.5-.5 .5 0 .5-1 1-.5-1-1 3.5 0 1.5 .5 2.5 0 1 0 1 .5-1.5 .5-2 .5-1.5 .5 0 .5zM330.5 9l-1 .5-1.5-.5-2 0 .5-.5 1.5 0 2.5 .5zM86.5 9l-.5 .5-1.5 0-1.5-.5 .5-.5 1.5 0 1 0 .5 .5zM325 8.5l-.5 .5-4 0-1.5 .5-2-1 .5-.5 1.5 0 2.5 0 3.5 .5zM81.5 7.5l1 0 0 1-.5 .5-2 0-1 0 0-.5-1.5 0 0-1 1 0 1.5 0 1.5 0zM72 8l1 0 1 0 .5 .5-1 .5-3 0-2.5 .5-1.5 0-.5 0 2-.5-4.5 0-1 0 1-1 1-.5 3 .5 1.5 .5 2 0-1.5-1 1-.5 1 .5 .5 .5zM237.5 13.5l-.5 0-3.5-.5-2-.5 0-.5 1 0 0-1 2-.5-1-.5 2.5-.5-.5-.5 2.5-.5 3-1 3.5 0 1.5-.5 2 0 1 .5-1 .5-3.5 .5-3 0-3 1-1.5 1-1.5 1 0 1 2 1zM85.5 7l1 0 2 0 1 .5-.5 .5 1 0 1 .5 1 0 1.5 0 1.5 0 2-.5 2 .5 1 0 0 .5-.5 .5-1.5 0-1 0-3 0-2 0-2 0-2.5-.5-.5-.5 0-.5-1-.5-2 0-1-.5 .5 0 2 0zM64 6.5l-.5 .5-.5 .5-1 0-2 .5-1.5 0-1.5 0 2-1 2-.5 1.5 0 1.5 0zM86 6.5l-.5 0-1.5 0-.5-.5 2 0 1 .5-.5 0zM70 6.5l-2 0-1.5 0 1-.5 1 0 1.5 0 0 .5zM204.5 6l-2 .5-2 0 1-.5-.5-.5 2 0 .5 .5 1 0zM70.5 5.5l-1.5 0-1.5 0 1-.5 .5 0 1.5 .5zM84 6l-1.5 0-.5 0-.5-.5 0-.5 1 0 .5 0 1.5 .5-.5 .5zM80 5.5l.5 .5-2 0-1.5-.5-2 0 1 0-1.5-.5 0-.5 2 .5 2.5 0 1 .5zM285 5.5l-5.5 .5 2-1 .5-.5 1 0 2.5 1-.5 0zM198.5 4.5l3 .5-2.5 .5-.5 .5-1 .5-.5 .5-1 0-2-.5 .5 0-1.5-.5-2-1-.5-.5 2.5-.5 .5 .5 1.5 0 .5-.5 1.5 0 1.5 .5zM205.5 3.5l2 .5-1.5 .5-3 0-3 0 0-.5-1.5 0-1-.5 3 0 1.5 0 1 0 2.5 0zM231 3.5l-1 0-1 0 0 .5-1.5 0-1 0 .5-.5-2 0 2-.5 1.5 0 0 .5 .5-.5 1 0 1.5 .5-.5 0zM280 5l-2 0-3 0-1.5-.5-1-.5-1.5-.5 3-.5 2-.5 2 1 2 .5 0 1zM93 4.5l1 0-1 .5-2 .5-2 .5-2-.5-1-.5 1-.5-2 0-1 0-.5-.5 .5-.5 .5-.5 1 0 2-.5 1.5 1 1.5 0 1.5 0 1 1zM111.5 1l2.5 0 2.5 0 1.5 .5-2.5 .5-2.5 .5-.5 0 2 0-2.5 .5-1.5 .5-1.5 .5-2 .5-1 0-3 0 1.5 .5-.5 0 .5 .5-1 .5-1.5 0-.5 .5-1.5 .5 .5 0 1.5 0-2.5 1-2.5-.5-3 0-1.5 0-2 0 0-.5 1.5 0-.5-1 1 0 2.5 .5-1.5-.5-1.5-.5 1-.5 1.5 0 .5-.5-1.5 0-.5-1 3 .5 .5 0 1.5-.5-2 0-3.5 0-2-.5-.5-.5-1.5 0 0-.5 1.5 0 1 0 2-.5 1.5 0 1 0 1.5 0 .5-.5 1.5 0 1.5 0 3 0 1 0 2.5 0 2.5 0 2 0zM153 .5l6 1-1.5 0-4 0-5.5 .5 .5 0 3.5 0 3 0 2 0 1 .5-1 .5 2.5-.5 4.5-.5 3 .5 1 0-4.5 1-.5 0-3 .5 2.5 0-1.5 .5-.5 .5 0 1.5 1 .5-1.5 0-1.5 .5 1.5 .5 .5 1-1 0 1 .5-2 .5 1 0-.5 .5-1 0-1.5 0 1 1 0 .5-2-.5-.5 0 1.5 .5 1.5 .5 0 1-1.5 0-1-.5-1-.5 .5 .5-1.5 1 3 0 1 0-2.5 .5-2.5 1-3 .5-1.5 0-1 .5-1 1-2.5 .5-.5 0-1.5 .5-1.5 0-.5 .5 0 1-.5 .5-2 1 .5 .5-.5 1-.5 1-1.5 0-1.5-1-2 0-.5-.5-1-1-1.5-1-.5-1-.5-.5-1-1 0-1-.5 0 1-1.5 1.5 0 .5-.5 0-1-1 .5-.5 0-1 0-1 0-.5-1 .5-.5 1 0 2 .5-1.5-.5-1-.5-1 0-1 0 1.5-1-1-.5-.5-.5-1.5-1-1-.5 0-.5-3-.5-2 0-2.5 0-2.5 0-1-.5-2-.5 2.5-.5 2 0-4 0-2.5-.5 .5-.5 3.5-.5 4-.5 0-.5-2.5 0 1-.5 3.5-.5 1.5-.5-.5-.5 2 0 3.5 0 3 0 1 0 2.5-.5 2.5 .5 1.5 0 2 .5-2.5-.5 0-.5 3.5-.5 3.5 0 1.5-.5 3.5 0 8 0z", C = {
107
+ "Africa/Abidjan": [5, -4],
108
+ "Africa/Accra": [6, 0],
109
+ "Africa/Addis_Ababa": [9, 39],
110
+ "Africa/Algiers": [37, 3],
111
+ "Africa/Asmara": [15, 39],
112
+ "Africa/Asmera": [15, 39],
113
+ "Africa/Bamako": [13, -8],
114
+ "Africa/Bangui": [4, 19],
115
+ "Africa/Banjul": [13, -17],
116
+ "Africa/Bissau": [12, -16],
117
+ "Africa/Blantyre": [-16, 35],
118
+ "Africa/Brazzaville": [-4, 15],
119
+ "Africa/Bujumbura": [-3, 29],
120
+ "Africa/Cairo": [30, 31],
121
+ "Africa/Casablanca": [34, -8],
122
+ "Africa/Ceuta": [36, -5],
123
+ "Africa/Conakry": [10, -14],
124
+ "Africa/Dakar": [15, -17],
125
+ "Africa/Dar_es_Salaam": [-7, 39],
126
+ "Africa/Djibouti": [12, 43],
127
+ "Africa/Douala": [4, 10],
128
+ "Africa/El_Aaiun": [27, -13],
129
+ "Africa/Freetown": [9, -13],
130
+ "Africa/Gaborone": [-25, 26],
131
+ "Africa/Harare": [-18, 31],
132
+ "Africa/Johannesburg": [-26, 28],
133
+ "Africa/Juba": [5, 32],
134
+ "Africa/Kampala": [0, 32],
135
+ "Africa/Khartoum": [16, 33],
136
+ "Africa/Kigali": [-2, 30],
137
+ "Africa/Kinshasa": [-4, 15],
138
+ "Africa/Lagos": [6, 3],
139
+ "Africa/Libreville": [0, 9],
140
+ "Africa/Lome": [6, 1],
141
+ "Africa/Luanda": [-9, 13],
142
+ "Africa/Lubumbashi": [-12, 27],
143
+ "Africa/Lusaka": [-15, 28],
144
+ "Africa/Malabo": [4, 9],
145
+ "Africa/Maputo": [-26, 33],
146
+ "Africa/Maseru": [-29, 28],
147
+ "Africa/Mbabane": [-26, 31],
148
+ "Africa/Mogadishu": [2, 45],
149
+ "Africa/Monrovia": [6, -11],
150
+ "Africa/Nairobi": [-1, 37],
151
+ "Africa/Ndjamena": [12, 15],
152
+ "Africa/Niamey": [14, 2],
153
+ "Africa/Nouakchott": [18, -16],
154
+ "Africa/Ouagadougou": [12, -2],
155
+ "Africa/Porto-Novo": [6, 3],
156
+ "Africa/Sao_Tome": [0, 7],
157
+ "Africa/Timbuktu": [13, -8],
158
+ "Africa/Tripoli": [33, 13],
159
+ "Africa/Tunis": [37, 10],
160
+ "Africa/Windhoek": [-23, 17],
161
+ "America/Adak": [52, -177],
162
+ "America/Anchorage": [61, -150],
163
+ "America/Anguilla": [18, -63],
164
+ "America/Antigua": [17, -62],
165
+ "America/Araguaina": [-7, -48],
166
+ "America/Argentina/Buenos_Aires": [-35, -58],
167
+ "America/Argentina/Catamarca": [-28, -66],
168
+ "America/Argentina/ComodRivadavia": [-28, -66],
169
+ "America/Argentina/Cordoba": [-31, -64],
170
+ "America/Argentina/Jujuy": [-24, -65],
171
+ "America/Argentina/La_Rioja": [-29, -67],
172
+ "America/Argentina/Mendoza": [-33, -69],
173
+ "America/Argentina/Rio_Gallegos": [-52, -69],
174
+ "America/Argentina/Salta": [-25, -65],
175
+ "America/Argentina/San_Juan": [-32, -69],
176
+ "America/Argentina/San_Luis": [-33, -66],
177
+ "America/Argentina/Tucuman": [-27, -65],
178
+ "America/Argentina/Ushuaia": [-55, -68],
179
+ "America/Aruba": [13, -70],
180
+ "America/Asuncion": [-25, -58],
181
+ "America/Atikokan": [49, -92],
182
+ "America/Atka": [52, -177],
183
+ "America/Bahia": [-13, -39],
184
+ "America/Bahia_Banderas": [21, -105],
185
+ "America/Barbados": [13, -60],
186
+ "America/Belem": [-1, -48],
187
+ "America/Belize": [18, -88],
188
+ "America/Blanc-Sablon": [51, -57],
189
+ "America/Boa_Vista": [3, -61],
190
+ "America/Bogota": [5, -74],
191
+ "America/Boise": [44, -116],
192
+ "America/Buenos_Aires": [-35, -58],
193
+ "America/Cambridge_Bay": [69, -105],
194
+ "America/Campo_Grande": [-20, -55],
195
+ "America/Cancun": [21, -87],
196
+ "America/Caracas": [11, -67],
197
+ "America/Catamarca": [-28, -66],
198
+ "America/Cayenne": [5, -52],
199
+ "America/Cayman": [19, -81],
200
+ "America/Chicago": [42, -88],
201
+ "America/Chihuahua": [29, -106],
202
+ "America/Ciudad_Juarez": [32, -106],
203
+ "America/Coral_Harbour": [49, -92],
204
+ "America/Cordoba": [-31, -64],
205
+ "America/Costa_Rica": [10, -84],
206
+ "America/Coyhaique": [-46, -72],
207
+ "America/Creston": [49, -117],
208
+ "America/Cuiaba": [-16, -56],
209
+ "America/Curacao": [12, -69],
210
+ "America/Danmarkshavn": [77, -19],
211
+ "America/Dawson": [64, -139],
212
+ "America/Dawson_Creek": [56, -120],
213
+ "America/Denver": [40, -105],
214
+ "America/Detroit": [42, -83],
215
+ "America/Dominica": [15, -61],
216
+ "America/Edmonton": [54, -113],
217
+ "America/Eirunepe": [-7, -70],
218
+ "America/El_Salvador": [14, -89],
219
+ "America/Ensenada": [33, -117],
220
+ "America/Fort_Nelson": [59, -123],
221
+ "America/Fort_Wayne": [40, -86],
222
+ "America/Fortaleza": [-4, -38],
223
+ "America/Glace_Bay": [46, -60],
224
+ "America/Godthab": [64, -52],
225
+ "America/Goose_Bay": [53, -60],
226
+ "America/Grand_Turk": [21, -71],
227
+ "America/Grenada": [12, -62],
228
+ "America/Guadeloupe": [16, -62],
229
+ "America/Guatemala": [15, -91],
230
+ "America/Guayaquil": [-2, -80],
231
+ "America/Guyana": [7, -58],
232
+ "America/Halifax": [45, -64],
233
+ "America/Havana": [23, -82],
234
+ "America/Hermosillo": [29, -111],
235
+ "America/Indiana/Indianapolis": [40, -86],
236
+ "America/Indiana/Knox": [41, -87],
237
+ "America/Indiana/Marengo": [38, -86],
238
+ "America/Indiana/Petersburg": [38, -87],
239
+ "America/Indiana/Tell_City": [38, -87],
240
+ "America/Indiana/Vevay": [39, -85],
241
+ "America/Indiana/Vincennes": [39, -88],
242
+ "America/Indiana/Winamac": [41, -87],
243
+ "America/Indianapolis": [40, -86],
244
+ "America/Inuvik": [68, -134],
245
+ "America/Iqaluit": [64, -68],
246
+ "America/Jamaica": [18, -77],
247
+ "America/Jujuy": [-24, -65],
248
+ "America/Juneau": [58, -134],
249
+ "America/Kentucky/Louisville": [38, -86],
250
+ "America/Kentucky/Monticello": [37, -85],
251
+ "America/Knox_IN": [41, -87],
252
+ "America/Kralendijk": [12, -68],
253
+ "America/La_Paz": [-16, -68],
254
+ "America/Lima": [-12, -77],
255
+ "America/Los_Angeles": [34, -118],
256
+ "America/Louisville": [38, -86],
257
+ "America/Lower_Princes": [18, -63],
258
+ "America/Maceio": [-10, -36],
259
+ "America/Managua": [12, -86],
260
+ "America/Manaus": [-3, -60],
261
+ "America/Marigot": [18, -63],
262
+ "America/Martinique": [15, -61],
263
+ "America/Matamoros": [26, -97],
264
+ "America/Mazatlan": [23, -106],
265
+ "America/Mendoza": [-33, -69],
266
+ "America/Menominee": [45, -88],
267
+ "America/Merida": [21, -90],
268
+ "America/Metlakatla": [55, -132],
269
+ "America/Mexico_City": [19, -99],
270
+ "America/Miquelon": [47, -56],
271
+ "America/Moncton": [46, -65],
272
+ "America/Monterrey": [26, -100],
273
+ "America/Montevideo": [-35, -56],
274
+ "America/Montreal": [44, -79],
275
+ "America/Montserrat": [17, -62],
276
+ "America/Nassau": [25, -77],
277
+ "America/New_York": [41, -74],
278
+ "America/Nipigon": [44, -79],
279
+ "America/Nome": [65, -165],
280
+ "America/Noronha": [-4, -32],
281
+ "America/North_Dakota/Beulah": [47, -102],
282
+ "America/North_Dakota/Center": [47, -101],
283
+ "America/North_Dakota/New_Salem": [47, -101],
284
+ "America/Nuuk": [64, -52],
285
+ "America/Ojinaga": [30, -104],
286
+ "America/Panama": [9, -80],
287
+ "America/Pangnirtung": [64, -68],
288
+ "America/Paramaribo": [6, -55],
289
+ "America/Phoenix": [33, -112],
290
+ "America/Port_of_Spain": [11, -62],
291
+ "America/Port-au-Prince": [19, -72],
292
+ "America/Porto_Acre": [-10, -68],
293
+ "America/Porto_Velho": [-9, -64],
294
+ "America/Puerto_Rico": [18, -66],
295
+ "America/Punta_Arenas": [-53, -71],
296
+ "America/Rainy_River": [50, -97],
297
+ "America/Rankin_Inlet": [63, -92],
298
+ "America/Recife": [-8, -35],
299
+ "America/Regina": [50, -105],
300
+ "America/Resolute": [75, -95],
301
+ "America/Rio_Branco": [-10, -68],
302
+ "America/Rosario": [-31, -64],
303
+ "America/Santa_Isabel": [33, -117],
304
+ "America/Santarem": [-2, -55],
305
+ "America/Santiago": [-33, -71],
306
+ "America/Santo_Domingo": [18, -70],
307
+ "America/Sao_Paulo": [-24, -47],
308
+ "America/Scoresbysund": [70, -22],
309
+ "America/Shiprock": [40, -105],
310
+ "America/Sitka": [57, -135],
311
+ "America/St_Barthelemy": [18, -63],
312
+ "America/St_Johns": [48, -53],
313
+ "America/St_Kitts": [17, -63],
314
+ "America/St_Lucia": [14, -61],
315
+ "America/St_Thomas": [18, -65],
316
+ "America/St_Vincent": [13, -61],
317
+ "America/Swift_Current": [50, -108],
318
+ "America/Tegucigalpa": [14, -87],
319
+ "America/Thule": [77, -69],
320
+ "America/Thunder_Bay": [44, -79],
321
+ "America/Tijuana": [33, -117],
322
+ "America/Toronto": [44, -79],
323
+ "America/Tortola": [18, -65],
324
+ "America/Vancouver": [49, -123],
325
+ "America/Virgin": [18, -65],
326
+ "America/Whitehorse": [61, -135],
327
+ "America/Winnipeg": [50, -97],
328
+ "America/Yakutat": [60, -140],
329
+ "America/Yellowknife": [54, -113],
330
+ "Antarctica/Casey": [-66, 111],
331
+ "Antarctica/Davis": [-69, 78],
332
+ "Antarctica/DumontDUrville": [-67, 140],
333
+ "Antarctica/Macquarie": [-54, 159],
334
+ "Antarctica/Mawson": [-68, 63],
335
+ "Antarctica/McMurdo": [-78, 167],
336
+ "Antarctica/Palmer": [-65, -64],
337
+ "Antarctica/Rothera": [-68, -68],
338
+ "Antarctica/South_Pole": [-78, 167],
339
+ "Antarctica/Syowa": [-69, 40],
340
+ "Antarctica/Troll": [-72, 3],
341
+ "Antarctica/Vostok": [-78, 107],
342
+ "Arctic/Longyearbyen": [78, 16],
343
+ "Asia/Aden": [13, 45],
344
+ "Asia/Almaty": [43, 77],
345
+ "Asia/Amman": [32, 36],
346
+ "Asia/Anadyr": [65, 177],
347
+ "Asia/Aqtau": [45, 50],
348
+ "Asia/Aqtobe": [50, 57],
349
+ "Asia/Ashgabat": [38, 58],
350
+ "Asia/Ashkhabad": [38, 58],
351
+ "Asia/Atyrau": [47, 52],
352
+ "Asia/Baghdad": [33, 44],
353
+ "Asia/Bahrain": [26, 51],
354
+ "Asia/Baku": [40, 50],
355
+ "Asia/Bangkok": [14, 101],
356
+ "Asia/Barnaul": [53, 84],
357
+ "Asia/Beirut": [34, 36],
358
+ "Asia/Bishkek": [43, 75],
359
+ "Asia/Brunei": [5, 115],
360
+ "Asia/Calcutta": [23, 88],
361
+ "Asia/Chita": [52, 113],
362
+ "Asia/Choibalsan": [48, 107],
363
+ "Asia/Chongqing": [31, 121],
364
+ "Asia/Chungking": [31, 121],
365
+ "Asia/Colombo": [7, 80],
366
+ "Asia/Dacca": [24, 90],
367
+ "Asia/Damascus": [34, 36],
368
+ "Asia/Dhaka": [24, 90],
369
+ "Asia/Dili": [-9, 126],
370
+ "Asia/Dubai": [25, 55],
371
+ "Asia/Dushanbe": [39, 69],
372
+ "Asia/Famagusta": [35, 34],
373
+ "Asia/Gaza": [32, 34],
374
+ "Asia/Harbin": [31, 121],
375
+ "Asia/Hebron": [32, 35],
376
+ "Asia/Ho_Chi_Minh": [11, 107],
377
+ "Asia/Hong_Kong": [22, 114],
378
+ "Asia/Hovd": [48, 92],
379
+ "Asia/Irkutsk": [52, 104],
380
+ "Asia/Istanbul": [41, 29],
381
+ "Asia/Jakarta": [-6, 107],
382
+ "Asia/Jayapura": [-3, 141],
383
+ "Asia/Jerusalem": [32, 35],
384
+ "Asia/Kabul": [35, 69],
385
+ "Asia/Kamchatka": [53, 159],
386
+ "Asia/Karachi": [25, 67],
387
+ "Asia/Kashgar": [44, 88],
388
+ "Asia/Kathmandu": [28, 85],
389
+ "Asia/Katmandu": [28, 85],
390
+ "Asia/Khandyga": [63, 136],
391
+ "Asia/Kolkata": [23, 88],
392
+ "Asia/Krasnoyarsk": [56, 93],
393
+ "Asia/Kuala_Lumpur": [3, 102],
394
+ "Asia/Kuching": [2, 110],
395
+ "Asia/Kuwait": [29, 48],
396
+ "Asia/Macao": [22, 114],
397
+ "Asia/Macau": [22, 114],
398
+ "Asia/Magadan": [60, 151],
399
+ "Asia/Makassar": [-5, 119],
400
+ "Asia/Manila": [15, 121],
401
+ "Asia/Muscat": [24, 59],
402
+ "Asia/Nicosia": [35, 33],
403
+ "Asia/Novokuznetsk": [54, 87],
404
+ "Asia/Novosibirsk": [55, 83],
405
+ "Asia/Omsk": [55, 73],
406
+ "Asia/Oral": [51, 51],
407
+ "Asia/Phnom_Penh": [12, 105],
408
+ "Asia/Pontianak": [0, 109],
409
+ "Asia/Pyongyang": [39, 126],
410
+ "Asia/Qatar": [25, 52],
411
+ "Asia/Qostanay": [53, 64],
412
+ "Asia/Qyzylorda": [45, 65],
413
+ "Asia/Rangoon": [17, 96],
414
+ "Asia/Riyadh": [25, 47],
415
+ "Asia/Saigon": [11, 107],
416
+ "Asia/Sakhalin": [47, 143],
417
+ "Asia/Samarkand": [40, 67],
418
+ "Asia/Seoul": [38, 127],
419
+ "Asia/Shanghai": [31, 121],
420
+ "Asia/Singapore": [1, 104],
421
+ "Asia/Srednekolymsk": [67, 154],
422
+ "Asia/Taipei": [25, 122],
423
+ "Asia/Tashkent": [41, 69],
424
+ "Asia/Tbilisi": [42, 45],
425
+ "Asia/Tehran": [36, 51],
426
+ "Asia/Tel_Aviv": [32, 35],
427
+ "Asia/Thimbu": [27, 90],
428
+ "Asia/Thimphu": [27, 90],
429
+ "Asia/Tokyo": [36, 140],
430
+ "Asia/Tomsk": [57, 85],
431
+ "Asia/Ujung_Pandang": [-5, 119],
432
+ "Asia/Ulaanbaatar": [48, 107],
433
+ "Asia/Ulan_Bator": [48, 107],
434
+ "Asia/Urumqi": [44, 88],
435
+ "Asia/Ust-Nera": [65, 143],
436
+ "Asia/Vientiane": [18, 103],
437
+ "Asia/Vladivostok": [43, 132],
438
+ "Asia/Yakutsk": [62, 130],
439
+ "Asia/Yangon": [17, 96],
440
+ "Asia/Yekaterinburg": [57, 61],
441
+ "Asia/Yerevan": [40, 45],
442
+ "Atlantic/Azores": [38, -26],
443
+ "Atlantic/Bermuda": [32, -65],
444
+ "Atlantic/Canary": [28, -15],
445
+ "Atlantic/Cape_Verde": [15, -24],
446
+ "Atlantic/Faeroe": [62, -7],
447
+ "Atlantic/Faroe": [62, -7],
448
+ "Atlantic/Jan_Mayen": [60, 11],
449
+ "Atlantic/Madeira": [33, -17],
450
+ "Atlantic/Reykjavik": [64, -22],
451
+ "Atlantic/South_Georgia": [-54, -37],
452
+ "Atlantic/St_Helena": [-16, -6],
453
+ "Atlantic/Stanley": [-52, -58],
454
+ "Australia/ACT": [-34, 151],
455
+ "Australia/Adelaide": [-35, 139],
456
+ "Australia/Brisbane": [-27, 153],
457
+ "Australia/Broken_Hill": [-32, 141],
458
+ "Australia/Canberra": [-34, 151],
459
+ "Australia/Currie": [-43, 147],
460
+ "Australia/Darwin": [-12, 131],
461
+ "Australia/Eucla": [-32, 129],
462
+ "Australia/Hobart": [-43, 147],
463
+ "Australia/LHI": [-32, 159],
464
+ "Australia/Lindeman": [-20, 149],
465
+ "Australia/Lord_Howe": [-32, 159],
466
+ "Australia/Melbourne": [-38, 145],
467
+ "Australia/North": [-12, 131],
468
+ "Australia/NSW": [-34, 151],
469
+ "Australia/Perth": [-32, 116],
470
+ "Australia/Queensland": [-27, 153],
471
+ "Australia/South": [-35, 139],
472
+ "Australia/Sydney": [-34, 151],
473
+ "Australia/Tasmania": [-43, 147],
474
+ "Australia/Victoria": [-38, 145],
475
+ "Australia/West": [-32, 116],
476
+ "Australia/Yancowinna": [-32, 141],
477
+ "Brazil/Acre": [-10, -68],
478
+ "Brazil/DeNoronha": [-4, -32],
479
+ "Brazil/East": [-24, -47],
480
+ "Brazil/West": [-3, -60],
481
+ "Canada/Atlantic": [45, -64],
482
+ "Canada/Central": [50, -97],
483
+ "Canada/Eastern": [44, -79],
484
+ "Canada/Mountain": [54, -113],
485
+ "Canada/Newfoundland": [48, -53],
486
+ "Canada/Pacific": [49, -123],
487
+ "Canada/Saskatchewan": [50, -105],
488
+ "Canada/Yukon": [61, -135],
489
+ CET: [51, 4],
490
+ "Chile/Continental": [-33, -71],
491
+ "Chile/EasterIsland": [-27, -109],
492
+ CST6CDT: [42, -88],
493
+ Cuba: [23, -82],
494
+ EET: [38, 24],
495
+ Egypt: [30, 31],
496
+ Eire: [53, -6],
497
+ EST: [9, -80],
498
+ EST5EDT: [41, -74],
499
+ "Europe/Amsterdam": [52, 5],
500
+ "Europe/Andorra": [43, 2],
501
+ "Europe/Astrakhan": [46, 48],
502
+ "Europe/Athens": [38, 24],
503
+ "Europe/Belfast": [52, 0],
504
+ "Europe/Belgrade": [45, 21],
505
+ "Europe/Berlin": [53, 13],
506
+ "Europe/Bratislava": [48, 17],
507
+ "Europe/Brussels": [51, 4],
508
+ "Europe/Bucharest": [44, 26],
509
+ "Europe/Budapest": [48, 19],
510
+ "Europe/Busingen": [48, 9],
511
+ "Europe/Chisinau": [47, 29],
512
+ "Europe/Copenhagen": [56, 13],
513
+ "Europe/Dublin": [53, -6],
514
+ "Europe/Gibraltar": [36, -5],
515
+ "Europe/Guernsey": [49, -3],
516
+ "Europe/Helsinki": [60, 25],
517
+ "Europe/Isle_of_Man": [54, -4],
518
+ "Europe/Istanbul": [41, 29],
519
+ "Europe/Jersey": [49, -2],
520
+ "Europe/Kaliningrad": [55, 21],
521
+ "Europe/Kiev": [50, 31],
522
+ "Europe/Kirov": [59, 50],
523
+ "Europe/Kyiv": [50, 31],
524
+ "Europe/Lisbon": [39, -9],
525
+ "Europe/Ljubljana": [46, 15],
526
+ "Europe/London": [52, 0],
527
+ "Europe/Luxembourg": [50, 6],
528
+ "Europe/Madrid": [40, -4],
529
+ "Europe/Malta": [36, 15],
530
+ "Europe/Mariehamn": [60, 20],
531
+ "Europe/Minsk": [54, 28],
532
+ "Europe/Monaco": [44, 7],
533
+ "Europe/Moscow": [56, 38],
534
+ "Europe/Nicosia": [35, 33],
535
+ "Europe/Oslo": [60, 11],
536
+ "Europe/Paris": [49, 2],
537
+ "Europe/Podgorica": [42, 19],
538
+ "Europe/Prague": [50, 14],
539
+ "Europe/Riga": [57, 24],
540
+ "Europe/Rome": [42, 12],
541
+ "Europe/Samara": [53, 50],
542
+ "Europe/San_Marino": [44, 12],
543
+ "Europe/Sarajevo": [44, 18],
544
+ "Europe/Saratov": [52, 46],
545
+ "Europe/Simferopol": [45, 34],
546
+ "Europe/Skopje": [42, 21],
547
+ "Europe/Sofia": [43, 23],
548
+ "Europe/Stockholm": [59, 18],
549
+ "Europe/Tallinn": [59, 25],
550
+ "Europe/Tirane": [41, 20],
551
+ "Europe/Tiraspol": [47, 29],
552
+ "Europe/Ulyanovsk": [54, 48],
553
+ "Europe/Uzhgorod": [50, 31],
554
+ "Europe/Vaduz": [47, 10],
555
+ "Europe/Vatican": [42, 12],
556
+ "Europe/Vienna": [48, 16],
557
+ "Europe/Vilnius": [55, 25],
558
+ "Europe/Volgograd": [49, 44],
559
+ "Europe/Warsaw": [52, 21],
560
+ "Europe/Zagreb": [46, 16],
561
+ "Europe/Zaporozhye": [50, 31],
562
+ "Europe/Zurich": [47, 9],
563
+ GB: [52, 0],
564
+ "GB-Eire": [52, 0],
565
+ Hongkong: [22, 114],
566
+ HST: [21, -158],
567
+ Iceland: [64, -22],
568
+ "Indian/Antananarivo": [-19, 48],
569
+ "Indian/Chagos": [-7, 72],
570
+ "Indian/Christmas": [-10, 106],
571
+ "Indian/Cocos": [-12, 97],
572
+ "Indian/Comoro": [-12, 43],
573
+ "Indian/Kerguelen": [-49, 70],
574
+ "Indian/Mahe": [-5, 55],
575
+ "Indian/Maldives": [4, 74],
576
+ "Indian/Mauritius": [-20, 58],
577
+ "Indian/Mayotte": [-13, 45],
578
+ "Indian/Reunion": [-21, 55],
579
+ Iran: [36, 51],
580
+ Israel: [32, 35],
581
+ Jamaica: [18, -77],
582
+ Japan: [36, 140],
583
+ Kwajalein: [9, 167],
584
+ Libya: [33, 13],
585
+ MET: [51, 4],
586
+ "Mexico/BajaNorte": [33, -117],
587
+ "Mexico/BajaSur": [23, -106],
588
+ "Mexico/General": [19, -99],
589
+ MST: [33, -112],
590
+ MST7MDT: [40, -105],
591
+ Navajo: [40, -105],
592
+ NZ: [-37, 175],
593
+ "NZ-CHAT": [-44, -177],
594
+ "Pacific/Apia": [-14, -172],
595
+ "Pacific/Auckland": [-37, 175],
596
+ "Pacific/Bougainville": [-6, 156],
597
+ "Pacific/Chatham": [-44, -177],
598
+ "Pacific/Chuuk": [7, 152],
599
+ "Pacific/Easter": [-27, -109],
600
+ "Pacific/Efate": [-18, 168],
601
+ "Pacific/Enderbury": [-3, -172],
602
+ "Pacific/Fakaofo": [-9, -171],
603
+ "Pacific/Fiji": [-18, 178],
604
+ "Pacific/Funafuti": [-9, 179],
605
+ "Pacific/Galapagos": [-1, -90],
606
+ "Pacific/Gambier": [-23, -135],
607
+ "Pacific/Guadalcanal": [-10, 160],
608
+ "Pacific/Guam": [13, 145],
609
+ "Pacific/Honolulu": [21, -158],
610
+ "Pacific/Johnston": [21, -158],
611
+ "Pacific/Kanton": [-3, -172],
612
+ "Pacific/Kiritimati": [2, -157],
613
+ "Pacific/Kosrae": [5, 163],
614
+ "Pacific/Kwajalein": [9, 167],
615
+ "Pacific/Majuro": [7, 171],
616
+ "Pacific/Marquesas": [-9, -139],
617
+ "Pacific/Midway": [28, -177],
618
+ "Pacific/Nauru": [-1, 167],
619
+ "Pacific/Niue": [-19, -170],
620
+ "Pacific/Norfolk": [-29, 168],
621
+ "Pacific/Noumea": [-22, 166],
622
+ "Pacific/Pago_Pago": [-14, -171],
623
+ "Pacific/Palau": [7, 134],
624
+ "Pacific/Pitcairn": [-25, -130],
625
+ "Pacific/Pohnpei": [7, 158],
626
+ "Pacific/Ponape": [7, 158],
627
+ "Pacific/Port_Moresby": [-9, 147],
628
+ "Pacific/Rarotonga": [-21, -160],
629
+ "Pacific/Saipan": [15, 146],
630
+ "Pacific/Samoa": [-14, -171],
631
+ "Pacific/Tahiti": [-18, -150],
632
+ "Pacific/Tarawa": [1, 173],
633
+ "Pacific/Tongatapu": [-21, -175],
634
+ "Pacific/Truk": [7, 152],
635
+ "Pacific/Wake": [19, 167],
636
+ "Pacific/Wallis": [-13, -176],
637
+ "Pacific/Yap": [7, 152],
638
+ Poland: [52, 21],
639
+ Portugal: [39, -9],
640
+ PRC: [31, 121],
641
+ PST8PDT: [34, -118],
642
+ ROC: [25, 122],
643
+ ROK: [38, 127],
644
+ Singapore: [1, 104],
645
+ Turkey: [41, 29],
646
+ "US/Alaska": [61, -150],
647
+ "US/Aleutian": [52, -177],
648
+ "US/Arizona": [33, -112],
649
+ "US/Central": [42, -88],
650
+ "US/East-Indiana": [40, -86],
651
+ "US/Eastern": [41, -74],
652
+ "US/Hawaii": [21, -158],
653
+ "US/Indiana-Starke": [41, -87],
654
+ "US/Michigan": [42, -83],
655
+ "US/Mountain": [40, -105],
656
+ "US/Pacific": [34, -118],
657
+ "US/Samoa": [-14, -171],
658
+ "W-SU": [56, 38],
659
+ WET: [39, -9]
660
+ }, w = Math.PI / 180, T = Date.UTC(2e3, 0, 1, 12), E = (e) => ((e + 180) % 360 + 360) % 360 - 180;
661
+ function D(e) {
662
+ let t = (e.getTime() - T) / 864e5, n = (357.529 + .98560028 * t) * w, r = (280.459 + .98564736 * t + 1.915 * Math.sin(n) + .02 * Math.sin(2 * n)) * w, i = (23.439 - 36e-8 * t) * w, a = Math.atan2(Math.cos(i) * Math.sin(r), Math.cos(r)) / w;
663
+ return {
664
+ lat: Math.asin(Math.sin(i) * Math.sin(r)) / w,
665
+ lon: E(a - ((18.697374558 + 24.06570982441908 * t) % 24 + 24) % 24 * 15)
666
+ };
667
+ }
668
+ function O(e, t) {
669
+ let n = Math.abs(t.lat) < .01 ? .01 : t.lat;
670
+ return Math.atan(-Math.cos((e - t.lon) * w) / Math.tan(n * w)) / w;
671
+ }
672
+ function k(e, t = 2) {
673
+ let n = D(e), r = n.lat >= 0 ? 174 : -6, i = `M0 ${r}`;
674
+ for (let e = -180; e <= 180; e += t) i += `L${e + 180} ${(84 - O(e, n)).toFixed(1)}`;
675
+ return `${i}L360 ${r}Z`;
676
+ }
677
+ // src/WorldMap.tsx
678
+ function A({ zone: e, date: t, side: n }) {
679
+ let r = u(e, t) / 60 * 15 + 180 - 7.5;
680
+ return /* @__PURE__ */ a("g", {
681
+ className: `band ${n}`,
682
+ children: [
683
+ r - 360,
684
+ r,
685
+ r + 360
686
+ ].map((e) => /* @__PURE__ */ a("rect", {
687
+ x: e,
688
+ y: 0,
689
+ width: 15,
690
+ height: 142
691
+ }, e))
692
+ });
693
+ }
694
+ function j({ zone: e, side: t }) {
695
+ let n = C[e];
696
+ if (!n) return null;
697
+ let [r, i] = n;
698
+ return /* @__PURE__ */ a("circle", {
699
+ className: `dot ${t}`,
700
+ cx: i + 180,
701
+ cy: 84 - r,
702
+ r: 2.5
703
+ });
704
+ }
705
+ function M({ homeZone: e, visitorZone: t, now: r }) {
706
+ let i = n(() => k(r), [r]), s = D(r);
707
+ return /* @__PURE__ */ o("svg", {
708
+ className: "map",
709
+ viewBox: "0 0 360 142",
710
+ "aria-hidden": "true",
711
+ children: [
712
+ /* @__PURE__ */ a("path", {
713
+ className: "land",
714
+ d: S
715
+ }),
716
+ /* @__PURE__ */ a(A, {
717
+ zone: e,
718
+ date: r,
719
+ side: "home"
720
+ }),
721
+ /* @__PURE__ */ a(A, {
722
+ zone: t,
723
+ date: r,
724
+ side: "visitor"
725
+ }),
726
+ /* @__PURE__ */ a("path", {
727
+ className: "night",
728
+ d: i
729
+ }),
730
+ /* @__PURE__ */ o("g", {
731
+ transform: `translate(${s.lon + 180} ${84 - s.lat})`,
732
+ children: [/* @__PURE__ */ a("circle", {
733
+ className: "sun-halo",
734
+ r: 7
735
+ }), /* @__PURE__ */ a("circle", {
736
+ className: "sun",
737
+ r: 2.5
738
+ })]
739
+ }),
740
+ /* @__PURE__ */ a(j, {
741
+ zone: e,
742
+ side: "home"
743
+ }),
744
+ /* @__PURE__ */ a(j, {
745
+ zone: t,
746
+ side: "visitor"
747
+ })
748
+ ]
749
+ });
750
+ }
751
+ // src/zones.ts
752
+ function N(e) {
753
+ return (e.split("/").pop() ?? e).replaceAll("_", " ");
754
+ }
755
+ function P() {
756
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
757
+ }
758
+ function F(e = []) {
759
+ let t = Intl.supportedValuesOf("timeZone");
760
+ return [.../* @__PURE__ */ new Set([...t, ...e])].sort();
761
+ }
762
+ // src/TimezoneOverlap.tsx
763
+ function I(e = 6e4) {
764
+ let [n, i] = r(() => /* @__PURE__ */ new Date());
765
+ return t(() => {
766
+ let t = setInterval(() => i(/* @__PURE__ */ new Date()), e);
767
+ return () => clearInterval(t);
768
+ }, [e]), n;
769
+ }
770
+ var L = (e, t, n) => new Intl.DateTimeFormat(n, {
771
+ timeZone: t,
772
+ hour: "2-digit",
773
+ minute: "2-digit",
774
+ hourCycle: "h23"
775
+ }).format(e), R = (e) => {
776
+ let t = c(e);
777
+ return `${String(Math.floor(t / 60)).padStart(2, "0")}:${String(t % 60).padStart(2, "0")}`;
778
+ }, z = (e) => {
779
+ let t = Math.floor(e / 60), n = e % 60;
780
+ return n ? `${t} h ${n} min` : `${t} h`;
781
+ }, B = (e) => h(e).map((e) => `${R(e.start)}–${R(e.end)}`).join(", ");
782
+ function V({ segments: e, className: t }) {
783
+ return /* @__PURE__ */ a("div", {
784
+ className: "track",
785
+ children: e.map((e) => /* @__PURE__ */ a("span", {
786
+ className: t,
787
+ style: {
788
+ left: `${e.start / s * 100}%`,
789
+ width: `${(e.end - e.start) / s * 100}%`
790
+ }
791
+ }, e.start))
792
+ });
793
+ }
794
+ function H({ homeZone: e, homeLabel: t, visitorZone: i, workStart: l, workEnd: d, lang: p, onVisitorZoneChange: m }) {
795
+ let h = b[p], g = I(), [v, y] = r(i), x = n(() => F([e, v]), [e, v]), S = n(() => _(e, v, {
796
+ workStart: l,
797
+ workEnd: d,
798
+ date: g
799
+ }), [
800
+ e,
801
+ v,
802
+ l,
803
+ d,
804
+ g
805
+ ]), C = u(v, g), w = c(g.getUTCHours() * 60 + g.getUTCMinutes() + C), T = t || N(e);
806
+ function E(e) {
807
+ y(e), m?.(e);
808
+ }
809
+ return /* @__PURE__ */ o("div", {
810
+ className: "widget",
811
+ children: [
812
+ /* @__PURE__ */ a(M, {
813
+ homeZone: e,
814
+ visitorZone: v,
815
+ now: g
816
+ }),
817
+ /* @__PURE__ */ o("div", {
818
+ className: "clocks",
819
+ children: [/* @__PURE__ */ o("p", {
820
+ className: "clock",
821
+ children: [
822
+ /* @__PURE__ */ a("span", {
823
+ className: "swatch home",
824
+ "aria-hidden": "true"
825
+ }),
826
+ T,
827
+ " ",
828
+ /* @__PURE__ */ a("time", { children: L(g, e, p) })
829
+ ]
830
+ }), /* @__PURE__ */ o("label", {
831
+ className: "clock",
832
+ children: [
833
+ /* @__PURE__ */ a("span", {
834
+ className: "swatch visitor",
835
+ "aria-hidden": "true"
836
+ }),
837
+ /* @__PURE__ */ a("select", {
838
+ "aria-label": h.zoneLabel,
839
+ value: v,
840
+ onChange: (e) => E(e.target.value),
841
+ children: x.map((e) => /* @__PURE__ */ a("option", {
842
+ value: e,
843
+ children: e.replaceAll("_", " ")
844
+ }, e))
845
+ }),
846
+ /* @__PURE__ */ a("time", { children: L(g, v, p) })
847
+ ]
848
+ })]
849
+ }),
850
+ /* @__PURE__ */ o("div", {
851
+ className: "timeline",
852
+ "aria-hidden": "true",
853
+ children: [
854
+ /* @__PURE__ */ a(V, {
855
+ segments: f(S.home, C),
856
+ className: "home"
857
+ }),
858
+ /* @__PURE__ */ a(V, {
859
+ segments: f(S.visitor, C),
860
+ className: "visitor"
861
+ }),
862
+ /* @__PURE__ */ a(V, {
863
+ segments: f(S.both, C),
864
+ className: "both"
865
+ }),
866
+ /* @__PURE__ */ a("span", {
867
+ className: "now",
868
+ style: { left: `${w / s * 100}%` }
869
+ }),
870
+ /* @__PURE__ */ a("div", {
871
+ className: "ticks",
872
+ children: [
873
+ 0,
874
+ 6,
875
+ 12,
876
+ 18,
877
+ 24
878
+ ].map((e) => /* @__PURE__ */ a("span", {
879
+ style: { left: `${e / 24 * 100}%` },
880
+ children: R(e * 60).slice(0, 2)
881
+ }, e))
882
+ })
883
+ ]
884
+ }),
885
+ /* @__PURE__ */ a("p", {
886
+ className: "summary",
887
+ role: "status",
888
+ children: S.minutes > 0 ? h.overlap(z(S.minutes), T, B(f(S.both, C))) : h.none(T)
889
+ })
890
+ ]
891
+ });
892
+ }
893
+ // src/styles.css?inline
894
+ var U = ":host{--_bg:var(--tom-bg,transparent);--_fg:var(--tom-fg,CanvasText);--_muted:var(--tom-muted,color-mix(in oklch, var(--_fg) 55%, transparent));--_track:var(--tom-track,color-mix(in oklch, var(--_fg) 10%, transparent));--_home:var(--tom-home,oklch(72% .14 200));--_visitor:var(--tom-visitor,oklch(75% .15 70));--_both:var(--tom-overlap,oklch(72% .17 145));--_land:var(--tom-land,color-mix(in oklch, var(--_fg) 22%, transparent));--_night:var(--tom-night,oklch(0% 0 0/.42));--_sun:var(--tom-sun,oklch(97% .06 95));--_radius:var(--tom-radius,4px);font:var(--tom-font,inherit);color:var(--_fg);background:var(--_bg);display:block}@supports (color:light-dark(black, white)){:host{--_night:var(--tom-night,light-dark(oklch(30% .03 260/.16),oklch(0% 0 0/.42)));--_sun:var(--tom-sun,light-dark(oklch(78% .16 75),oklch(97% .06 95)))}}:host([hidden]){display:none}.widget{gap:1rem;display:grid;container-type:inline-size}.map{block-size:auto;inline-size:100%;display:block;overflow:hidden}.land{fill:var(--_land)}.band rect{opacity:.28}.band.home rect{fill:var(--_home)}.band.visitor rect{fill:var(--_visitor)}.night{fill:var(--_night)}.sun{fill:var(--_sun)}.sun-halo{fill:var(--_sun);opacity:.22}.dot{stroke:var(--_fg);stroke-width:.75px}.dot.home{fill:var(--_home)}.dot.visitor{fill:var(--_visitor)}@container (width<480px){.dot{r:4;stroke-width:1px}.sun{r:3.5}.sun-halo{r:9}}.clocks{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;display:flex}.clock{align-items:center;gap:.5rem;margin:0;display:flex}.clock time{font-variant-numeric:tabular-nums;color:var(--_muted)}select{font:inherit;color:inherit;border:1px solid var(--_track);border-radius:var(--_radius);background:0 0;max-width:16rem;padding:.125rem .25rem}.swatch{border-radius:50%;block-size:.75rem;inline-size:.75rem}.timeline{gap:.25rem;padding-block-end:1.25rem;display:grid;position:relative}.track{border-radius:var(--_radius);background:var(--_track);block-size:.5rem;position:relative}.track>span{border-radius:var(--_radius);position:absolute;inset-block:0}.home{background:var(--_home)}.visitor{background:var(--_visitor)}.both{background:var(--_both)}.now{background:var(--_fg);inline-size:2px;position:absolute;inset-block:-.25rem 1rem;translate:-1px}.ticks{color:var(--_muted);font-size:.75em;position:absolute;inset-block-end:0;inset-inline:0}.ticks>span{position:absolute;translate:-50%}.ticks>span:first-child{translate:0}.ticks>span:last-child{translate:-100%}.summary{margin:0}", W = "timezone-overlap-map", G = [
895
+ "home-zone",
896
+ "home-label",
897
+ "visitor-zone",
898
+ "work-start",
899
+ "work-end",
900
+ "lang"
901
+ ], K = typeof HTMLElement > "u" ? class {} : HTMLElement, q;
902
+ function J(e) {
903
+ if ("adoptedStyleSheets" in e && typeof CSSStyleSheet.prototype.replaceSync == "function") q ??= new CSSStyleSheet(), q.cssRules.length || q.replaceSync(U), e.adoptedStyleSheets = [q];
904
+ else {
905
+ let t = document.createElement("style");
906
+ t.textContent = U, e.append(t);
907
+ }
908
+ }
909
+ function Y(e, t) {
910
+ let n = e === null ? NaN : Number(e);
911
+ return Number.isFinite(n) && n >= 0 && n <= 24 ? n : t;
912
+ }
913
+ var X = class extends K {
914
+ static observedAttributes = G;
915
+ #e;
916
+ #t;
917
+ connectedCallback() {
918
+ if (this.#t !== void 0 && (clearTimeout(this.#t), this.#t = void 0), !this.#e) {
919
+ let e = this.shadowRoot ?? this.attachShadow({ mode: "open" });
920
+ J(e);
921
+ let t = document.createElement("div");
922
+ e.append(t), this.#e = i(t);
923
+ }
924
+ this.#n();
925
+ }
926
+ disconnectedCallback() {
927
+ this.#t = window.setTimeout(() => {
928
+ this.#e?.unmount(), this.#e = void 0, this.shadowRoot?.replaceChildren(), this.#t = void 0;
929
+ });
930
+ }
931
+ attributeChangedCallback() {
932
+ this.#e && this.#n();
933
+ }
934
+ #n() {
935
+ let t = this.getAttribute("home-zone"), n = this.getAttribute("visitor-zone"), r = n && l(n) ? n : P();
936
+ this.#e?.render(/* @__PURE__ */ a(e, { children: /* @__PURE__ */ a(H, {
937
+ homeZone: t && l(t) ? t : "UTC",
938
+ homeLabel: this.getAttribute("home-label") ?? void 0,
939
+ visitorZone: r,
940
+ workStart: Y(this.getAttribute("work-start"), 9),
941
+ workEnd: Y(this.getAttribute("work-end"), 18),
942
+ lang: x(this.closest("[lang]")?.getAttribute("lang")),
943
+ onVisitorZoneChange: (e) => this.dispatchEvent(new CustomEvent("zonechange", {
944
+ detail: { zone: e },
945
+ bubbles: !0,
946
+ composed: !0
947
+ }))
948
+ }, r) }));
949
+ }
950
+ };
951
+ function Z(e = W) {
952
+ typeof customElements > "u" || customElements.get(e) || customElements.define(e, class extends X {});
953
+ }
954
+ // src/index.ts
955
+ Z();
956
+ export { b as MESSAGES, W as TAG_NAME, X as TimezoneOverlapMapElement, Z as defineTimezoneOverlapMap, u as offsetMinutes, _ as overlap, x as resolveLang };