AceTime  2.4.0
Date and time classes for Arduino that support timezones from the TZ Database.
zone_infos.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeTools/src/acetimetools/tzcompiler.py
4 // --input_dir /home/brian/src/AceTime/src/zonedbc/tzfiles
5 // --output_dir /home/brian/src/AceTime/src/zonedbc
6 // --tz_version 2024b
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbc
11 // --start_year 1800
12 // --until_year 2200
13 //
14 // using the TZ Database files
15 //
16 // africa
17 // antarctica
18 // asia
19 // australasia
20 // backward
21 // etcetera
22 // europe
23 // northamerica
24 // southamerica
25 //
26 // from https://github.com/eggert/tz/releases/tag/2024b
27 //
28 // Supported Zones: 596 (339 zones, 257 links)
29 // Unsupported Zones: 0 (0 zones, 0 links)
30 //
31 // Requested Years: [1800,2200]
32 // Accurate Years: [-32767,32767]
33 //
34 // Original Years: [1844,2087]
35 // Generated Years: [1844,2087]
36 // Lower/Upper Truncated: [False,False]
37 //
38 // Estimator Years: [1800,2090]
39 // Max Buffer Size: 8
40 //
41 // Records:
42 // Infos: 596
43 // Eras: 1941
44 // Policies: 134
45 // Rules: 2231
46 //
47 // Memory (8-bits):
48 // Context: 16
49 // Rules: 26772
50 // Policies: 402
51 // Eras: 29115
52 // Zones: 4407
53 // Links: 3341
54 // Registry: 1192
55 // Formats: 486
56 // Letters: 160
57 // Fragments: 150
58 // Names: 5649 (original: 9076)
59 // TOTAL: 71690
60 //
61 // Memory (32-bits):
62 // Context: 24
63 // Rules: 26772
64 // Policies: 1072
65 // Eras: 38820
66 // Zones: 8136
67 // Links: 6168
68 // Registry: 2384
69 // Formats: 486
70 // Letters: 216
71 // Fragments: 178
72 // Names: 5649 (original: 9076)
73 // TOTAL: 89905
74 //
75 // DO NOT EDIT
76 
77 #include <zoneinfo/compat.h>
78 #include "zone_policies.h"
79 #include "zone_infos.h"
80 
81 namespace ace_time {
82 namespace zonedbc {
83 
84 //---------------------------------------------------------------------------
85 // ZoneContext
86 //---------------------------------------------------------------------------
87 
88 static const char kVersionString[] ACE_TIME_PROGMEM = "2024b";
89 const __FlashStringHelper* const kTzDatabaseVersion =
90  (const __FlashStringHelper*) kVersionString;
91 
92 static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
93 static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
94 static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
95 static const char kFragment4[] ACE_TIME_PROGMEM = "Argentina/";
96 static const char kFragment5[] ACE_TIME_PROGMEM = "Asia/";
97 static const char kFragment6[] ACE_TIME_PROGMEM = "Atlantic/";
98 static const char kFragment7[] ACE_TIME_PROGMEM = "Australia/";
99 static const char kFragment8[] ACE_TIME_PROGMEM = "Brazil/";
100 static const char kFragment9[] ACE_TIME_PROGMEM = "Canada/";
101 static const char kFragment10[] ACE_TIME_PROGMEM = "Etc/";
102 static const char kFragment11[] ACE_TIME_PROGMEM = "Europe/";
103 static const char kFragment12[] ACE_TIME_PROGMEM = "Indian/";
104 static const char kFragment13[] ACE_TIME_PROGMEM = "Indiana/";
105 static const char kFragment14[] ACE_TIME_PROGMEM = "Pacific/";
106 
107 const char* const kFragments[] ACE_TIME_PROGMEM = {
108  nullptr, // '\x00' cannot exist
109  kFragment1, // '\x01' "Africa/"
110  kFragment2, // '\x02' "America/"
111  kFragment3, // '\x03' "Antarctica/"
112  kFragment4, // '\x04' "Argentina/"
113  kFragment5, // '\x05' "Asia/"
114  kFragment6, // '\x06' "Atlantic/"
115  kFragment7, // '\x07' "Australia/"
116  kFragment8, // '\x08' "Brazil/"
117  kFragment9, // '\x09' "Canada/"
118  kFragment10, // '\x0a' "Etc/"
119  kFragment11, // '\x0b' "Europe/"
120  kFragment12, // '\x0c' "Indian/"
121  kFragment13, // '\x0d' "Indiana/"
122  kFragment14, // '\x0e' "Pacific/"
123 
124 };
125 
126 static const char kLetter0[] ACE_TIME_PROGMEM = "";
127 static const char kLetter1[] ACE_TIME_PROGMEM = "+00";
128 static const char kLetter2[] ACE_TIME_PROGMEM = "+02";
129 static const char kLetter3[] ACE_TIME_PROGMEM = "+05";
130 static const char kLetter4[] ACE_TIME_PROGMEM = "-0430";
131 static const char kLetter5[] ACE_TIME_PROGMEM = "-0530";
132 static const char kLetter6[] ACE_TIME_PROGMEM = "BDST";
133 static const char kLetter7[] ACE_TIME_PROGMEM = "BST";
134 static const char kLetter8[] ACE_TIME_PROGMEM = "CAT";
135 static const char kLetter9[] ACE_TIME_PROGMEM = "CDT";
136 static const char kLetter10[] ACE_TIME_PROGMEM = "CPT";
137 static const char kLetter11[] ACE_TIME_PROGMEM = "CST";
138 static const char kLetter12[] ACE_TIME_PROGMEM = "CWT";
139 static const char kLetter13[] ACE_TIME_PROGMEM = "D";
140 static const char kLetter14[] ACE_TIME_PROGMEM = "DD";
141 static const char kLetter15[] ACE_TIME_PROGMEM = "EDT";
142 static const char kLetter16[] ACE_TIME_PROGMEM = "EST";
143 static const char kLetter17[] ACE_TIME_PROGMEM = "GMT";
144 static const char kLetter18[] ACE_TIME_PROGMEM = "M";
145 static const char kLetter19[] ACE_TIME_PROGMEM = "MDST";
146 static const char kLetter20[] ACE_TIME_PROGMEM = "MMT";
147 static const char kLetter21[] ACE_TIME_PROGMEM = "MSD";
148 static const char kLetter22[] ACE_TIME_PROGMEM = "MSK";
149 static const char kLetter23[] ACE_TIME_PROGMEM = "MST";
150 static const char kLetter24[] ACE_TIME_PROGMEM = "P";
151 static const char kLetter25[] ACE_TIME_PROGMEM = "S";
152 static const char kLetter26[] ACE_TIME_PROGMEM = "W";
153 static const char kLetter27[] ACE_TIME_PROGMEM = "WAT";
154 
155 const char* const kLetters[] ACE_TIME_PROGMEM = {
156  kLetter0, // ""
157  kLetter1, // "+00"
158  kLetter2, // "+02"
159  kLetter3, // "+05"
160  kLetter4, // "-0430"
161  kLetter5, // "-0530"
162  kLetter6, // "BDST"
163  kLetter7, // "BST"
164  kLetter8, // "CAT"
165  kLetter9, // "CDT"
166  kLetter10, // "CPT"
167  kLetter11, // "CST"
168  kLetter12, // "CWT"
169  kLetter13, // "D"
170  kLetter14, // "DD"
171  kLetter15, // "EDT"
172  kLetter16, // "EST"
173  kLetter17, // "GMT"
174  kLetter18, // "M"
175  kLetter19, // "MDST"
176  kLetter20, // "MMT"
177  kLetter21, // "MSD"
178  kLetter22, // "MSK"
179  kLetter23, // "MST"
180  kLetter24, // "P"
181  kLetter25, // "S"
182  kLetter26, // "W"
183  kLetter27, // "WAT"
184 
185 };
186 
187 const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
188  1800 /*startYear*/,
189  2200 /*untilYear*/,
190  -32767 /*startYearAccurate*/,
191  32767 /*untilYearAccurate*/,
192  2100 /*baseYear*/,
193  8 /*maxTransitions*/,
194  kVersionString /*tzVersion*/,
195  15 /*numFragments*/,
196  28 /*numLetters*/,
197  kFragments /*fragments*/,
198  kLetters /*letters*/,
199 };
200 
201 //---------------------------------------------------------------------------
202 // Zones: 339
203 // Eras: 1941
204 //---------------------------------------------------------------------------
205 
206 //---------------------------------------------------------------------------
207 // Zone name: Africa/Abidjan
208 // Eras: 2
209 //---------------------------------------------------------------------------
210 
211 static const complete::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
212  // -0:16:08 - LMT 1912 Jan 1
213  {
214  nullptr /*zonePolicy*/,
215  "LMT" /*format*/,
216  -65 /*offsetCode (-968/15)*/,
217  7 /*offsetRemainder (-968%15)*/,
218  0 /*deltaMinutes*/,
219  1912 /*untilYear*/,
220  1 /*untilMonth*/,
221  1 /*untilDay*/,
222  0 /*untilTimeCode (0/15)*/,
223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
224  },
225  // 0:00 - GMT
226  {
227  nullptr /*zonePolicy*/,
228  "GMT" /*format*/,
229  0 /*offsetCode (0/15)*/,
230  0 /*offsetRemainder (0%15)*/,
231  0 /*deltaMinutes*/,
232  32767 /*untilYear*/,
233  1 /*untilMonth*/,
234  1 /*untilDay*/,
235  0 /*untilTimeCode (0/15)*/,
236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
237  },
238 
239 };
240 
241 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";
242 
243 const complete::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
244  kZoneNameAfrica_Abidjan /*name*/,
245  0xc21305a3 /*zoneId*/,
246  &kZoneContext /*zoneContext*/,
247  2 /*numEras*/,
248  kZoneEraAfrica_Abidjan /*eras*/,
249  nullptr /*targetInfo*/,
250 };
251 
252 //---------------------------------------------------------------------------
253 // Zone name: Africa/Algiers
254 // Eras: 10
255 //---------------------------------------------------------------------------
256 
257 static const complete::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
258  // 0:12:12 - LMT 1891 Mar 16
259  {
260  nullptr /*zonePolicy*/,
261  "LMT" /*format*/,
262  48 /*offsetCode (732/15)*/,
263  12 /*offsetRemainder (732%15)*/,
264  0 /*deltaMinutes*/,
265  1891 /*untilYear*/,
266  3 /*untilMonth*/,
267  16 /*untilDay*/,
268  0 /*untilTimeCode (0/15)*/,
269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
270  },
271  // 0:09:21 - PMT 1911 Mar 11
272  {
273  nullptr /*zonePolicy*/,
274  "PMT" /*format*/,
275  37 /*offsetCode (561/15)*/,
276  6 /*offsetRemainder (561%15)*/,
277  0 /*deltaMinutes*/,
278  1911 /*untilYear*/,
279  3 /*untilMonth*/,
280  11 /*untilDay*/,
281  0 /*untilTimeCode (0/15)*/,
282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
283  },
284  // 0:00 Algeria WE%sT 1940 Feb 25 2:00
285  {
286  &kZonePolicyAlgeria /*zonePolicy*/,
287  "WE%T" /*format*/,
288  0 /*offsetCode (0/15)*/,
289  0 /*offsetRemainder (0%15)*/,
290  0 /*deltaMinutes*/,
291  1940 /*untilYear*/,
292  2 /*untilMonth*/,
293  25 /*untilDay*/,
294  480 /*untilTimeCode (7200/15)*/,
295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
296  },
297  // 1:00 Algeria CE%sT 1946 Oct 7
298  {
299  &kZonePolicyAlgeria /*zonePolicy*/,
300  "CE%T" /*format*/,
301  240 /*offsetCode (3600/15)*/,
302  0 /*offsetRemainder (3600%15)*/,
303  0 /*deltaMinutes*/,
304  1946 /*untilYear*/,
305  10 /*untilMonth*/,
306  7 /*untilDay*/,
307  0 /*untilTimeCode (0/15)*/,
308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
309  },
310  // 0:00 - WET 1956 Jan 29
311  {
312  nullptr /*zonePolicy*/,
313  "WET" /*format*/,
314  0 /*offsetCode (0/15)*/,
315  0 /*offsetRemainder (0%15)*/,
316  0 /*deltaMinutes*/,
317  1956 /*untilYear*/,
318  1 /*untilMonth*/,
319  29 /*untilDay*/,
320  0 /*untilTimeCode (0/15)*/,
321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
322  },
323  // 1:00 - CET 1963 Apr 14
324  {
325  nullptr /*zonePolicy*/,
326  "CET" /*format*/,
327  240 /*offsetCode (3600/15)*/,
328  0 /*offsetRemainder (3600%15)*/,
329  0 /*deltaMinutes*/,
330  1963 /*untilYear*/,
331  4 /*untilMonth*/,
332  14 /*untilDay*/,
333  0 /*untilTimeCode (0/15)*/,
334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
335  },
336  // 0:00 Algeria WE%sT 1977 Oct 21
337  {
338  &kZonePolicyAlgeria /*zonePolicy*/,
339  "WE%T" /*format*/,
340  0 /*offsetCode (0/15)*/,
341  0 /*offsetRemainder (0%15)*/,
342  0 /*deltaMinutes*/,
343  1977 /*untilYear*/,
344  10 /*untilMonth*/,
345  21 /*untilDay*/,
346  0 /*untilTimeCode (0/15)*/,
347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
348  },
349  // 1:00 Algeria CE%sT 1979 Oct 26
350  {
351  &kZonePolicyAlgeria /*zonePolicy*/,
352  "CE%T" /*format*/,
353  240 /*offsetCode (3600/15)*/,
354  0 /*offsetRemainder (3600%15)*/,
355  0 /*deltaMinutes*/,
356  1979 /*untilYear*/,
357  10 /*untilMonth*/,
358  26 /*untilDay*/,
359  0 /*untilTimeCode (0/15)*/,
360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
361  },
362  // 0:00 Algeria WE%sT 1981 May
363  {
364  &kZonePolicyAlgeria /*zonePolicy*/,
365  "WE%T" /*format*/,
366  0 /*offsetCode (0/15)*/,
367  0 /*offsetRemainder (0%15)*/,
368  0 /*deltaMinutes*/,
369  1981 /*untilYear*/,
370  5 /*untilMonth*/,
371  1 /*untilDay*/,
372  0 /*untilTimeCode (0/15)*/,
373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
374  },
375  // 1:00 - CET
376  {
377  nullptr /*zonePolicy*/,
378  "CET" /*format*/,
379  240 /*offsetCode (3600/15)*/,
380  0 /*offsetRemainder (3600%15)*/,
381  0 /*deltaMinutes*/,
382  32767 /*untilYear*/,
383  1 /*untilMonth*/,
384  1 /*untilDay*/,
385  0 /*untilTimeCode (0/15)*/,
386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
387  },
388 
389 };
390 
391 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";
392 
393 const complete::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
394  kZoneNameAfrica_Algiers /*name*/,
395  0xd94515c1 /*zoneId*/,
396  &kZoneContext /*zoneContext*/,
397  10 /*numEras*/,
398  kZoneEraAfrica_Algiers /*eras*/,
399  nullptr /*targetInfo*/,
400 };
401 
402 //---------------------------------------------------------------------------
403 // Zone name: Africa/Bissau
404 // Eras: 3
405 //---------------------------------------------------------------------------
406 
407 static const complete::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
408  // -1:02:20 - LMT 1912 Jan 1 1:00u
409  {
410  nullptr /*zonePolicy*/,
411  "LMT" /*format*/,
412  -250 /*offsetCode (-3740/15)*/,
413  10 /*offsetRemainder (-3740%15)*/,
414  0 /*deltaMinutes*/,
415  1912 /*untilYear*/,
416  1 /*untilMonth*/,
417  1 /*untilDay*/,
418  240 /*untilTimeCode (3600/15)*/,
419  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
420  },
421  // -1:00 - %z 1975
422  {
423  nullptr /*zonePolicy*/,
424  "" /*format*/,
425  -240 /*offsetCode (-3600/15)*/,
426  0 /*offsetRemainder (-3600%15)*/,
427  0 /*deltaMinutes*/,
428  1975 /*untilYear*/,
429  1 /*untilMonth*/,
430  1 /*untilDay*/,
431  0 /*untilTimeCode (0/15)*/,
432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
433  },
434  // 0:00 - GMT
435  {
436  nullptr /*zonePolicy*/,
437  "GMT" /*format*/,
438  0 /*offsetCode (0/15)*/,
439  0 /*offsetRemainder (0%15)*/,
440  0 /*deltaMinutes*/,
441  32767 /*untilYear*/,
442  1 /*untilMonth*/,
443  1 /*untilDay*/,
444  0 /*untilTimeCode (0/15)*/,
445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
446  },
447 
448 };
449 
450 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";
451 
452 const complete::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
453  kZoneNameAfrica_Bissau /*name*/,
454  0x75564141 /*zoneId*/,
455  &kZoneContext /*zoneContext*/,
456  3 /*numEras*/,
457  kZoneEraAfrica_Bissau /*eras*/,
458  nullptr /*targetInfo*/,
459 };
460 
461 //---------------------------------------------------------------------------
462 // Zone name: Africa/Cairo
463 // Eras: 2
464 //---------------------------------------------------------------------------
465 
466 static const complete::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
467  // 2:05:09 - LMT 1900 Oct
468  {
469  nullptr /*zonePolicy*/,
470  "LMT" /*format*/,
471  500 /*offsetCode (7509/15)*/,
472  9 /*offsetRemainder (7509%15)*/,
473  0 /*deltaMinutes*/,
474  1900 /*untilYear*/,
475  10 /*untilMonth*/,
476  1 /*untilDay*/,
477  0 /*untilTimeCode (0/15)*/,
478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
479  },
480  // 2:00 Egypt EE%sT
481  {
482  &kZonePolicyEgypt /*zonePolicy*/,
483  "EE%T" /*format*/,
484  480 /*offsetCode (7200/15)*/,
485  0 /*offsetRemainder (7200%15)*/,
486  0 /*deltaMinutes*/,
487  32767 /*untilYear*/,
488  1 /*untilMonth*/,
489  1 /*untilDay*/,
490  0 /*untilTimeCode (0/15)*/,
491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
492  },
493 
494 };
495 
496 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "\x01" "Cairo";
497 
498 const complete::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
499  kZoneNameAfrica_Cairo /*name*/,
500  0x77f8e228 /*zoneId*/,
501  &kZoneContext /*zoneContext*/,
502  2 /*numEras*/,
503  kZoneEraAfrica_Cairo /*eras*/,
504  nullptr /*targetInfo*/,
505 };
506 
507 //---------------------------------------------------------------------------
508 // Zone name: Africa/Casablanca
509 // Eras: 5
510 //---------------------------------------------------------------------------
511 
512 static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
513  // -0:30:20 - LMT 1913 Oct 26
514  {
515  nullptr /*zonePolicy*/,
516  "LMT" /*format*/,
517  -122 /*offsetCode (-1820/15)*/,
518  10 /*offsetRemainder (-1820%15)*/,
519  0 /*deltaMinutes*/,
520  1913 /*untilYear*/,
521  10 /*untilMonth*/,
522  26 /*untilDay*/,
523  0 /*untilTimeCode (0/15)*/,
524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
525  },
526  // 0:00 Morocco %z 1984 Mar 16
527  {
528  &kZonePolicyMorocco /*zonePolicy*/,
529  "" /*format*/,
530  0 /*offsetCode (0/15)*/,
531  0 /*offsetRemainder (0%15)*/,
532  0 /*deltaMinutes*/,
533  1984 /*untilYear*/,
534  3 /*untilMonth*/,
535  16 /*untilDay*/,
536  0 /*untilTimeCode (0/15)*/,
537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
538  },
539  // 1:00 - %z 1986
540  {
541  nullptr /*zonePolicy*/,
542  "" /*format*/,
543  240 /*offsetCode (3600/15)*/,
544  0 /*offsetRemainder (3600%15)*/,
545  0 /*deltaMinutes*/,
546  1986 /*untilYear*/,
547  1 /*untilMonth*/,
548  1 /*untilDay*/,
549  0 /*untilTimeCode (0/15)*/,
550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
551  },
552  // 0:00 Morocco %z 2018 Oct 28 3:00
553  {
554  &kZonePolicyMorocco /*zonePolicy*/,
555  "" /*format*/,
556  0 /*offsetCode (0/15)*/,
557  0 /*offsetRemainder (0%15)*/,
558  0 /*deltaMinutes*/,
559  2018 /*untilYear*/,
560  10 /*untilMonth*/,
561  28 /*untilDay*/,
562  720 /*untilTimeCode (10800/15)*/,
563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
564  },
565  // 1:00 Morocco %z
566  {
567  &kZonePolicyMorocco /*zonePolicy*/,
568  "" /*format*/,
569  240 /*offsetCode (3600/15)*/,
570  0 /*offsetRemainder (3600%15)*/,
571  0 /*deltaMinutes*/,
572  32767 /*untilYear*/,
573  1 /*untilMonth*/,
574  1 /*untilDay*/,
575  0 /*untilTimeCode (0/15)*/,
576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
577  },
578 
579 };
580 
581 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "\x01" "Casablanca";
582 
583 const complete::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
584  kZoneNameAfrica_Casablanca /*name*/,
585  0xc59f1b33 /*zoneId*/,
586  &kZoneContext /*zoneContext*/,
587  5 /*numEras*/,
588  kZoneEraAfrica_Casablanca /*eras*/,
589  nullptr /*targetInfo*/,
590 };
591 
592 //---------------------------------------------------------------------------
593 // Zone name: Africa/Ceuta
594 // Eras: 9
595 //---------------------------------------------------------------------------
596 
597 static const complete::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
598  // -0:21:16 - LMT 1901 Jan 1 0:00u
599  {
600  nullptr /*zonePolicy*/,
601  "LMT" /*format*/,
602  -86 /*offsetCode (-1276/15)*/,
603  14 /*offsetRemainder (-1276%15)*/,
604  0 /*deltaMinutes*/,
605  1901 /*untilYear*/,
606  1 /*untilMonth*/,
607  1 /*untilDay*/,
608  0 /*untilTimeCode (0/15)*/,
609  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
610  },
611  // 0:00 - WET 1918 May 6 23:00
612  {
613  nullptr /*zonePolicy*/,
614  "WET" /*format*/,
615  0 /*offsetCode (0/15)*/,
616  0 /*offsetRemainder (0%15)*/,
617  0 /*deltaMinutes*/,
618  1918 /*untilYear*/,
619  5 /*untilMonth*/,
620  6 /*untilDay*/,
621  5520 /*untilTimeCode (82800/15)*/,
622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
623  },
624  // 0:00 1:00 WEST 1918 Oct 7 23:00
625  {
626  nullptr /*zonePolicy*/,
627  "WEST" /*format*/,
628  0 /*offsetCode (0/15)*/,
629  0 /*offsetRemainder (0%15)*/,
630  60 /*deltaMinutes*/,
631  1918 /*untilYear*/,
632  10 /*untilMonth*/,
633  7 /*untilDay*/,
634  5520 /*untilTimeCode (82800/15)*/,
635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
636  },
637  // 0:00 - WET 1924
638  {
639  nullptr /*zonePolicy*/,
640  "WET" /*format*/,
641  0 /*offsetCode (0/15)*/,
642  0 /*offsetRemainder (0%15)*/,
643  0 /*deltaMinutes*/,
644  1924 /*untilYear*/,
645  1 /*untilMonth*/,
646  1 /*untilDay*/,
647  0 /*untilTimeCode (0/15)*/,
648  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
649  },
650  // 0:00 Spain WE%sT 1929
651  {
652  &kZonePolicySpain /*zonePolicy*/,
653  "WE%T" /*format*/,
654  0 /*offsetCode (0/15)*/,
655  0 /*offsetRemainder (0%15)*/,
656  0 /*deltaMinutes*/,
657  1929 /*untilYear*/,
658  1 /*untilMonth*/,
659  1 /*untilDay*/,
660  0 /*untilTimeCode (0/15)*/,
661  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
662  },
663  // 0:00 - WET 1967
664  {
665  nullptr /*zonePolicy*/,
666  "WET" /*format*/,
667  0 /*offsetCode (0/15)*/,
668  0 /*offsetRemainder (0%15)*/,
669  0 /*deltaMinutes*/,
670  1967 /*untilYear*/,
671  1 /*untilMonth*/,
672  1 /*untilDay*/,
673  0 /*untilTimeCode (0/15)*/,
674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
675  },
676  // 0:00 SpainAfrica WE%sT 1984 Mar 16
677  {
678  &kZonePolicySpainAfrica /*zonePolicy*/,
679  "WE%T" /*format*/,
680  0 /*offsetCode (0/15)*/,
681  0 /*offsetRemainder (0%15)*/,
682  0 /*deltaMinutes*/,
683  1984 /*untilYear*/,
684  3 /*untilMonth*/,
685  16 /*untilDay*/,
686  0 /*untilTimeCode (0/15)*/,
687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
688  },
689  // 1:00 - CET 1986
690  {
691  nullptr /*zonePolicy*/,
692  "CET" /*format*/,
693  240 /*offsetCode (3600/15)*/,
694  0 /*offsetRemainder (3600%15)*/,
695  0 /*deltaMinutes*/,
696  1986 /*untilYear*/,
697  1 /*untilMonth*/,
698  1 /*untilDay*/,
699  0 /*untilTimeCode (0/15)*/,
700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
701  },
702  // 1:00 EU CE%sT
703  {
704  &kZonePolicyEU /*zonePolicy*/,
705  "CE%T" /*format*/,
706  240 /*offsetCode (3600/15)*/,
707  0 /*offsetRemainder (3600%15)*/,
708  0 /*deltaMinutes*/,
709  32767 /*untilYear*/,
710  1 /*untilMonth*/,
711  1 /*untilDay*/,
712  0 /*untilTimeCode (0/15)*/,
713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
714  },
715 
716 };
717 
718 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";
719 
720 const complete::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
721  kZoneNameAfrica_Ceuta /*name*/,
722  0x77fb46ec /*zoneId*/,
723  &kZoneContext /*zoneContext*/,
724  9 /*numEras*/,
725  kZoneEraAfrica_Ceuta /*eras*/,
726  nullptr /*targetInfo*/,
727 };
728 
729 //---------------------------------------------------------------------------
730 // Zone name: Africa/El_Aaiun
731 // Eras: 4
732 //---------------------------------------------------------------------------
733 
734 static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
735  // -0:52:48 - LMT 1934 Jan
736  {
737  nullptr /*zonePolicy*/,
738  "LMT" /*format*/,
739  -212 /*offsetCode (-3168/15)*/,
740  12 /*offsetRemainder (-3168%15)*/,
741  0 /*deltaMinutes*/,
742  1934 /*untilYear*/,
743  1 /*untilMonth*/,
744  1 /*untilDay*/,
745  0 /*untilTimeCode (0/15)*/,
746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
747  },
748  // -1:00 - %z 1976 Apr 14
749  {
750  nullptr /*zonePolicy*/,
751  "" /*format*/,
752  -240 /*offsetCode (-3600/15)*/,
753  0 /*offsetRemainder (-3600%15)*/,
754  0 /*deltaMinutes*/,
755  1976 /*untilYear*/,
756  4 /*untilMonth*/,
757  14 /*untilDay*/,
758  0 /*untilTimeCode (0/15)*/,
759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
760  },
761  // 0:00 Morocco %z 2018 Oct 28 3:00
762  {
763  &kZonePolicyMorocco /*zonePolicy*/,
764  "" /*format*/,
765  0 /*offsetCode (0/15)*/,
766  0 /*offsetRemainder (0%15)*/,
767  0 /*deltaMinutes*/,
768  2018 /*untilYear*/,
769  10 /*untilMonth*/,
770  28 /*untilDay*/,
771  720 /*untilTimeCode (10800/15)*/,
772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
773  },
774  // 1:00 Morocco %z
775  {
776  &kZonePolicyMorocco /*zonePolicy*/,
777  "" /*format*/,
778  240 /*offsetCode (3600/15)*/,
779  0 /*offsetRemainder (3600%15)*/,
780  0 /*deltaMinutes*/,
781  32767 /*untilYear*/,
782  1 /*untilMonth*/,
783  1 /*untilDay*/,
784  0 /*untilTimeCode (0/15)*/,
785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
786  },
787 
788 };
789 
790 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "\x01" "El_Aaiun";
791 
792 const complete::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
793  kZoneNameAfrica_El_Aaiun /*name*/,
794  0x9d6fb118 /*zoneId*/,
795  &kZoneContext /*zoneContext*/,
796  4 /*numEras*/,
797  kZoneEraAfrica_El_Aaiun /*eras*/,
798  nullptr /*targetInfo*/,
799 };
800 
801 //---------------------------------------------------------------------------
802 // Zone name: Africa/Johannesburg
803 // Eras: 3
804 //---------------------------------------------------------------------------
805 
806 static const complete::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
807  // 1:52:00 - LMT 1892 Feb 8
808  {
809  nullptr /*zonePolicy*/,
810  "LMT" /*format*/,
811  448 /*offsetCode (6720/15)*/,
812  0 /*offsetRemainder (6720%15)*/,
813  0 /*deltaMinutes*/,
814  1892 /*untilYear*/,
815  2 /*untilMonth*/,
816  8 /*untilDay*/,
817  0 /*untilTimeCode (0/15)*/,
818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
819  },
820  // 1:30 - SAST 1903 Mar
821  {
822  nullptr /*zonePolicy*/,
823  "SAST" /*format*/,
824  360 /*offsetCode (5400/15)*/,
825  0 /*offsetRemainder (5400%15)*/,
826  0 /*deltaMinutes*/,
827  1903 /*untilYear*/,
828  3 /*untilMonth*/,
829  1 /*untilDay*/,
830  0 /*untilTimeCode (0/15)*/,
831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
832  },
833  // 2:00 SA SAST
834  {
835  &kZonePolicySA /*zonePolicy*/,
836  "SAST" /*format*/,
837  480 /*offsetCode (7200/15)*/,
838  0 /*offsetRemainder (7200%15)*/,
839  0 /*deltaMinutes*/,
840  32767 /*untilYear*/,
841  1 /*untilMonth*/,
842  1 /*untilDay*/,
843  0 /*untilTimeCode (0/15)*/,
844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
845  },
846 
847 };
848 
849 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";
850 
851 const complete::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
852  kZoneNameAfrica_Johannesburg /*name*/,
853  0xd5d157a0 /*zoneId*/,
854  &kZoneContext /*zoneContext*/,
855  3 /*numEras*/,
856  kZoneEraAfrica_Johannesburg /*eras*/,
857  nullptr /*targetInfo*/,
858 };
859 
860 //---------------------------------------------------------------------------
861 // Zone name: Africa/Juba
862 // Eras: 4
863 //---------------------------------------------------------------------------
864 
865 static const complete::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
866  // 2:06:28 - LMT 1931
867  {
868  nullptr /*zonePolicy*/,
869  "LMT" /*format*/,
870  505 /*offsetCode (7588/15)*/,
871  13 /*offsetRemainder (7588%15)*/,
872  0 /*deltaMinutes*/,
873  1931 /*untilYear*/,
874  1 /*untilMonth*/,
875  1 /*untilDay*/,
876  0 /*untilTimeCode (0/15)*/,
877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
878  },
879  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
880  {
881  &kZonePolicySudan /*zonePolicy*/,
882  "CA%T" /*format*/,
883  480 /*offsetCode (7200/15)*/,
884  0 /*offsetRemainder (7200%15)*/,
885  0 /*deltaMinutes*/,
886  2000 /*untilYear*/,
887  1 /*untilMonth*/,
888  15 /*untilDay*/,
889  2880 /*untilTimeCode (43200/15)*/,
890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
891  },
892  // 3:00 - EAT 2021 Feb 1 00:00
893  {
894  nullptr /*zonePolicy*/,
895  "EAT" /*format*/,
896  720 /*offsetCode (10800/15)*/,
897  0 /*offsetRemainder (10800%15)*/,
898  0 /*deltaMinutes*/,
899  2021 /*untilYear*/,
900  2 /*untilMonth*/,
901  1 /*untilDay*/,
902  0 /*untilTimeCode (0/15)*/,
903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
904  },
905  // 2:00 - CAT
906  {
907  nullptr /*zonePolicy*/,
908  "CAT" /*format*/,
909  480 /*offsetCode (7200/15)*/,
910  0 /*offsetRemainder (7200%15)*/,
911  0 /*deltaMinutes*/,
912  32767 /*untilYear*/,
913  1 /*untilMonth*/,
914  1 /*untilDay*/,
915  0 /*untilTimeCode (0/15)*/,
916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
917  },
918 
919 };
920 
921 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "\x01" "Juba";
922 
923 const complete::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
924  kZoneNameAfrica_Juba /*name*/,
925  0xd51b395c /*zoneId*/,
926  &kZoneContext /*zoneContext*/,
927  4 /*numEras*/,
928  kZoneEraAfrica_Juba /*eras*/,
929  nullptr /*targetInfo*/,
930 };
931 
932 //---------------------------------------------------------------------------
933 // Zone name: Africa/Khartoum
934 // Eras: 4
935 //---------------------------------------------------------------------------
936 
937 static const complete::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
938  // 2:10:08 - LMT 1931
939  {
940  nullptr /*zonePolicy*/,
941  "LMT" /*format*/,
942  520 /*offsetCode (7808/15)*/,
943  8 /*offsetRemainder (7808%15)*/,
944  0 /*deltaMinutes*/,
945  1931 /*untilYear*/,
946  1 /*untilMonth*/,
947  1 /*untilDay*/,
948  0 /*untilTimeCode (0/15)*/,
949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
950  },
951  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
952  {
953  &kZonePolicySudan /*zonePolicy*/,
954  "CA%T" /*format*/,
955  480 /*offsetCode (7200/15)*/,
956  0 /*offsetRemainder (7200%15)*/,
957  0 /*deltaMinutes*/,
958  2000 /*untilYear*/,
959  1 /*untilMonth*/,
960  15 /*untilDay*/,
961  2880 /*untilTimeCode (43200/15)*/,
962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
963  },
964  // 3:00 - EAT 2017 Nov 1
965  {
966  nullptr /*zonePolicy*/,
967  "EAT" /*format*/,
968  720 /*offsetCode (10800/15)*/,
969  0 /*offsetRemainder (10800%15)*/,
970  0 /*deltaMinutes*/,
971  2017 /*untilYear*/,
972  11 /*untilMonth*/,
973  1 /*untilDay*/,
974  0 /*untilTimeCode (0/15)*/,
975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
976  },
977  // 2:00 - CAT
978  {
979  nullptr /*zonePolicy*/,
980  "CAT" /*format*/,
981  480 /*offsetCode (7200/15)*/,
982  0 /*offsetRemainder (7200%15)*/,
983  0 /*deltaMinutes*/,
984  32767 /*untilYear*/,
985  1 /*untilMonth*/,
986  1 /*untilDay*/,
987  0 /*untilTimeCode (0/15)*/,
988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
989  },
990 
991 };
992 
993 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "\x01" "Khartoum";
994 
995 const complete::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
996  kZoneNameAfrica_Khartoum /*name*/,
997  0xfb3d4205 /*zoneId*/,
998  &kZoneContext /*zoneContext*/,
999  4 /*numEras*/,
1000  kZoneEraAfrica_Khartoum /*eras*/,
1001  nullptr /*targetInfo*/,
1002 };
1003 
1004 //---------------------------------------------------------------------------
1005 // Zone name: Africa/Lagos
1006 // Eras: 5
1007 //---------------------------------------------------------------------------
1008 
1009 static const complete::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
1010  // 0:13:35 - LMT 1905 Jul 1
1011  {
1012  nullptr /*zonePolicy*/,
1013  "LMT" /*format*/,
1014  54 /*offsetCode (815/15)*/,
1015  5 /*offsetRemainder (815%15)*/,
1016  0 /*deltaMinutes*/,
1017  1905 /*untilYear*/,
1018  7 /*untilMonth*/,
1019  1 /*untilDay*/,
1020  0 /*untilTimeCode (0/15)*/,
1021  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1022  },
1023  // 0:00 - GMT 1908 Jul 1
1024  {
1025  nullptr /*zonePolicy*/,
1026  "GMT" /*format*/,
1027  0 /*offsetCode (0/15)*/,
1028  0 /*offsetRemainder (0%15)*/,
1029  0 /*deltaMinutes*/,
1030  1908 /*untilYear*/,
1031  7 /*untilMonth*/,
1032  1 /*untilDay*/,
1033  0 /*untilTimeCode (0/15)*/,
1034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1035  },
1036  // 0:13:35 - LMT 1914 Jan 1
1037  {
1038  nullptr /*zonePolicy*/,
1039  "LMT" /*format*/,
1040  54 /*offsetCode (815/15)*/,
1041  5 /*offsetRemainder (815%15)*/,
1042  0 /*deltaMinutes*/,
1043  1914 /*untilYear*/,
1044  1 /*untilMonth*/,
1045  1 /*untilDay*/,
1046  0 /*untilTimeCode (0/15)*/,
1047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1048  },
1049  // 0:30 - %z 1919 Sep 1
1050  {
1051  nullptr /*zonePolicy*/,
1052  "" /*format*/,
1053  120 /*offsetCode (1800/15)*/,
1054  0 /*offsetRemainder (1800%15)*/,
1055  0 /*deltaMinutes*/,
1056  1919 /*untilYear*/,
1057  9 /*untilMonth*/,
1058  1 /*untilDay*/,
1059  0 /*untilTimeCode (0/15)*/,
1060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1061  },
1062  // 1:00 - WAT
1063  {
1064  nullptr /*zonePolicy*/,
1065  "WAT" /*format*/,
1066  240 /*offsetCode (3600/15)*/,
1067  0 /*offsetRemainder (3600%15)*/,
1068  0 /*deltaMinutes*/,
1069  32767 /*untilYear*/,
1070  1 /*untilMonth*/,
1071  1 /*untilDay*/,
1072  0 /*untilTimeCode (0/15)*/,
1073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1074  },
1075 
1076 };
1077 
1078 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";
1079 
1080 const complete::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
1081  kZoneNameAfrica_Lagos /*name*/,
1082  0x789bb5d0 /*zoneId*/,
1083  &kZoneContext /*zoneContext*/,
1084  5 /*numEras*/,
1085  kZoneEraAfrica_Lagos /*eras*/,
1086  nullptr /*targetInfo*/,
1087 };
1088 
1089 //---------------------------------------------------------------------------
1090 // Zone name: Africa/Maputo
1091 // Eras: 2
1092 //---------------------------------------------------------------------------
1093 
1094 static const complete::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
1095  // 2:10:18 - LMT 1909
1096  {
1097  nullptr /*zonePolicy*/,
1098  "LMT" /*format*/,
1099  521 /*offsetCode (7818/15)*/,
1100  3 /*offsetRemainder (7818%15)*/,
1101  0 /*deltaMinutes*/,
1102  1909 /*untilYear*/,
1103  1 /*untilMonth*/,
1104  1 /*untilDay*/,
1105  0 /*untilTimeCode (0/15)*/,
1106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1107  },
1108  // 2:00 - CAT
1109  {
1110  nullptr /*zonePolicy*/,
1111  "CAT" /*format*/,
1112  480 /*offsetCode (7200/15)*/,
1113  0 /*offsetRemainder (7200%15)*/,
1114  0 /*deltaMinutes*/,
1115  32767 /*untilYear*/,
1116  1 /*untilMonth*/,
1117  1 /*untilDay*/,
1118  0 /*untilTimeCode (0/15)*/,
1119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1120  },
1121 
1122 };
1123 
1124 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";
1125 
1126 const complete::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
1127  kZoneNameAfrica_Maputo /*name*/,
1128  0x8e6ca1f0 /*zoneId*/,
1129  &kZoneContext /*zoneContext*/,
1130  2 /*numEras*/,
1131  kZoneEraAfrica_Maputo /*eras*/,
1132  nullptr /*targetInfo*/,
1133 };
1134 
1135 //---------------------------------------------------------------------------
1136 // Zone name: Africa/Monrovia
1137 // Eras: 4
1138 //---------------------------------------------------------------------------
1139 
1140 static const complete::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
1141  // -0:43:08 - LMT 1882
1142  {
1143  nullptr /*zonePolicy*/,
1144  "LMT" /*format*/,
1145  -173 /*offsetCode (-2588/15)*/,
1146  7 /*offsetRemainder (-2588%15)*/,
1147  0 /*deltaMinutes*/,
1148  1882 /*untilYear*/,
1149  1 /*untilMonth*/,
1150  1 /*untilDay*/,
1151  0 /*untilTimeCode (0/15)*/,
1152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1153  },
1154  // -0:43:08 - MMT 1919 Mar
1155  {
1156  nullptr /*zonePolicy*/,
1157  "MMT" /*format*/,
1158  -173 /*offsetCode (-2588/15)*/,
1159  7 /*offsetRemainder (-2588%15)*/,
1160  0 /*deltaMinutes*/,
1161  1919 /*untilYear*/,
1162  3 /*untilMonth*/,
1163  1 /*untilDay*/,
1164  0 /*untilTimeCode (0/15)*/,
1165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1166  },
1167  // -0:44:30 - MMT 1972 Jan 7
1168  {
1169  nullptr /*zonePolicy*/,
1170  "MMT" /*format*/,
1171  -178 /*offsetCode (-2670/15)*/,
1172  0 /*offsetRemainder (-2670%15)*/,
1173  0 /*deltaMinutes*/,
1174  1972 /*untilYear*/,
1175  1 /*untilMonth*/,
1176  7 /*untilDay*/,
1177  0 /*untilTimeCode (0/15)*/,
1178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1179  },
1180  // 0:00 - GMT
1181  {
1182  nullptr /*zonePolicy*/,
1183  "GMT" /*format*/,
1184  0 /*offsetCode (0/15)*/,
1185  0 /*offsetRemainder (0%15)*/,
1186  0 /*deltaMinutes*/,
1187  32767 /*untilYear*/,
1188  1 /*untilMonth*/,
1189  1 /*untilDay*/,
1190  0 /*untilTimeCode (0/15)*/,
1191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1192  },
1193 
1194 };
1195 
1196 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";
1197 
1198 const complete::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
1199  kZoneNameAfrica_Monrovia /*name*/,
1200  0x0ce90385 /*zoneId*/,
1201  &kZoneContext /*zoneContext*/,
1202  4 /*numEras*/,
1203  kZoneEraAfrica_Monrovia /*eras*/,
1204  nullptr /*targetInfo*/,
1205 };
1206 
1207 //---------------------------------------------------------------------------
1208 // Zone name: Africa/Nairobi
1209 // Eras: 6
1210 //---------------------------------------------------------------------------
1211 
1212 static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
1213  // 2:27:16 - LMT 1908 May
1214  {
1215  nullptr /*zonePolicy*/,
1216  "LMT" /*format*/,
1217  589 /*offsetCode (8836/15)*/,
1218  1 /*offsetRemainder (8836%15)*/,
1219  0 /*deltaMinutes*/,
1220  1908 /*untilYear*/,
1221  5 /*untilMonth*/,
1222  1 /*untilDay*/,
1223  0 /*untilTimeCode (0/15)*/,
1224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1225  },
1226  // 2:30 - %z 1928 Jun 30 24:00
1227  {
1228  nullptr /*zonePolicy*/,
1229  "" /*format*/,
1230  600 /*offsetCode (9000/15)*/,
1231  0 /*offsetRemainder (9000%15)*/,
1232  0 /*deltaMinutes*/,
1233  1928 /*untilYear*/,
1234  6 /*untilMonth*/,
1235  30 /*untilDay*/,
1236  5760 /*untilTimeCode (86400/15)*/,
1237  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1238  },
1239  // 3:00 - EAT 1930 Jan 4 24:00
1240  {
1241  nullptr /*zonePolicy*/,
1242  "EAT" /*format*/,
1243  720 /*offsetCode (10800/15)*/,
1244  0 /*offsetRemainder (10800%15)*/,
1245  0 /*deltaMinutes*/,
1246  1930 /*untilYear*/,
1247  1 /*untilMonth*/,
1248  4 /*untilDay*/,
1249  5760 /*untilTimeCode (86400/15)*/,
1250  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1251  },
1252  // 2:30 - %z 1936 Dec 31 24:00
1253  {
1254  nullptr /*zonePolicy*/,
1255  "" /*format*/,
1256  600 /*offsetCode (9000/15)*/,
1257  0 /*offsetRemainder (9000%15)*/,
1258  0 /*deltaMinutes*/,
1259  1936 /*untilYear*/,
1260  12 /*untilMonth*/,
1261  31 /*untilDay*/,
1262  5760 /*untilTimeCode (86400/15)*/,
1263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1264  },
1265  // 2:45 - %z 1942 Jul 31 24:00
1266  {
1267  nullptr /*zonePolicy*/,
1268  "" /*format*/,
1269  660 /*offsetCode (9900/15)*/,
1270  0 /*offsetRemainder (9900%15)*/,
1271  0 /*deltaMinutes*/,
1272  1942 /*untilYear*/,
1273  7 /*untilMonth*/,
1274  31 /*untilDay*/,
1275  5760 /*untilTimeCode (86400/15)*/,
1276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1277  },
1278  // 3:00 - EAT
1279  {
1280  nullptr /*zonePolicy*/,
1281  "EAT" /*format*/,
1282  720 /*offsetCode (10800/15)*/,
1283  0 /*offsetRemainder (10800%15)*/,
1284  0 /*deltaMinutes*/,
1285  32767 /*untilYear*/,
1286  1 /*untilMonth*/,
1287  1 /*untilDay*/,
1288  0 /*untilTimeCode (0/15)*/,
1289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1290  },
1291 
1292 };
1293 
1294 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";
1295 
1296 const complete::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
1297  kZoneNameAfrica_Nairobi /*name*/,
1298  0xa87ab57e /*zoneId*/,
1299  &kZoneContext /*zoneContext*/,
1300  6 /*numEras*/,
1301  kZoneEraAfrica_Nairobi /*eras*/,
1302  nullptr /*targetInfo*/,
1303 };
1304 
1305 //---------------------------------------------------------------------------
1306 // Zone name: Africa/Ndjamena
1307 // Eras: 4
1308 //---------------------------------------------------------------------------
1309 
1310 static const complete::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
1311  // 1:00:12 - LMT 1912 Jan 1
1312  {
1313  nullptr /*zonePolicy*/,
1314  "LMT" /*format*/,
1315  240 /*offsetCode (3612/15)*/,
1316  12 /*offsetRemainder (3612%15)*/,
1317  0 /*deltaMinutes*/,
1318  1912 /*untilYear*/,
1319  1 /*untilMonth*/,
1320  1 /*untilDay*/,
1321  0 /*untilTimeCode (0/15)*/,
1322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1323  },
1324  // 1:00 - WAT 1979 Oct 14
1325  {
1326  nullptr /*zonePolicy*/,
1327  "WAT" /*format*/,
1328  240 /*offsetCode (3600/15)*/,
1329  0 /*offsetRemainder (3600%15)*/,
1330  0 /*deltaMinutes*/,
1331  1979 /*untilYear*/,
1332  10 /*untilMonth*/,
1333  14 /*untilDay*/,
1334  0 /*untilTimeCode (0/15)*/,
1335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1336  },
1337  // 1:00 1:00 WAST 1980 Mar 8
1338  {
1339  nullptr /*zonePolicy*/,
1340  "WAST" /*format*/,
1341  240 /*offsetCode (3600/15)*/,
1342  0 /*offsetRemainder (3600%15)*/,
1343  60 /*deltaMinutes*/,
1344  1980 /*untilYear*/,
1345  3 /*untilMonth*/,
1346  8 /*untilDay*/,
1347  0 /*untilTimeCode (0/15)*/,
1348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1349  },
1350  // 1:00 - WAT
1351  {
1352  nullptr /*zonePolicy*/,
1353  "WAT" /*format*/,
1354  240 /*offsetCode (3600/15)*/,
1355  0 /*offsetRemainder (3600%15)*/,
1356  0 /*deltaMinutes*/,
1357  32767 /*untilYear*/,
1358  1 /*untilMonth*/,
1359  1 /*untilDay*/,
1360  0 /*untilTimeCode (0/15)*/,
1361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1362  },
1363 
1364 };
1365 
1366 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";
1367 
1368 const complete::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
1369  kZoneNameAfrica_Ndjamena /*name*/,
1370  0x9fe09898 /*zoneId*/,
1371  &kZoneContext /*zoneContext*/,
1372  4 /*numEras*/,
1373  kZoneEraAfrica_Ndjamena /*eras*/,
1374  nullptr /*targetInfo*/,
1375 };
1376 
1377 //---------------------------------------------------------------------------
1378 // Zone name: Africa/Sao_Tome
1379 // Eras: 5
1380 //---------------------------------------------------------------------------
1381 
1382 static const complete::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
1383  // 0:26:56 - LMT 1884
1384  {
1385  nullptr /*zonePolicy*/,
1386  "LMT" /*format*/,
1387  107 /*offsetCode (1616/15)*/,
1388  11 /*offsetRemainder (1616%15)*/,
1389  0 /*deltaMinutes*/,
1390  1884 /*untilYear*/,
1391  1 /*untilMonth*/,
1392  1 /*untilDay*/,
1393  0 /*untilTimeCode (0/15)*/,
1394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1395  },
1396  // -0:36:45 - LMT 1912 Jan 1 00:00u
1397  {
1398  nullptr /*zonePolicy*/,
1399  "LMT" /*format*/,
1400  -147 /*offsetCode (-2205/15)*/,
1401  0 /*offsetRemainder (-2205%15)*/,
1402  0 /*deltaMinutes*/,
1403  1912 /*untilYear*/,
1404  1 /*untilMonth*/,
1405  1 /*untilDay*/,
1406  0 /*untilTimeCode (0/15)*/,
1407  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
1408  },
1409  // 0:00 - GMT 2018 Jan 1 01:00
1410  {
1411  nullptr /*zonePolicy*/,
1412  "GMT" /*format*/,
1413  0 /*offsetCode (0/15)*/,
1414  0 /*offsetRemainder (0%15)*/,
1415  0 /*deltaMinutes*/,
1416  2018 /*untilYear*/,
1417  1 /*untilMonth*/,
1418  1 /*untilDay*/,
1419  240 /*untilTimeCode (3600/15)*/,
1420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1421  },
1422  // 1:00 - WAT 2019 Jan 1 02:00
1423  {
1424  nullptr /*zonePolicy*/,
1425  "WAT" /*format*/,
1426  240 /*offsetCode (3600/15)*/,
1427  0 /*offsetRemainder (3600%15)*/,
1428  0 /*deltaMinutes*/,
1429  2019 /*untilYear*/,
1430  1 /*untilMonth*/,
1431  1 /*untilDay*/,
1432  480 /*untilTimeCode (7200/15)*/,
1433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1434  },
1435  // 0:00 - GMT
1436  {
1437  nullptr /*zonePolicy*/,
1438  "GMT" /*format*/,
1439  0 /*offsetCode (0/15)*/,
1440  0 /*offsetRemainder (0%15)*/,
1441  0 /*deltaMinutes*/,
1442  32767 /*untilYear*/,
1443  1 /*untilMonth*/,
1444  1 /*untilDay*/,
1445  0 /*untilTimeCode (0/15)*/,
1446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1447  },
1448 
1449 };
1450 
1451 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "\x01" "Sao_Tome";
1452 
1453 const complete::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
1454  kZoneNameAfrica_Sao_Tome /*name*/,
1455  0x61b319d1 /*zoneId*/,
1456  &kZoneContext /*zoneContext*/,
1457  5 /*numEras*/,
1458  kZoneEraAfrica_Sao_Tome /*eras*/,
1459  nullptr /*targetInfo*/,
1460 };
1461 
1462 //---------------------------------------------------------------------------
1463 // Zone name: Africa/Tripoli
1464 // Eras: 9
1465 //---------------------------------------------------------------------------
1466 
1467 static const complete::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
1468  // 0:52:44 - LMT 1920
1469  {
1470  nullptr /*zonePolicy*/,
1471  "LMT" /*format*/,
1472  210 /*offsetCode (3164/15)*/,
1473  14 /*offsetRemainder (3164%15)*/,
1474  0 /*deltaMinutes*/,
1475  1920 /*untilYear*/,
1476  1 /*untilMonth*/,
1477  1 /*untilDay*/,
1478  0 /*untilTimeCode (0/15)*/,
1479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1480  },
1481  // 1:00 Libya CE%sT 1959
1482  {
1483  &kZonePolicyLibya /*zonePolicy*/,
1484  "CE%T" /*format*/,
1485  240 /*offsetCode (3600/15)*/,
1486  0 /*offsetRemainder (3600%15)*/,
1487  0 /*deltaMinutes*/,
1488  1959 /*untilYear*/,
1489  1 /*untilMonth*/,
1490  1 /*untilDay*/,
1491  0 /*untilTimeCode (0/15)*/,
1492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1493  },
1494  // 2:00 - EET 1982
1495  {
1496  nullptr /*zonePolicy*/,
1497  "EET" /*format*/,
1498  480 /*offsetCode (7200/15)*/,
1499  0 /*offsetRemainder (7200%15)*/,
1500  0 /*deltaMinutes*/,
1501  1982 /*untilYear*/,
1502  1 /*untilMonth*/,
1503  1 /*untilDay*/,
1504  0 /*untilTimeCode (0/15)*/,
1505  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1506  },
1507  // 1:00 Libya CE%sT 1990 May 4
1508  {
1509  &kZonePolicyLibya /*zonePolicy*/,
1510  "CE%T" /*format*/,
1511  240 /*offsetCode (3600/15)*/,
1512  0 /*offsetRemainder (3600%15)*/,
1513  0 /*deltaMinutes*/,
1514  1990 /*untilYear*/,
1515  5 /*untilMonth*/,
1516  4 /*untilDay*/,
1517  0 /*untilTimeCode (0/15)*/,
1518  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1519  },
1520  // 2:00 - EET 1996 Sep 30
1521  {
1522  nullptr /*zonePolicy*/,
1523  "EET" /*format*/,
1524  480 /*offsetCode (7200/15)*/,
1525  0 /*offsetRemainder (7200%15)*/,
1526  0 /*deltaMinutes*/,
1527  1996 /*untilYear*/,
1528  9 /*untilMonth*/,
1529  30 /*untilDay*/,
1530  0 /*untilTimeCode (0/15)*/,
1531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1532  },
1533  // 1:00 Libya CE%sT 1997 Oct 4
1534  {
1535  &kZonePolicyLibya /*zonePolicy*/,
1536  "CE%T" /*format*/,
1537  240 /*offsetCode (3600/15)*/,
1538  0 /*offsetRemainder (3600%15)*/,
1539  0 /*deltaMinutes*/,
1540  1997 /*untilYear*/,
1541  10 /*untilMonth*/,
1542  4 /*untilDay*/,
1543  0 /*untilTimeCode (0/15)*/,
1544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1545  },
1546  // 2:00 - EET 2012 Nov 10 2:00
1547  {
1548  nullptr /*zonePolicy*/,
1549  "EET" /*format*/,
1550  480 /*offsetCode (7200/15)*/,
1551  0 /*offsetRemainder (7200%15)*/,
1552  0 /*deltaMinutes*/,
1553  2012 /*untilYear*/,
1554  11 /*untilMonth*/,
1555  10 /*untilDay*/,
1556  480 /*untilTimeCode (7200/15)*/,
1557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1558  },
1559  // 1:00 Libya CE%sT 2013 Oct 25 2:00
1560  {
1561  &kZonePolicyLibya /*zonePolicy*/,
1562  "CE%T" /*format*/,
1563  240 /*offsetCode (3600/15)*/,
1564  0 /*offsetRemainder (3600%15)*/,
1565  0 /*deltaMinutes*/,
1566  2013 /*untilYear*/,
1567  10 /*untilMonth*/,
1568  25 /*untilDay*/,
1569  480 /*untilTimeCode (7200/15)*/,
1570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1571  },
1572  // 2:00 - EET
1573  {
1574  nullptr /*zonePolicy*/,
1575  "EET" /*format*/,
1576  480 /*offsetCode (7200/15)*/,
1577  0 /*offsetRemainder (7200%15)*/,
1578  0 /*deltaMinutes*/,
1579  32767 /*untilYear*/,
1580  1 /*untilMonth*/,
1581  1 /*untilDay*/,
1582  0 /*untilTimeCode (0/15)*/,
1583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1584  },
1585 
1586 };
1587 
1588 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "\x01" "Tripoli";
1589 
1590 const complete::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
1591  kZoneNameAfrica_Tripoli /*name*/,
1592  0x9dfebd3d /*zoneId*/,
1593  &kZoneContext /*zoneContext*/,
1594  9 /*numEras*/,
1595  kZoneEraAfrica_Tripoli /*eras*/,
1596  nullptr /*targetInfo*/,
1597 };
1598 
1599 //---------------------------------------------------------------------------
1600 // Zone name: Africa/Tunis
1601 // Eras: 3
1602 //---------------------------------------------------------------------------
1603 
1604 static const complete::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
1605  // 0:40:44 - LMT 1881 May 12
1606  {
1607  nullptr /*zonePolicy*/,
1608  "LMT" /*format*/,
1609  162 /*offsetCode (2444/15)*/,
1610  14 /*offsetRemainder (2444%15)*/,
1611  0 /*deltaMinutes*/,
1612  1881 /*untilYear*/,
1613  5 /*untilMonth*/,
1614  12 /*untilDay*/,
1615  0 /*untilTimeCode (0/15)*/,
1616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1617  },
1618  // 0:09:21 - PMT 1911 Mar 11
1619  {
1620  nullptr /*zonePolicy*/,
1621  "PMT" /*format*/,
1622  37 /*offsetCode (561/15)*/,
1623  6 /*offsetRemainder (561%15)*/,
1624  0 /*deltaMinutes*/,
1625  1911 /*untilYear*/,
1626  3 /*untilMonth*/,
1627  11 /*untilDay*/,
1628  0 /*untilTimeCode (0/15)*/,
1629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1630  },
1631  // 1:00 Tunisia CE%sT
1632  {
1633  &kZonePolicyTunisia /*zonePolicy*/,
1634  "CE%T" /*format*/,
1635  240 /*offsetCode (3600/15)*/,
1636  0 /*offsetRemainder (3600%15)*/,
1637  0 /*deltaMinutes*/,
1638  32767 /*untilYear*/,
1639  1 /*untilMonth*/,
1640  1 /*untilDay*/,
1641  0 /*untilTimeCode (0/15)*/,
1642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1643  },
1644 
1645 };
1646 
1647 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";
1648 
1649 const complete::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
1650  kZoneNameAfrica_Tunis /*name*/,
1651  0x79378e6d /*zoneId*/,
1652  &kZoneContext /*zoneContext*/,
1653  3 /*numEras*/,
1654  kZoneEraAfrica_Tunis /*eras*/,
1655  nullptr /*targetInfo*/,
1656 };
1657 
1658 //---------------------------------------------------------------------------
1659 // Zone name: Africa/Windhoek
1660 // Eras: 6
1661 //---------------------------------------------------------------------------
1662 
1663 static const complete::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
1664  // 1:08:24 - LMT 1892 Feb 8
1665  {
1666  nullptr /*zonePolicy*/,
1667  "LMT" /*format*/,
1668  273 /*offsetCode (4104/15)*/,
1669  9 /*offsetRemainder (4104%15)*/,
1670  0 /*deltaMinutes*/,
1671  1892 /*untilYear*/,
1672  2 /*untilMonth*/,
1673  8 /*untilDay*/,
1674  0 /*untilTimeCode (0/15)*/,
1675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1676  },
1677  // 1:30 - %z 1903 Mar
1678  {
1679  nullptr /*zonePolicy*/,
1680  "" /*format*/,
1681  360 /*offsetCode (5400/15)*/,
1682  0 /*offsetRemainder (5400%15)*/,
1683  0 /*deltaMinutes*/,
1684  1903 /*untilYear*/,
1685  3 /*untilMonth*/,
1686  1 /*untilDay*/,
1687  0 /*untilTimeCode (0/15)*/,
1688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1689  },
1690  // 2:00 - SAST 1942 Sep 20 2:00
1691  {
1692  nullptr /*zonePolicy*/,
1693  "SAST" /*format*/,
1694  480 /*offsetCode (7200/15)*/,
1695  0 /*offsetRemainder (7200%15)*/,
1696  0 /*deltaMinutes*/,
1697  1942 /*untilYear*/,
1698  9 /*untilMonth*/,
1699  20 /*untilDay*/,
1700  480 /*untilTimeCode (7200/15)*/,
1701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1702  },
1703  // 2:00 1:00 SAST 1943 Mar 21 2:00
1704  {
1705  nullptr /*zonePolicy*/,
1706  "SAST" /*format*/,
1707  480 /*offsetCode (7200/15)*/,
1708  0 /*offsetRemainder (7200%15)*/,
1709  60 /*deltaMinutes*/,
1710  1943 /*untilYear*/,
1711  3 /*untilMonth*/,
1712  21 /*untilDay*/,
1713  480 /*untilTimeCode (7200/15)*/,
1714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1715  },
1716  // 2:00 - SAST 1990 Mar 21
1717  {
1718  nullptr /*zonePolicy*/,
1719  "SAST" /*format*/,
1720  480 /*offsetCode (7200/15)*/,
1721  0 /*offsetRemainder (7200%15)*/,
1722  0 /*deltaMinutes*/,
1723  1990 /*untilYear*/,
1724  3 /*untilMonth*/,
1725  21 /*untilDay*/,
1726  0 /*untilTimeCode (0/15)*/,
1727  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1728  },
1729  // 2:00 Namibia %s
1730  {
1731  &kZonePolicyNamibia /*zonePolicy*/,
1732  "%" /*format*/,
1733  480 /*offsetCode (7200/15)*/,
1734  0 /*offsetRemainder (7200%15)*/,
1735  0 /*deltaMinutes*/,
1736  32767 /*untilYear*/,
1737  1 /*untilMonth*/,
1738  1 /*untilDay*/,
1739  0 /*untilTimeCode (0/15)*/,
1740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1741  },
1742 
1743 };
1744 
1745 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";
1746 
1747 const complete::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
1748  kZoneNameAfrica_Windhoek /*name*/,
1749  0x789c9bd3 /*zoneId*/,
1750  &kZoneContext /*zoneContext*/,
1751  6 /*numEras*/,
1752  kZoneEraAfrica_Windhoek /*eras*/,
1753  nullptr /*targetInfo*/,
1754 };
1755 
1756 //---------------------------------------------------------------------------
1757 // Zone name: America/Adak
1758 // Eras: 9
1759 //---------------------------------------------------------------------------
1760 
1761 static const complete::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
1762  // 12:13:22 - LMT 1867 Oct 19 12:44:35
1763  {
1764  nullptr /*zonePolicy*/,
1765  "LMT" /*format*/,
1766  2933 /*offsetCode (44002/15)*/,
1767  7 /*offsetRemainder (44002%15)*/,
1768  0 /*deltaMinutes*/,
1769  1867 /*untilYear*/,
1770  10 /*untilMonth*/,
1771  19 /*untilDay*/,
1772  3058 /*untilTimeCode (45875/15)*/,
1773  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
1774  },
1775  // -11:46:38 - LMT 1900 Aug 20 12:00
1776  {
1777  nullptr /*zonePolicy*/,
1778  "LMT" /*format*/,
1779  -2827 /*offsetCode (-42398/15)*/,
1780  7 /*offsetRemainder (-42398%15)*/,
1781  0 /*deltaMinutes*/,
1782  1900 /*untilYear*/,
1783  8 /*untilMonth*/,
1784  20 /*untilDay*/,
1785  2880 /*untilTimeCode (43200/15)*/,
1786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1787  },
1788  // -11:00 - NST 1942
1789  {
1790  nullptr /*zonePolicy*/,
1791  "NST" /*format*/,
1792  -2640 /*offsetCode (-39600/15)*/,
1793  0 /*offsetRemainder (-39600%15)*/,
1794  0 /*deltaMinutes*/,
1795  1942 /*untilYear*/,
1796  1 /*untilMonth*/,
1797  1 /*untilDay*/,
1798  0 /*untilTimeCode (0/15)*/,
1799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1800  },
1801  // -11:00 US N%sT 1946
1802  {
1803  &kZonePolicyUS /*zonePolicy*/,
1804  "N%T" /*format*/,
1805  -2640 /*offsetCode (-39600/15)*/,
1806  0 /*offsetRemainder (-39600%15)*/,
1807  0 /*deltaMinutes*/,
1808  1946 /*untilYear*/,
1809  1 /*untilMonth*/,
1810  1 /*untilDay*/,
1811  0 /*untilTimeCode (0/15)*/,
1812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1813  },
1814  // -11:00 - NST 1967 Apr
1815  {
1816  nullptr /*zonePolicy*/,
1817  "NST" /*format*/,
1818  -2640 /*offsetCode (-39600/15)*/,
1819  0 /*offsetRemainder (-39600%15)*/,
1820  0 /*deltaMinutes*/,
1821  1967 /*untilYear*/,
1822  4 /*untilMonth*/,
1823  1 /*untilDay*/,
1824  0 /*untilTimeCode (0/15)*/,
1825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1826  },
1827  // -11:00 - BST 1969
1828  {
1829  nullptr /*zonePolicy*/,
1830  "BST" /*format*/,
1831  -2640 /*offsetCode (-39600/15)*/,
1832  0 /*offsetRemainder (-39600%15)*/,
1833  0 /*deltaMinutes*/,
1834  1969 /*untilYear*/,
1835  1 /*untilMonth*/,
1836  1 /*untilDay*/,
1837  0 /*untilTimeCode (0/15)*/,
1838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1839  },
1840  // -11:00 US B%sT 1983 Oct 30 2:00
1841  {
1842  &kZonePolicyUS /*zonePolicy*/,
1843  "B%T" /*format*/,
1844  -2640 /*offsetCode (-39600/15)*/,
1845  0 /*offsetRemainder (-39600%15)*/,
1846  0 /*deltaMinutes*/,
1847  1983 /*untilYear*/,
1848  10 /*untilMonth*/,
1849  30 /*untilDay*/,
1850  480 /*untilTimeCode (7200/15)*/,
1851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1852  },
1853  // -10:00 US AH%sT 1983 Nov 30
1854  {
1855  &kZonePolicyUS /*zonePolicy*/,
1856  "AH%T" /*format*/,
1857  -2400 /*offsetCode (-36000/15)*/,
1858  0 /*offsetRemainder (-36000%15)*/,
1859  0 /*deltaMinutes*/,
1860  1983 /*untilYear*/,
1861  11 /*untilMonth*/,
1862  30 /*untilDay*/,
1863  0 /*untilTimeCode (0/15)*/,
1864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1865  },
1866  // -10:00 US H%sT
1867  {
1868  &kZonePolicyUS /*zonePolicy*/,
1869  "H%T" /*format*/,
1870  -2400 /*offsetCode (-36000/15)*/,
1871  0 /*offsetRemainder (-36000%15)*/,
1872  0 /*deltaMinutes*/,
1873  32767 /*untilYear*/,
1874  1 /*untilMonth*/,
1875  1 /*untilDay*/,
1876  0 /*untilTimeCode (0/15)*/,
1877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1878  },
1879 
1880 };
1881 
1882 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";
1883 
1884 const complete::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
1885  kZoneNameAmerica_Adak /*name*/,
1886  0x97fe49d7 /*zoneId*/,
1887  &kZoneContext /*zoneContext*/,
1888  9 /*numEras*/,
1889  kZoneEraAmerica_Adak /*eras*/,
1890  nullptr /*targetInfo*/,
1891 };
1892 
1893 //---------------------------------------------------------------------------
1894 // Zone name: America/Anchorage
1895 // Eras: 8
1896 //---------------------------------------------------------------------------
1897 
1898 static const complete::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
1899  // 14:00:24 - LMT 1867 Oct 19 14:31:37
1900  {
1901  nullptr /*zonePolicy*/,
1902  "LMT" /*format*/,
1903  3361 /*offsetCode (50424/15)*/,
1904  9 /*offsetRemainder (50424%15)*/,
1905  0 /*deltaMinutes*/,
1906  1867 /*untilYear*/,
1907  10 /*untilMonth*/,
1908  19 /*untilDay*/,
1909  3486 /*untilTimeCode (52297/15)*/,
1910  7 /*untilTimeModifier (kAtcSuffixW + seconds=7)*/,
1911  },
1912  // -9:59:36 - LMT 1900 Aug 20 12:00
1913  {
1914  nullptr /*zonePolicy*/,
1915  "LMT" /*format*/,
1916  -2399 /*offsetCode (-35976/15)*/,
1917  9 /*offsetRemainder (-35976%15)*/,
1918  0 /*deltaMinutes*/,
1919  1900 /*untilYear*/,
1920  8 /*untilMonth*/,
1921  20 /*untilDay*/,
1922  2880 /*untilTimeCode (43200/15)*/,
1923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1924  },
1925  // -10:00 - AST 1942
1926  {
1927  nullptr /*zonePolicy*/,
1928  "AST" /*format*/,
1929  -2400 /*offsetCode (-36000/15)*/,
1930  0 /*offsetRemainder (-36000%15)*/,
1931  0 /*deltaMinutes*/,
1932  1942 /*untilYear*/,
1933  1 /*untilMonth*/,
1934  1 /*untilDay*/,
1935  0 /*untilTimeCode (0/15)*/,
1936  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1937  },
1938  // -10:00 US A%sT 1967 Apr
1939  {
1940  &kZonePolicyUS /*zonePolicy*/,
1941  "A%T" /*format*/,
1942  -2400 /*offsetCode (-36000/15)*/,
1943  0 /*offsetRemainder (-36000%15)*/,
1944  0 /*deltaMinutes*/,
1945  1967 /*untilYear*/,
1946  4 /*untilMonth*/,
1947  1 /*untilDay*/,
1948  0 /*untilTimeCode (0/15)*/,
1949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1950  },
1951  // -10:00 - AHST 1969
1952  {
1953  nullptr /*zonePolicy*/,
1954  "AHST" /*format*/,
1955  -2400 /*offsetCode (-36000/15)*/,
1956  0 /*offsetRemainder (-36000%15)*/,
1957  0 /*deltaMinutes*/,
1958  1969 /*untilYear*/,
1959  1 /*untilMonth*/,
1960  1 /*untilDay*/,
1961  0 /*untilTimeCode (0/15)*/,
1962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1963  },
1964  // -10:00 US AH%sT 1983 Oct 30 2:00
1965  {
1966  &kZonePolicyUS /*zonePolicy*/,
1967  "AH%T" /*format*/,
1968  -2400 /*offsetCode (-36000/15)*/,
1969  0 /*offsetRemainder (-36000%15)*/,
1970  0 /*deltaMinutes*/,
1971  1983 /*untilYear*/,
1972  10 /*untilMonth*/,
1973  30 /*untilDay*/,
1974  480 /*untilTimeCode (7200/15)*/,
1975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1976  },
1977  // -9:00 US Y%sT 1983 Nov 30
1978  {
1979  &kZonePolicyUS /*zonePolicy*/,
1980  "Y%T" /*format*/,
1981  -2160 /*offsetCode (-32400/15)*/,
1982  0 /*offsetRemainder (-32400%15)*/,
1983  0 /*deltaMinutes*/,
1984  1983 /*untilYear*/,
1985  11 /*untilMonth*/,
1986  30 /*untilDay*/,
1987  0 /*untilTimeCode (0/15)*/,
1988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1989  },
1990  // -9:00 US AK%sT
1991  {
1992  &kZonePolicyUS /*zonePolicy*/,
1993  "AK%T" /*format*/,
1994  -2160 /*offsetCode (-32400/15)*/,
1995  0 /*offsetRemainder (-32400%15)*/,
1996  0 /*deltaMinutes*/,
1997  32767 /*untilYear*/,
1998  1 /*untilMonth*/,
1999  1 /*untilDay*/,
2000  0 /*untilTimeCode (0/15)*/,
2001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2002  },
2003 
2004 };
2005 
2006 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";
2007 
2008 const complete::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
2009  kZoneNameAmerica_Anchorage /*name*/,
2010  0x5a79260e /*zoneId*/,
2011  &kZoneContext /*zoneContext*/,
2012  8 /*numEras*/,
2013  kZoneEraAmerica_Anchorage /*eras*/,
2014  nullptr /*targetInfo*/,
2015 };
2016 
2017 //---------------------------------------------------------------------------
2018 // Zone name: America/Araguaina
2019 // Eras: 7
2020 //---------------------------------------------------------------------------
2021 
2022 static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
2023  // -3:12:48 - LMT 1914
2024  {
2025  nullptr /*zonePolicy*/,
2026  "LMT" /*format*/,
2027  -772 /*offsetCode (-11568/15)*/,
2028  12 /*offsetRemainder (-11568%15)*/,
2029  0 /*deltaMinutes*/,
2030  1914 /*untilYear*/,
2031  1 /*untilMonth*/,
2032  1 /*untilDay*/,
2033  0 /*untilTimeCode (0/15)*/,
2034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2035  },
2036  // -3:00 Brazil %z 1990 Sep 17
2037  {
2038  &kZonePolicyBrazil /*zonePolicy*/,
2039  "" /*format*/,
2040  -720 /*offsetCode (-10800/15)*/,
2041  0 /*offsetRemainder (-10800%15)*/,
2042  0 /*deltaMinutes*/,
2043  1990 /*untilYear*/,
2044  9 /*untilMonth*/,
2045  17 /*untilDay*/,
2046  0 /*untilTimeCode (0/15)*/,
2047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2048  },
2049  // -3:00 - %z 1995 Sep 14
2050  {
2051  nullptr /*zonePolicy*/,
2052  "" /*format*/,
2053  -720 /*offsetCode (-10800/15)*/,
2054  0 /*offsetRemainder (-10800%15)*/,
2055  0 /*deltaMinutes*/,
2056  1995 /*untilYear*/,
2057  9 /*untilMonth*/,
2058  14 /*untilDay*/,
2059  0 /*untilTimeCode (0/15)*/,
2060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2061  },
2062  // -3:00 Brazil %z 2003 Sep 24
2063  {
2064  &kZonePolicyBrazil /*zonePolicy*/,
2065  "" /*format*/,
2066  -720 /*offsetCode (-10800/15)*/,
2067  0 /*offsetRemainder (-10800%15)*/,
2068  0 /*deltaMinutes*/,
2069  2003 /*untilYear*/,
2070  9 /*untilMonth*/,
2071  24 /*untilDay*/,
2072  0 /*untilTimeCode (0/15)*/,
2073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2074  },
2075  // -3:00 - %z 2012 Oct 21
2076  {
2077  nullptr /*zonePolicy*/,
2078  "" /*format*/,
2079  -720 /*offsetCode (-10800/15)*/,
2080  0 /*offsetRemainder (-10800%15)*/,
2081  0 /*deltaMinutes*/,
2082  2012 /*untilYear*/,
2083  10 /*untilMonth*/,
2084  21 /*untilDay*/,
2085  0 /*untilTimeCode (0/15)*/,
2086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2087  },
2088  // -3:00 Brazil %z 2013 Sep
2089  {
2090  &kZonePolicyBrazil /*zonePolicy*/,
2091  "" /*format*/,
2092  -720 /*offsetCode (-10800/15)*/,
2093  0 /*offsetRemainder (-10800%15)*/,
2094  0 /*deltaMinutes*/,
2095  2013 /*untilYear*/,
2096  9 /*untilMonth*/,
2097  1 /*untilDay*/,
2098  0 /*untilTimeCode (0/15)*/,
2099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2100  },
2101  // -3:00 - %z
2102  {
2103  nullptr /*zonePolicy*/,
2104  "" /*format*/,
2105  -720 /*offsetCode (-10800/15)*/,
2106  0 /*offsetRemainder (-10800%15)*/,
2107  0 /*deltaMinutes*/,
2108  32767 /*untilYear*/,
2109  1 /*untilMonth*/,
2110  1 /*untilDay*/,
2111  0 /*untilTimeCode (0/15)*/,
2112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2113  },
2114 
2115 };
2116 
2117 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "\x02" "Araguaina";
2118 
2119 const complete::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
2120  kZoneNameAmerica_Araguaina /*name*/,
2121  0x6f9a3aef /*zoneId*/,
2122  &kZoneContext /*zoneContext*/,
2123  7 /*numEras*/,
2124  kZoneEraAmerica_Araguaina /*eras*/,
2125  nullptr /*targetInfo*/,
2126 };
2127 
2128 //---------------------------------------------------------------------------
2129 // Zone name: America/Argentina/Buenos_Aires
2130 // Eras: 7
2131 //---------------------------------------------------------------------------
2132 
2133 static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
2134  // -3:53:48 - LMT 1894 Oct 31
2135  {
2136  nullptr /*zonePolicy*/,
2137  "LMT" /*format*/,
2138  -936 /*offsetCode (-14028/15)*/,
2139  12 /*offsetRemainder (-14028%15)*/,
2140  0 /*deltaMinutes*/,
2141  1894 /*untilYear*/,
2142  10 /*untilMonth*/,
2143  31 /*untilDay*/,
2144  0 /*untilTimeCode (0/15)*/,
2145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2146  },
2147  // -4:16:48 - CMT 1920 May
2148  {
2149  nullptr /*zonePolicy*/,
2150  "CMT" /*format*/,
2151  -1028 /*offsetCode (-15408/15)*/,
2152  12 /*offsetRemainder (-15408%15)*/,
2153  0 /*deltaMinutes*/,
2154  1920 /*untilYear*/,
2155  5 /*untilMonth*/,
2156  1 /*untilDay*/,
2157  0 /*untilTimeCode (0/15)*/,
2158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2159  },
2160  // -4:00 - %z 1930 Dec
2161  {
2162  nullptr /*zonePolicy*/,
2163  "" /*format*/,
2164  -960 /*offsetCode (-14400/15)*/,
2165  0 /*offsetRemainder (-14400%15)*/,
2166  0 /*deltaMinutes*/,
2167  1930 /*untilYear*/,
2168  12 /*untilMonth*/,
2169  1 /*untilDay*/,
2170  0 /*untilTimeCode (0/15)*/,
2171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2172  },
2173  // -4:00 Arg %z 1969 Oct 5
2174  {
2175  &kZonePolicyArg /*zonePolicy*/,
2176  "" /*format*/,
2177  -960 /*offsetCode (-14400/15)*/,
2178  0 /*offsetRemainder (-14400%15)*/,
2179  0 /*deltaMinutes*/,
2180  1969 /*untilYear*/,
2181  10 /*untilMonth*/,
2182  5 /*untilDay*/,
2183  0 /*untilTimeCode (0/15)*/,
2184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2185  },
2186  // -3:00 Arg %z 1999 Oct 3
2187  {
2188  &kZonePolicyArg /*zonePolicy*/,
2189  "" /*format*/,
2190  -720 /*offsetCode (-10800/15)*/,
2191  0 /*offsetRemainder (-10800%15)*/,
2192  0 /*deltaMinutes*/,
2193  1999 /*untilYear*/,
2194  10 /*untilMonth*/,
2195  3 /*untilDay*/,
2196  0 /*untilTimeCode (0/15)*/,
2197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2198  },
2199  // -4:00 Arg %z 2000 Mar 3
2200  {
2201  &kZonePolicyArg /*zonePolicy*/,
2202  "" /*format*/,
2203  -960 /*offsetCode (-14400/15)*/,
2204  0 /*offsetRemainder (-14400%15)*/,
2205  0 /*deltaMinutes*/,
2206  2000 /*untilYear*/,
2207  3 /*untilMonth*/,
2208  3 /*untilDay*/,
2209  0 /*untilTimeCode (0/15)*/,
2210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2211  },
2212  // -3:00 Arg %z
2213  {
2214  &kZonePolicyArg /*zonePolicy*/,
2215  "" /*format*/,
2216  -720 /*offsetCode (-10800/15)*/,
2217  0 /*offsetRemainder (-10800%15)*/,
2218  0 /*deltaMinutes*/,
2219  32767 /*untilYear*/,
2220  1 /*untilMonth*/,
2221  1 /*untilDay*/,
2222  0 /*untilTimeCode (0/15)*/,
2223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2224  },
2225 
2226 };
2227 
2228 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "\x04" "Buenos_Aires";
2229 
2230 const complete::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
2231  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
2232  0xd43b4c0d /*zoneId*/,
2233  &kZoneContext /*zoneContext*/,
2234  7 /*numEras*/,
2235  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
2236  nullptr /*targetInfo*/,
2237 };
2238 
2239 //---------------------------------------------------------------------------
2240 // Zone name: America/Argentina/Catamarca
2241 // Eras: 12
2242 //---------------------------------------------------------------------------
2243 
2244 static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
2245  // -4:23:08 - LMT 1894 Oct 31
2246  {
2247  nullptr /*zonePolicy*/,
2248  "LMT" /*format*/,
2249  -1053 /*offsetCode (-15788/15)*/,
2250  7 /*offsetRemainder (-15788%15)*/,
2251  0 /*deltaMinutes*/,
2252  1894 /*untilYear*/,
2253  10 /*untilMonth*/,
2254  31 /*untilDay*/,
2255  0 /*untilTimeCode (0/15)*/,
2256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2257  },
2258  // -4:16:48 - CMT 1920 May
2259  {
2260  nullptr /*zonePolicy*/,
2261  "CMT" /*format*/,
2262  -1028 /*offsetCode (-15408/15)*/,
2263  12 /*offsetRemainder (-15408%15)*/,
2264  0 /*deltaMinutes*/,
2265  1920 /*untilYear*/,
2266  5 /*untilMonth*/,
2267  1 /*untilDay*/,
2268  0 /*untilTimeCode (0/15)*/,
2269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2270  },
2271  // -4:00 - %z 1930 Dec
2272  {
2273  nullptr /*zonePolicy*/,
2274  "" /*format*/,
2275  -960 /*offsetCode (-14400/15)*/,
2276  0 /*offsetRemainder (-14400%15)*/,
2277  0 /*deltaMinutes*/,
2278  1930 /*untilYear*/,
2279  12 /*untilMonth*/,
2280  1 /*untilDay*/,
2281  0 /*untilTimeCode (0/15)*/,
2282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2283  },
2284  // -4:00 Arg %z 1969 Oct 5
2285  {
2286  &kZonePolicyArg /*zonePolicy*/,
2287  "" /*format*/,
2288  -960 /*offsetCode (-14400/15)*/,
2289  0 /*offsetRemainder (-14400%15)*/,
2290  0 /*deltaMinutes*/,
2291  1969 /*untilYear*/,
2292  10 /*untilMonth*/,
2293  5 /*untilDay*/,
2294  0 /*untilTimeCode (0/15)*/,
2295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2296  },
2297  // -3:00 Arg %z 1991 Mar 3
2298  {
2299  &kZonePolicyArg /*zonePolicy*/,
2300  "" /*format*/,
2301  -720 /*offsetCode (-10800/15)*/,
2302  0 /*offsetRemainder (-10800%15)*/,
2303  0 /*deltaMinutes*/,
2304  1991 /*untilYear*/,
2305  3 /*untilMonth*/,
2306  3 /*untilDay*/,
2307  0 /*untilTimeCode (0/15)*/,
2308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2309  },
2310  // -4:00 - %z 1991 Oct 20
2311  {
2312  nullptr /*zonePolicy*/,
2313  "" /*format*/,
2314  -960 /*offsetCode (-14400/15)*/,
2315  0 /*offsetRemainder (-14400%15)*/,
2316  0 /*deltaMinutes*/,
2317  1991 /*untilYear*/,
2318  10 /*untilMonth*/,
2319  20 /*untilDay*/,
2320  0 /*untilTimeCode (0/15)*/,
2321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2322  },
2323  // -3:00 Arg %z 1999 Oct 3
2324  {
2325  &kZonePolicyArg /*zonePolicy*/,
2326  "" /*format*/,
2327  -720 /*offsetCode (-10800/15)*/,
2328  0 /*offsetRemainder (-10800%15)*/,
2329  0 /*deltaMinutes*/,
2330  1999 /*untilYear*/,
2331  10 /*untilMonth*/,
2332  3 /*untilDay*/,
2333  0 /*untilTimeCode (0/15)*/,
2334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2335  },
2336  // -4:00 Arg %z 2000 Mar 3
2337  {
2338  &kZonePolicyArg /*zonePolicy*/,
2339  "" /*format*/,
2340  -960 /*offsetCode (-14400/15)*/,
2341  0 /*offsetRemainder (-14400%15)*/,
2342  0 /*deltaMinutes*/,
2343  2000 /*untilYear*/,
2344  3 /*untilMonth*/,
2345  3 /*untilDay*/,
2346  0 /*untilTimeCode (0/15)*/,
2347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2348  },
2349  // -3:00 - %z 2004 Jun 1
2350  {
2351  nullptr /*zonePolicy*/,
2352  "" /*format*/,
2353  -720 /*offsetCode (-10800/15)*/,
2354  0 /*offsetRemainder (-10800%15)*/,
2355  0 /*deltaMinutes*/,
2356  2004 /*untilYear*/,
2357  6 /*untilMonth*/,
2358  1 /*untilDay*/,
2359  0 /*untilTimeCode (0/15)*/,
2360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2361  },
2362  // -4:00 - %z 2004 Jun 20
2363  {
2364  nullptr /*zonePolicy*/,
2365  "" /*format*/,
2366  -960 /*offsetCode (-14400/15)*/,
2367  0 /*offsetRemainder (-14400%15)*/,
2368  0 /*deltaMinutes*/,
2369  2004 /*untilYear*/,
2370  6 /*untilMonth*/,
2371  20 /*untilDay*/,
2372  0 /*untilTimeCode (0/15)*/,
2373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2374  },
2375  // -3:00 Arg %z 2008 Oct 18
2376  {
2377  &kZonePolicyArg /*zonePolicy*/,
2378  "" /*format*/,
2379  -720 /*offsetCode (-10800/15)*/,
2380  0 /*offsetRemainder (-10800%15)*/,
2381  0 /*deltaMinutes*/,
2382  2008 /*untilYear*/,
2383  10 /*untilMonth*/,
2384  18 /*untilDay*/,
2385  0 /*untilTimeCode (0/15)*/,
2386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2387  },
2388  // -3:00 - %z
2389  {
2390  nullptr /*zonePolicy*/,
2391  "" /*format*/,
2392  -720 /*offsetCode (-10800/15)*/,
2393  0 /*offsetRemainder (-10800%15)*/,
2394  0 /*deltaMinutes*/,
2395  32767 /*untilYear*/,
2396  1 /*untilMonth*/,
2397  1 /*untilDay*/,
2398  0 /*untilTimeCode (0/15)*/,
2399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2400  },
2401 
2402 };
2403 
2404 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "\x02" "\x04" "Catamarca";
2405 
2406 const complete::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
2407  kZoneNameAmerica_Argentina_Catamarca /*name*/,
2408  0x8d40986b /*zoneId*/,
2409  &kZoneContext /*zoneContext*/,
2410  12 /*numEras*/,
2411  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
2412  nullptr /*targetInfo*/,
2413 };
2414 
2415 //---------------------------------------------------------------------------
2416 // Zone name: America/Argentina/Cordoba
2417 // Eras: 9
2418 //---------------------------------------------------------------------------
2419 
2420 static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
2421  // -4:16:48 - LMT 1894 Oct 31
2422  {
2423  nullptr /*zonePolicy*/,
2424  "LMT" /*format*/,
2425  -1028 /*offsetCode (-15408/15)*/,
2426  12 /*offsetRemainder (-15408%15)*/,
2427  0 /*deltaMinutes*/,
2428  1894 /*untilYear*/,
2429  10 /*untilMonth*/,
2430  31 /*untilDay*/,
2431  0 /*untilTimeCode (0/15)*/,
2432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2433  },
2434  // -4:16:48 - CMT 1920 May
2435  {
2436  nullptr /*zonePolicy*/,
2437  "CMT" /*format*/,
2438  -1028 /*offsetCode (-15408/15)*/,
2439  12 /*offsetRemainder (-15408%15)*/,
2440  0 /*deltaMinutes*/,
2441  1920 /*untilYear*/,
2442  5 /*untilMonth*/,
2443  1 /*untilDay*/,
2444  0 /*untilTimeCode (0/15)*/,
2445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2446  },
2447  // -4:00 - %z 1930 Dec
2448  {
2449  nullptr /*zonePolicy*/,
2450  "" /*format*/,
2451  -960 /*offsetCode (-14400/15)*/,
2452  0 /*offsetRemainder (-14400%15)*/,
2453  0 /*deltaMinutes*/,
2454  1930 /*untilYear*/,
2455  12 /*untilMonth*/,
2456  1 /*untilDay*/,
2457  0 /*untilTimeCode (0/15)*/,
2458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2459  },
2460  // -4:00 Arg %z 1969 Oct 5
2461  {
2462  &kZonePolicyArg /*zonePolicy*/,
2463  "" /*format*/,
2464  -960 /*offsetCode (-14400/15)*/,
2465  0 /*offsetRemainder (-14400%15)*/,
2466  0 /*deltaMinutes*/,
2467  1969 /*untilYear*/,
2468  10 /*untilMonth*/,
2469  5 /*untilDay*/,
2470  0 /*untilTimeCode (0/15)*/,
2471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2472  },
2473  // -3:00 Arg %z 1991 Mar 3
2474  {
2475  &kZonePolicyArg /*zonePolicy*/,
2476  "" /*format*/,
2477  -720 /*offsetCode (-10800/15)*/,
2478  0 /*offsetRemainder (-10800%15)*/,
2479  0 /*deltaMinutes*/,
2480  1991 /*untilYear*/,
2481  3 /*untilMonth*/,
2482  3 /*untilDay*/,
2483  0 /*untilTimeCode (0/15)*/,
2484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2485  },
2486  // -4:00 - %z 1991 Oct 20
2487  {
2488  nullptr /*zonePolicy*/,
2489  "" /*format*/,
2490  -960 /*offsetCode (-14400/15)*/,
2491  0 /*offsetRemainder (-14400%15)*/,
2492  0 /*deltaMinutes*/,
2493  1991 /*untilYear*/,
2494  10 /*untilMonth*/,
2495  20 /*untilDay*/,
2496  0 /*untilTimeCode (0/15)*/,
2497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2498  },
2499  // -3:00 Arg %z 1999 Oct 3
2500  {
2501  &kZonePolicyArg /*zonePolicy*/,
2502  "" /*format*/,
2503  -720 /*offsetCode (-10800/15)*/,
2504  0 /*offsetRemainder (-10800%15)*/,
2505  0 /*deltaMinutes*/,
2506  1999 /*untilYear*/,
2507  10 /*untilMonth*/,
2508  3 /*untilDay*/,
2509  0 /*untilTimeCode (0/15)*/,
2510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2511  },
2512  // -4:00 Arg %z 2000 Mar 3
2513  {
2514  &kZonePolicyArg /*zonePolicy*/,
2515  "" /*format*/,
2516  -960 /*offsetCode (-14400/15)*/,
2517  0 /*offsetRemainder (-14400%15)*/,
2518  0 /*deltaMinutes*/,
2519  2000 /*untilYear*/,
2520  3 /*untilMonth*/,
2521  3 /*untilDay*/,
2522  0 /*untilTimeCode (0/15)*/,
2523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2524  },
2525  // -3:00 Arg %z
2526  {
2527  &kZonePolicyArg /*zonePolicy*/,
2528  "" /*format*/,
2529  -720 /*offsetCode (-10800/15)*/,
2530  0 /*offsetRemainder (-10800%15)*/,
2531  0 /*deltaMinutes*/,
2532  32767 /*untilYear*/,
2533  1 /*untilMonth*/,
2534  1 /*untilDay*/,
2535  0 /*untilTimeCode (0/15)*/,
2536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2537  },
2538 
2539 };
2540 
2541 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "\x02" "\x04" "Cordoba";
2542 
2543 const complete::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
2544  kZoneNameAmerica_Argentina_Cordoba /*name*/,
2545  0xbfccc308 /*zoneId*/,
2546  &kZoneContext /*zoneContext*/,
2547  9 /*numEras*/,
2548  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
2549  nullptr /*targetInfo*/,
2550 };
2551 
2552 //---------------------------------------------------------------------------
2553 // Zone name: America/Argentina/Jujuy
2554 // Eras: 13
2555 //---------------------------------------------------------------------------
2556 
2557 static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
2558  // -4:21:12 - LMT 1894 Oct 31
2559  {
2560  nullptr /*zonePolicy*/,
2561  "LMT" /*format*/,
2562  -1045 /*offsetCode (-15672/15)*/,
2563  3 /*offsetRemainder (-15672%15)*/,
2564  0 /*deltaMinutes*/,
2565  1894 /*untilYear*/,
2566  10 /*untilMonth*/,
2567  31 /*untilDay*/,
2568  0 /*untilTimeCode (0/15)*/,
2569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2570  },
2571  // -4:16:48 - CMT 1920 May
2572  {
2573  nullptr /*zonePolicy*/,
2574  "CMT" /*format*/,
2575  -1028 /*offsetCode (-15408/15)*/,
2576  12 /*offsetRemainder (-15408%15)*/,
2577  0 /*deltaMinutes*/,
2578  1920 /*untilYear*/,
2579  5 /*untilMonth*/,
2580  1 /*untilDay*/,
2581  0 /*untilTimeCode (0/15)*/,
2582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2583  },
2584  // -4:00 - %z 1930 Dec
2585  {
2586  nullptr /*zonePolicy*/,
2587  "" /*format*/,
2588  -960 /*offsetCode (-14400/15)*/,
2589  0 /*offsetRemainder (-14400%15)*/,
2590  0 /*deltaMinutes*/,
2591  1930 /*untilYear*/,
2592  12 /*untilMonth*/,
2593  1 /*untilDay*/,
2594  0 /*untilTimeCode (0/15)*/,
2595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2596  },
2597  // -4:00 Arg %z 1969 Oct 5
2598  {
2599  &kZonePolicyArg /*zonePolicy*/,
2600  "" /*format*/,
2601  -960 /*offsetCode (-14400/15)*/,
2602  0 /*offsetRemainder (-14400%15)*/,
2603  0 /*deltaMinutes*/,
2604  1969 /*untilYear*/,
2605  10 /*untilMonth*/,
2606  5 /*untilDay*/,
2607  0 /*untilTimeCode (0/15)*/,
2608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2609  },
2610  // -3:00 Arg %z 1990 Mar 4
2611  {
2612  &kZonePolicyArg /*zonePolicy*/,
2613  "" /*format*/,
2614  -720 /*offsetCode (-10800/15)*/,
2615  0 /*offsetRemainder (-10800%15)*/,
2616  0 /*deltaMinutes*/,
2617  1990 /*untilYear*/,
2618  3 /*untilMonth*/,
2619  4 /*untilDay*/,
2620  0 /*untilTimeCode (0/15)*/,
2621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2622  },
2623  // -4:00 - %z 1990 Oct 28
2624  {
2625  nullptr /*zonePolicy*/,
2626  "" /*format*/,
2627  -960 /*offsetCode (-14400/15)*/,
2628  0 /*offsetRemainder (-14400%15)*/,
2629  0 /*deltaMinutes*/,
2630  1990 /*untilYear*/,
2631  10 /*untilMonth*/,
2632  28 /*untilDay*/,
2633  0 /*untilTimeCode (0/15)*/,
2634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2635  },
2636  // -4:00 1:00 %z 1991 Mar 17
2637  {
2638  nullptr /*zonePolicy*/,
2639  "" /*format*/,
2640  -960 /*offsetCode (-14400/15)*/,
2641  0 /*offsetRemainder (-14400%15)*/,
2642  60 /*deltaMinutes*/,
2643  1991 /*untilYear*/,
2644  3 /*untilMonth*/,
2645  17 /*untilDay*/,
2646  0 /*untilTimeCode (0/15)*/,
2647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2648  },
2649  // -4:00 - %z 1991 Oct 6
2650  {
2651  nullptr /*zonePolicy*/,
2652  "" /*format*/,
2653  -960 /*offsetCode (-14400/15)*/,
2654  0 /*offsetRemainder (-14400%15)*/,
2655  0 /*deltaMinutes*/,
2656  1991 /*untilYear*/,
2657  10 /*untilMonth*/,
2658  6 /*untilDay*/,
2659  0 /*untilTimeCode (0/15)*/,
2660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2661  },
2662  // -3:00 1:00 %z 1992
2663  {
2664  nullptr /*zonePolicy*/,
2665  "" /*format*/,
2666  -720 /*offsetCode (-10800/15)*/,
2667  0 /*offsetRemainder (-10800%15)*/,
2668  60 /*deltaMinutes*/,
2669  1992 /*untilYear*/,
2670  1 /*untilMonth*/,
2671  1 /*untilDay*/,
2672  0 /*untilTimeCode (0/15)*/,
2673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2674  },
2675  // -3:00 Arg %z 1999 Oct 3
2676  {
2677  &kZonePolicyArg /*zonePolicy*/,
2678  "" /*format*/,
2679  -720 /*offsetCode (-10800/15)*/,
2680  0 /*offsetRemainder (-10800%15)*/,
2681  0 /*deltaMinutes*/,
2682  1999 /*untilYear*/,
2683  10 /*untilMonth*/,
2684  3 /*untilDay*/,
2685  0 /*untilTimeCode (0/15)*/,
2686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2687  },
2688  // -4:00 Arg %z 2000 Mar 3
2689  {
2690  &kZonePolicyArg /*zonePolicy*/,
2691  "" /*format*/,
2692  -960 /*offsetCode (-14400/15)*/,
2693  0 /*offsetRemainder (-14400%15)*/,
2694  0 /*deltaMinutes*/,
2695  2000 /*untilYear*/,
2696  3 /*untilMonth*/,
2697  3 /*untilDay*/,
2698  0 /*untilTimeCode (0/15)*/,
2699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2700  },
2701  // -3:00 Arg %z 2008 Oct 18
2702  {
2703  &kZonePolicyArg /*zonePolicy*/,
2704  "" /*format*/,
2705  -720 /*offsetCode (-10800/15)*/,
2706  0 /*offsetRemainder (-10800%15)*/,
2707  0 /*deltaMinutes*/,
2708  2008 /*untilYear*/,
2709  10 /*untilMonth*/,
2710  18 /*untilDay*/,
2711  0 /*untilTimeCode (0/15)*/,
2712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2713  },
2714  // -3:00 - %z
2715  {
2716  nullptr /*zonePolicy*/,
2717  "" /*format*/,
2718  -720 /*offsetCode (-10800/15)*/,
2719  0 /*offsetRemainder (-10800%15)*/,
2720  0 /*deltaMinutes*/,
2721  32767 /*untilYear*/,
2722  1 /*untilMonth*/,
2723  1 /*untilDay*/,
2724  0 /*untilTimeCode (0/15)*/,
2725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2726  },
2727 
2728 };
2729 
2730 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "\x02" "\x04" "Jujuy";
2731 
2732 const complete::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
2733  kZoneNameAmerica_Argentina_Jujuy /*name*/,
2734  0x5f2f46c5 /*zoneId*/,
2735  &kZoneContext /*zoneContext*/,
2736  13 /*numEras*/,
2737  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
2738  nullptr /*targetInfo*/,
2739 };
2740 
2741 //---------------------------------------------------------------------------
2742 // Zone name: America/Argentina/La_Rioja
2743 // Eras: 12
2744 //---------------------------------------------------------------------------
2745 
2746 static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
2747  // -4:27:24 - LMT 1894 Oct 31
2748  {
2749  nullptr /*zonePolicy*/,
2750  "LMT" /*format*/,
2751  -1070 /*offsetCode (-16044/15)*/,
2752  6 /*offsetRemainder (-16044%15)*/,
2753  0 /*deltaMinutes*/,
2754  1894 /*untilYear*/,
2755  10 /*untilMonth*/,
2756  31 /*untilDay*/,
2757  0 /*untilTimeCode (0/15)*/,
2758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2759  },
2760  // -4:16:48 - CMT 1920 May
2761  {
2762  nullptr /*zonePolicy*/,
2763  "CMT" /*format*/,
2764  -1028 /*offsetCode (-15408/15)*/,
2765  12 /*offsetRemainder (-15408%15)*/,
2766  0 /*deltaMinutes*/,
2767  1920 /*untilYear*/,
2768  5 /*untilMonth*/,
2769  1 /*untilDay*/,
2770  0 /*untilTimeCode (0/15)*/,
2771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2772  },
2773  // -4:00 - %z 1930 Dec
2774  {
2775  nullptr /*zonePolicy*/,
2776  "" /*format*/,
2777  -960 /*offsetCode (-14400/15)*/,
2778  0 /*offsetRemainder (-14400%15)*/,
2779  0 /*deltaMinutes*/,
2780  1930 /*untilYear*/,
2781  12 /*untilMonth*/,
2782  1 /*untilDay*/,
2783  0 /*untilTimeCode (0/15)*/,
2784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2785  },
2786  // -4:00 Arg %z 1969 Oct 5
2787  {
2788  &kZonePolicyArg /*zonePolicy*/,
2789  "" /*format*/,
2790  -960 /*offsetCode (-14400/15)*/,
2791  0 /*offsetRemainder (-14400%15)*/,
2792  0 /*deltaMinutes*/,
2793  1969 /*untilYear*/,
2794  10 /*untilMonth*/,
2795  5 /*untilDay*/,
2796  0 /*untilTimeCode (0/15)*/,
2797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2798  },
2799  // -3:00 Arg %z 1991 Mar 1
2800  {
2801  &kZonePolicyArg /*zonePolicy*/,
2802  "" /*format*/,
2803  -720 /*offsetCode (-10800/15)*/,
2804  0 /*offsetRemainder (-10800%15)*/,
2805  0 /*deltaMinutes*/,
2806  1991 /*untilYear*/,
2807  3 /*untilMonth*/,
2808  1 /*untilDay*/,
2809  0 /*untilTimeCode (0/15)*/,
2810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2811  },
2812  // -4:00 - %z 1991 May 7
2813  {
2814  nullptr /*zonePolicy*/,
2815  "" /*format*/,
2816  -960 /*offsetCode (-14400/15)*/,
2817  0 /*offsetRemainder (-14400%15)*/,
2818  0 /*deltaMinutes*/,
2819  1991 /*untilYear*/,
2820  5 /*untilMonth*/,
2821  7 /*untilDay*/,
2822  0 /*untilTimeCode (0/15)*/,
2823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2824  },
2825  // -3:00 Arg %z 1999 Oct 3
2826  {
2827  &kZonePolicyArg /*zonePolicy*/,
2828  "" /*format*/,
2829  -720 /*offsetCode (-10800/15)*/,
2830  0 /*offsetRemainder (-10800%15)*/,
2831  0 /*deltaMinutes*/,
2832  1999 /*untilYear*/,
2833  10 /*untilMonth*/,
2834  3 /*untilDay*/,
2835  0 /*untilTimeCode (0/15)*/,
2836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2837  },
2838  // -4:00 Arg %z 2000 Mar 3
2839  {
2840  &kZonePolicyArg /*zonePolicy*/,
2841  "" /*format*/,
2842  -960 /*offsetCode (-14400/15)*/,
2843  0 /*offsetRemainder (-14400%15)*/,
2844  0 /*deltaMinutes*/,
2845  2000 /*untilYear*/,
2846  3 /*untilMonth*/,
2847  3 /*untilDay*/,
2848  0 /*untilTimeCode (0/15)*/,
2849  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2850  },
2851  // -3:00 - %z 2004 Jun 1
2852  {
2853  nullptr /*zonePolicy*/,
2854  "" /*format*/,
2855  -720 /*offsetCode (-10800/15)*/,
2856  0 /*offsetRemainder (-10800%15)*/,
2857  0 /*deltaMinutes*/,
2858  2004 /*untilYear*/,
2859  6 /*untilMonth*/,
2860  1 /*untilDay*/,
2861  0 /*untilTimeCode (0/15)*/,
2862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2863  },
2864  // -4:00 - %z 2004 Jun 20
2865  {
2866  nullptr /*zonePolicy*/,
2867  "" /*format*/,
2868  -960 /*offsetCode (-14400/15)*/,
2869  0 /*offsetRemainder (-14400%15)*/,
2870  0 /*deltaMinutes*/,
2871  2004 /*untilYear*/,
2872  6 /*untilMonth*/,
2873  20 /*untilDay*/,
2874  0 /*untilTimeCode (0/15)*/,
2875  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2876  },
2877  // -3:00 Arg %z 2008 Oct 18
2878  {
2879  &kZonePolicyArg /*zonePolicy*/,
2880  "" /*format*/,
2881  -720 /*offsetCode (-10800/15)*/,
2882  0 /*offsetRemainder (-10800%15)*/,
2883  0 /*deltaMinutes*/,
2884  2008 /*untilYear*/,
2885  10 /*untilMonth*/,
2886  18 /*untilDay*/,
2887  0 /*untilTimeCode (0/15)*/,
2888  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2889  },
2890  // -3:00 - %z
2891  {
2892  nullptr /*zonePolicy*/,
2893  "" /*format*/,
2894  -720 /*offsetCode (-10800/15)*/,
2895  0 /*offsetRemainder (-10800%15)*/,
2896  0 /*deltaMinutes*/,
2897  32767 /*untilYear*/,
2898  1 /*untilMonth*/,
2899  1 /*untilDay*/,
2900  0 /*untilTimeCode (0/15)*/,
2901  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2902  },
2903 
2904 };
2905 
2906 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "\x02" "\x04" "La_Rioja";
2907 
2908 const complete::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
2909  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
2910  0xa46b7eef /*zoneId*/,
2911  &kZoneContext /*zoneContext*/,
2912  12 /*numEras*/,
2913  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
2914  nullptr /*targetInfo*/,
2915 };
2916 
2917 //---------------------------------------------------------------------------
2918 // Zone name: America/Argentina/Mendoza
2919 // Eras: 16
2920 //---------------------------------------------------------------------------
2921 
2922 static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
2923  // -4:35:16 - LMT 1894 Oct 31
2924  {
2925  nullptr /*zonePolicy*/,
2926  "LMT" /*format*/,
2927  -1102 /*offsetCode (-16516/15)*/,
2928  14 /*offsetRemainder (-16516%15)*/,
2929  0 /*deltaMinutes*/,
2930  1894 /*untilYear*/,
2931  10 /*untilMonth*/,
2932  31 /*untilDay*/,
2933  0 /*untilTimeCode (0/15)*/,
2934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2935  },
2936  // -4:16:48 - CMT 1920 May
2937  {
2938  nullptr /*zonePolicy*/,
2939  "CMT" /*format*/,
2940  -1028 /*offsetCode (-15408/15)*/,
2941  12 /*offsetRemainder (-15408%15)*/,
2942  0 /*deltaMinutes*/,
2943  1920 /*untilYear*/,
2944  5 /*untilMonth*/,
2945  1 /*untilDay*/,
2946  0 /*untilTimeCode (0/15)*/,
2947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2948  },
2949  // -4:00 - %z 1930 Dec
2950  {
2951  nullptr /*zonePolicy*/,
2952  "" /*format*/,
2953  -960 /*offsetCode (-14400/15)*/,
2954  0 /*offsetRemainder (-14400%15)*/,
2955  0 /*deltaMinutes*/,
2956  1930 /*untilYear*/,
2957  12 /*untilMonth*/,
2958  1 /*untilDay*/,
2959  0 /*untilTimeCode (0/15)*/,
2960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2961  },
2962  // -4:00 Arg %z 1969 Oct 5
2963  {
2964  &kZonePolicyArg /*zonePolicy*/,
2965  "" /*format*/,
2966  -960 /*offsetCode (-14400/15)*/,
2967  0 /*offsetRemainder (-14400%15)*/,
2968  0 /*deltaMinutes*/,
2969  1969 /*untilYear*/,
2970  10 /*untilMonth*/,
2971  5 /*untilDay*/,
2972  0 /*untilTimeCode (0/15)*/,
2973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2974  },
2975  // -3:00 Arg %z 1990 Mar 4
2976  {
2977  &kZonePolicyArg /*zonePolicy*/,
2978  "" /*format*/,
2979  -720 /*offsetCode (-10800/15)*/,
2980  0 /*offsetRemainder (-10800%15)*/,
2981  0 /*deltaMinutes*/,
2982  1990 /*untilYear*/,
2983  3 /*untilMonth*/,
2984  4 /*untilDay*/,
2985  0 /*untilTimeCode (0/15)*/,
2986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2987  },
2988  // -4:00 - %z 1990 Oct 15
2989  {
2990  nullptr /*zonePolicy*/,
2991  "" /*format*/,
2992  -960 /*offsetCode (-14400/15)*/,
2993  0 /*offsetRemainder (-14400%15)*/,
2994  0 /*deltaMinutes*/,
2995  1990 /*untilYear*/,
2996  10 /*untilMonth*/,
2997  15 /*untilDay*/,
2998  0 /*untilTimeCode (0/15)*/,
2999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3000  },
3001  // -4:00 1:00 %z 1991 Mar 1
3002  {
3003  nullptr /*zonePolicy*/,
3004  "" /*format*/,
3005  -960 /*offsetCode (-14400/15)*/,
3006  0 /*offsetRemainder (-14400%15)*/,
3007  60 /*deltaMinutes*/,
3008  1991 /*untilYear*/,
3009  3 /*untilMonth*/,
3010  1 /*untilDay*/,
3011  0 /*untilTimeCode (0/15)*/,
3012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3013  },
3014  // -4:00 - %z 1991 Oct 15
3015  {
3016  nullptr /*zonePolicy*/,
3017  "" /*format*/,
3018  -960 /*offsetCode (-14400/15)*/,
3019  0 /*offsetRemainder (-14400%15)*/,
3020  0 /*deltaMinutes*/,
3021  1991 /*untilYear*/,
3022  10 /*untilMonth*/,
3023  15 /*untilDay*/,
3024  0 /*untilTimeCode (0/15)*/,
3025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3026  },
3027  // -4:00 1:00 %z 1992 Mar 1
3028  {
3029  nullptr /*zonePolicy*/,
3030  "" /*format*/,
3031  -960 /*offsetCode (-14400/15)*/,
3032  0 /*offsetRemainder (-14400%15)*/,
3033  60 /*deltaMinutes*/,
3034  1992 /*untilYear*/,
3035  3 /*untilMonth*/,
3036  1 /*untilDay*/,
3037  0 /*untilTimeCode (0/15)*/,
3038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3039  },
3040  // -4:00 - %z 1992 Oct 18
3041  {
3042  nullptr /*zonePolicy*/,
3043  "" /*format*/,
3044  -960 /*offsetCode (-14400/15)*/,
3045  0 /*offsetRemainder (-14400%15)*/,
3046  0 /*deltaMinutes*/,
3047  1992 /*untilYear*/,
3048  10 /*untilMonth*/,
3049  18 /*untilDay*/,
3050  0 /*untilTimeCode (0/15)*/,
3051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3052  },
3053  // -3:00 Arg %z 1999 Oct 3
3054  {
3055  &kZonePolicyArg /*zonePolicy*/,
3056  "" /*format*/,
3057  -720 /*offsetCode (-10800/15)*/,
3058  0 /*offsetRemainder (-10800%15)*/,
3059  0 /*deltaMinutes*/,
3060  1999 /*untilYear*/,
3061  10 /*untilMonth*/,
3062  3 /*untilDay*/,
3063  0 /*untilTimeCode (0/15)*/,
3064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3065  },
3066  // -4:00 Arg %z 2000 Mar 3
3067  {
3068  &kZonePolicyArg /*zonePolicy*/,
3069  "" /*format*/,
3070  -960 /*offsetCode (-14400/15)*/,
3071  0 /*offsetRemainder (-14400%15)*/,
3072  0 /*deltaMinutes*/,
3073  2000 /*untilYear*/,
3074  3 /*untilMonth*/,
3075  3 /*untilDay*/,
3076  0 /*untilTimeCode (0/15)*/,
3077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3078  },
3079  // -3:00 - %z 2004 May 23
3080  {
3081  nullptr /*zonePolicy*/,
3082  "" /*format*/,
3083  -720 /*offsetCode (-10800/15)*/,
3084  0 /*offsetRemainder (-10800%15)*/,
3085  0 /*deltaMinutes*/,
3086  2004 /*untilYear*/,
3087  5 /*untilMonth*/,
3088  23 /*untilDay*/,
3089  0 /*untilTimeCode (0/15)*/,
3090  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3091  },
3092  // -4:00 - %z 2004 Sep 26
3093  {
3094  nullptr /*zonePolicy*/,
3095  "" /*format*/,
3096  -960 /*offsetCode (-14400/15)*/,
3097  0 /*offsetRemainder (-14400%15)*/,
3098  0 /*deltaMinutes*/,
3099  2004 /*untilYear*/,
3100  9 /*untilMonth*/,
3101  26 /*untilDay*/,
3102  0 /*untilTimeCode (0/15)*/,
3103  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3104  },
3105  // -3:00 Arg %z 2008 Oct 18
3106  {
3107  &kZonePolicyArg /*zonePolicy*/,
3108  "" /*format*/,
3109  -720 /*offsetCode (-10800/15)*/,
3110  0 /*offsetRemainder (-10800%15)*/,
3111  0 /*deltaMinutes*/,
3112  2008 /*untilYear*/,
3113  10 /*untilMonth*/,
3114  18 /*untilDay*/,
3115  0 /*untilTimeCode (0/15)*/,
3116  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3117  },
3118  // -3:00 - %z
3119  {
3120  nullptr /*zonePolicy*/,
3121  "" /*format*/,
3122  -720 /*offsetCode (-10800/15)*/,
3123  0 /*offsetRemainder (-10800%15)*/,
3124  0 /*deltaMinutes*/,
3125  32767 /*untilYear*/,
3126  1 /*untilMonth*/,
3127  1 /*untilDay*/,
3128  0 /*untilTimeCode (0/15)*/,
3129  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3130  },
3131 
3132 };
3133 
3134 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "\x02" "\x04" "Mendoza";
3135 
3136 const complete::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
3137  kZoneNameAmerica_Argentina_Mendoza /*name*/,
3138  0xa9f72d5c /*zoneId*/,
3139  &kZoneContext /*zoneContext*/,
3140  16 /*numEras*/,
3141  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
3142  nullptr /*targetInfo*/,
3143 };
3144 
3145 //---------------------------------------------------------------------------
3146 // Zone name: America/Argentina/Rio_Gallegos
3147 // Eras: 10
3148 //---------------------------------------------------------------------------
3149 
3150 static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
3151  // -4:36:52 - LMT 1894 Oct 31
3152  {
3153  nullptr /*zonePolicy*/,
3154  "LMT" /*format*/,
3155  -1108 /*offsetCode (-16612/15)*/,
3156  8 /*offsetRemainder (-16612%15)*/,
3157  0 /*deltaMinutes*/,
3158  1894 /*untilYear*/,
3159  10 /*untilMonth*/,
3160  31 /*untilDay*/,
3161  0 /*untilTimeCode (0/15)*/,
3162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3163  },
3164  // -4:16:48 - CMT 1920 May
3165  {
3166  nullptr /*zonePolicy*/,
3167  "CMT" /*format*/,
3168  -1028 /*offsetCode (-15408/15)*/,
3169  12 /*offsetRemainder (-15408%15)*/,
3170  0 /*deltaMinutes*/,
3171  1920 /*untilYear*/,
3172  5 /*untilMonth*/,
3173  1 /*untilDay*/,
3174  0 /*untilTimeCode (0/15)*/,
3175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3176  },
3177  // -4:00 - %z 1930 Dec
3178  {
3179  nullptr /*zonePolicy*/,
3180  "" /*format*/,
3181  -960 /*offsetCode (-14400/15)*/,
3182  0 /*offsetRemainder (-14400%15)*/,
3183  0 /*deltaMinutes*/,
3184  1930 /*untilYear*/,
3185  12 /*untilMonth*/,
3186  1 /*untilDay*/,
3187  0 /*untilTimeCode (0/15)*/,
3188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3189  },
3190  // -4:00 Arg %z 1969 Oct 5
3191  {
3192  &kZonePolicyArg /*zonePolicy*/,
3193  "" /*format*/,
3194  -960 /*offsetCode (-14400/15)*/,
3195  0 /*offsetRemainder (-14400%15)*/,
3196  0 /*deltaMinutes*/,
3197  1969 /*untilYear*/,
3198  10 /*untilMonth*/,
3199  5 /*untilDay*/,
3200  0 /*untilTimeCode (0/15)*/,
3201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3202  },
3203  // -3:00 Arg %z 1999 Oct 3
3204  {
3205  &kZonePolicyArg /*zonePolicy*/,
3206  "" /*format*/,
3207  -720 /*offsetCode (-10800/15)*/,
3208  0 /*offsetRemainder (-10800%15)*/,
3209  0 /*deltaMinutes*/,
3210  1999 /*untilYear*/,
3211  10 /*untilMonth*/,
3212  3 /*untilDay*/,
3213  0 /*untilTimeCode (0/15)*/,
3214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3215  },
3216  // -4:00 Arg %z 2000 Mar 3
3217  {
3218  &kZonePolicyArg /*zonePolicy*/,
3219  "" /*format*/,
3220  -960 /*offsetCode (-14400/15)*/,
3221  0 /*offsetRemainder (-14400%15)*/,
3222  0 /*deltaMinutes*/,
3223  2000 /*untilYear*/,
3224  3 /*untilMonth*/,
3225  3 /*untilDay*/,
3226  0 /*untilTimeCode (0/15)*/,
3227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3228  },
3229  // -3:00 - %z 2004 Jun 1
3230  {
3231  nullptr /*zonePolicy*/,
3232  "" /*format*/,
3233  -720 /*offsetCode (-10800/15)*/,
3234  0 /*offsetRemainder (-10800%15)*/,
3235  0 /*deltaMinutes*/,
3236  2004 /*untilYear*/,
3237  6 /*untilMonth*/,
3238  1 /*untilDay*/,
3239  0 /*untilTimeCode (0/15)*/,
3240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3241  },
3242  // -4:00 - %z 2004 Jun 20
3243  {
3244  nullptr /*zonePolicy*/,
3245  "" /*format*/,
3246  -960 /*offsetCode (-14400/15)*/,
3247  0 /*offsetRemainder (-14400%15)*/,
3248  0 /*deltaMinutes*/,
3249  2004 /*untilYear*/,
3250  6 /*untilMonth*/,
3251  20 /*untilDay*/,
3252  0 /*untilTimeCode (0/15)*/,
3253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3254  },
3255  // -3:00 Arg %z 2008 Oct 18
3256  {
3257  &kZonePolicyArg /*zonePolicy*/,
3258  "" /*format*/,
3259  -720 /*offsetCode (-10800/15)*/,
3260  0 /*offsetRemainder (-10800%15)*/,
3261  0 /*deltaMinutes*/,
3262  2008 /*untilYear*/,
3263  10 /*untilMonth*/,
3264  18 /*untilDay*/,
3265  0 /*untilTimeCode (0/15)*/,
3266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3267  },
3268  // -3:00 - %z
3269  {
3270  nullptr /*zonePolicy*/,
3271  "" /*format*/,
3272  -720 /*offsetCode (-10800/15)*/,
3273  0 /*offsetRemainder (-10800%15)*/,
3274  0 /*deltaMinutes*/,
3275  32767 /*untilYear*/,
3276  1 /*untilMonth*/,
3277  1 /*untilDay*/,
3278  0 /*untilTimeCode (0/15)*/,
3279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3280  },
3281 
3282 };
3283 
3284 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "\x02" "\x04" "Rio_Gallegos";
3285 
3286 const complete::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
3287  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
3288  0xc5b0f565 /*zoneId*/,
3289  &kZoneContext /*zoneContext*/,
3290  10 /*numEras*/,
3291  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
3292  nullptr /*targetInfo*/,
3293 };
3294 
3295 //---------------------------------------------------------------------------
3296 // Zone name: America/Argentina/Salta
3297 // Eras: 10
3298 //---------------------------------------------------------------------------
3299 
3300 static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
3301  // -4:21:40 - LMT 1894 Oct 31
3302  {
3303  nullptr /*zonePolicy*/,
3304  "LMT" /*format*/,
3305  -1047 /*offsetCode (-15700/15)*/,
3306  5 /*offsetRemainder (-15700%15)*/,
3307  0 /*deltaMinutes*/,
3308  1894 /*untilYear*/,
3309  10 /*untilMonth*/,
3310  31 /*untilDay*/,
3311  0 /*untilTimeCode (0/15)*/,
3312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3313  },
3314  // -4:16:48 - CMT 1920 May
3315  {
3316  nullptr /*zonePolicy*/,
3317  "CMT" /*format*/,
3318  -1028 /*offsetCode (-15408/15)*/,
3319  12 /*offsetRemainder (-15408%15)*/,
3320  0 /*deltaMinutes*/,
3321  1920 /*untilYear*/,
3322  5 /*untilMonth*/,
3323  1 /*untilDay*/,
3324  0 /*untilTimeCode (0/15)*/,
3325  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3326  },
3327  // -4:00 - %z 1930 Dec
3328  {
3329  nullptr /*zonePolicy*/,
3330  "" /*format*/,
3331  -960 /*offsetCode (-14400/15)*/,
3332  0 /*offsetRemainder (-14400%15)*/,
3333  0 /*deltaMinutes*/,
3334  1930 /*untilYear*/,
3335  12 /*untilMonth*/,
3336  1 /*untilDay*/,
3337  0 /*untilTimeCode (0/15)*/,
3338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3339  },
3340  // -4:00 Arg %z 1969 Oct 5
3341  {
3342  &kZonePolicyArg /*zonePolicy*/,
3343  "" /*format*/,
3344  -960 /*offsetCode (-14400/15)*/,
3345  0 /*offsetRemainder (-14400%15)*/,
3346  0 /*deltaMinutes*/,
3347  1969 /*untilYear*/,
3348  10 /*untilMonth*/,
3349  5 /*untilDay*/,
3350  0 /*untilTimeCode (0/15)*/,
3351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3352  },
3353  // -3:00 Arg %z 1991 Mar 3
3354  {
3355  &kZonePolicyArg /*zonePolicy*/,
3356  "" /*format*/,
3357  -720 /*offsetCode (-10800/15)*/,
3358  0 /*offsetRemainder (-10800%15)*/,
3359  0 /*deltaMinutes*/,
3360  1991 /*untilYear*/,
3361  3 /*untilMonth*/,
3362  3 /*untilDay*/,
3363  0 /*untilTimeCode (0/15)*/,
3364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3365  },
3366  // -4:00 - %z 1991 Oct 20
3367  {
3368  nullptr /*zonePolicy*/,
3369  "" /*format*/,
3370  -960 /*offsetCode (-14400/15)*/,
3371  0 /*offsetRemainder (-14400%15)*/,
3372  0 /*deltaMinutes*/,
3373  1991 /*untilYear*/,
3374  10 /*untilMonth*/,
3375  20 /*untilDay*/,
3376  0 /*untilTimeCode (0/15)*/,
3377  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3378  },
3379  // -3:00 Arg %z 1999 Oct 3
3380  {
3381  &kZonePolicyArg /*zonePolicy*/,
3382  "" /*format*/,
3383  -720 /*offsetCode (-10800/15)*/,
3384  0 /*offsetRemainder (-10800%15)*/,
3385  0 /*deltaMinutes*/,
3386  1999 /*untilYear*/,
3387  10 /*untilMonth*/,
3388  3 /*untilDay*/,
3389  0 /*untilTimeCode (0/15)*/,
3390  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3391  },
3392  // -4:00 Arg %z 2000 Mar 3
3393  {
3394  &kZonePolicyArg /*zonePolicy*/,
3395  "" /*format*/,
3396  -960 /*offsetCode (-14400/15)*/,
3397  0 /*offsetRemainder (-14400%15)*/,
3398  0 /*deltaMinutes*/,
3399  2000 /*untilYear*/,
3400  3 /*untilMonth*/,
3401  3 /*untilDay*/,
3402  0 /*untilTimeCode (0/15)*/,
3403  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3404  },
3405  // -3:00 Arg %z 2008 Oct 18
3406  {
3407  &kZonePolicyArg /*zonePolicy*/,
3408  "" /*format*/,
3409  -720 /*offsetCode (-10800/15)*/,
3410  0 /*offsetRemainder (-10800%15)*/,
3411  0 /*deltaMinutes*/,
3412  2008 /*untilYear*/,
3413  10 /*untilMonth*/,
3414  18 /*untilDay*/,
3415  0 /*untilTimeCode (0/15)*/,
3416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3417  },
3418  // -3:00 - %z
3419  {
3420  nullptr /*zonePolicy*/,
3421  "" /*format*/,
3422  -720 /*offsetCode (-10800/15)*/,
3423  0 /*offsetRemainder (-10800%15)*/,
3424  0 /*deltaMinutes*/,
3425  32767 /*untilYear*/,
3426  1 /*untilMonth*/,
3427  1 /*untilDay*/,
3428  0 /*untilTimeCode (0/15)*/,
3429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3430  },
3431 
3432 };
3433 
3434 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "\x02" "\x04" "Salta";
3435 
3436 const complete::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
3437  kZoneNameAmerica_Argentina_Salta /*name*/,
3438  0x5fc73403 /*zoneId*/,
3439  &kZoneContext /*zoneContext*/,
3440  10 /*numEras*/,
3441  kZoneEraAmerica_Argentina_Salta /*eras*/,
3442  nullptr /*targetInfo*/,
3443 };
3444 
3445 //---------------------------------------------------------------------------
3446 // Zone name: America/Argentina/San_Juan
3447 // Eras: 12
3448 //---------------------------------------------------------------------------
3449 
3450 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
3451  // -4:34:04 - LMT 1894 Oct 31
3452  {
3453  nullptr /*zonePolicy*/,
3454  "LMT" /*format*/,
3455  -1097 /*offsetCode (-16444/15)*/,
3456  11 /*offsetRemainder (-16444%15)*/,
3457  0 /*deltaMinutes*/,
3458  1894 /*untilYear*/,
3459  10 /*untilMonth*/,
3460  31 /*untilDay*/,
3461  0 /*untilTimeCode (0/15)*/,
3462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3463  },
3464  // -4:16:48 - CMT 1920 May
3465  {
3466  nullptr /*zonePolicy*/,
3467  "CMT" /*format*/,
3468  -1028 /*offsetCode (-15408/15)*/,
3469  12 /*offsetRemainder (-15408%15)*/,
3470  0 /*deltaMinutes*/,
3471  1920 /*untilYear*/,
3472  5 /*untilMonth*/,
3473  1 /*untilDay*/,
3474  0 /*untilTimeCode (0/15)*/,
3475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3476  },
3477  // -4:00 - %z 1930 Dec
3478  {
3479  nullptr /*zonePolicy*/,
3480  "" /*format*/,
3481  -960 /*offsetCode (-14400/15)*/,
3482  0 /*offsetRemainder (-14400%15)*/,
3483  0 /*deltaMinutes*/,
3484  1930 /*untilYear*/,
3485  12 /*untilMonth*/,
3486  1 /*untilDay*/,
3487  0 /*untilTimeCode (0/15)*/,
3488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3489  },
3490  // -4:00 Arg %z 1969 Oct 5
3491  {
3492  &kZonePolicyArg /*zonePolicy*/,
3493  "" /*format*/,
3494  -960 /*offsetCode (-14400/15)*/,
3495  0 /*offsetRemainder (-14400%15)*/,
3496  0 /*deltaMinutes*/,
3497  1969 /*untilYear*/,
3498  10 /*untilMonth*/,
3499  5 /*untilDay*/,
3500  0 /*untilTimeCode (0/15)*/,
3501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3502  },
3503  // -3:00 Arg %z 1991 Mar 1
3504  {
3505  &kZonePolicyArg /*zonePolicy*/,
3506  "" /*format*/,
3507  -720 /*offsetCode (-10800/15)*/,
3508  0 /*offsetRemainder (-10800%15)*/,
3509  0 /*deltaMinutes*/,
3510  1991 /*untilYear*/,
3511  3 /*untilMonth*/,
3512  1 /*untilDay*/,
3513  0 /*untilTimeCode (0/15)*/,
3514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3515  },
3516  // -4:00 - %z 1991 May 7
3517  {
3518  nullptr /*zonePolicy*/,
3519  "" /*format*/,
3520  -960 /*offsetCode (-14400/15)*/,
3521  0 /*offsetRemainder (-14400%15)*/,
3522  0 /*deltaMinutes*/,
3523  1991 /*untilYear*/,
3524  5 /*untilMonth*/,
3525  7 /*untilDay*/,
3526  0 /*untilTimeCode (0/15)*/,
3527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3528  },
3529  // -3:00 Arg %z 1999 Oct 3
3530  {
3531  &kZonePolicyArg /*zonePolicy*/,
3532  "" /*format*/,
3533  -720 /*offsetCode (-10800/15)*/,
3534  0 /*offsetRemainder (-10800%15)*/,
3535  0 /*deltaMinutes*/,
3536  1999 /*untilYear*/,
3537  10 /*untilMonth*/,
3538  3 /*untilDay*/,
3539  0 /*untilTimeCode (0/15)*/,
3540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3541  },
3542  // -4:00 Arg %z 2000 Mar 3
3543  {
3544  &kZonePolicyArg /*zonePolicy*/,
3545  "" /*format*/,
3546  -960 /*offsetCode (-14400/15)*/,
3547  0 /*offsetRemainder (-14400%15)*/,
3548  0 /*deltaMinutes*/,
3549  2000 /*untilYear*/,
3550  3 /*untilMonth*/,
3551  3 /*untilDay*/,
3552  0 /*untilTimeCode (0/15)*/,
3553  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3554  },
3555  // -3:00 - %z 2004 May 31
3556  {
3557  nullptr /*zonePolicy*/,
3558  "" /*format*/,
3559  -720 /*offsetCode (-10800/15)*/,
3560  0 /*offsetRemainder (-10800%15)*/,
3561  0 /*deltaMinutes*/,
3562  2004 /*untilYear*/,
3563  5 /*untilMonth*/,
3564  31 /*untilDay*/,
3565  0 /*untilTimeCode (0/15)*/,
3566  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3567  },
3568  // -4:00 - %z 2004 Jul 25
3569  {
3570  nullptr /*zonePolicy*/,
3571  "" /*format*/,
3572  -960 /*offsetCode (-14400/15)*/,
3573  0 /*offsetRemainder (-14400%15)*/,
3574  0 /*deltaMinutes*/,
3575  2004 /*untilYear*/,
3576  7 /*untilMonth*/,
3577  25 /*untilDay*/,
3578  0 /*untilTimeCode (0/15)*/,
3579  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3580  },
3581  // -3:00 Arg %z 2008 Oct 18
3582  {
3583  &kZonePolicyArg /*zonePolicy*/,
3584  "" /*format*/,
3585  -720 /*offsetCode (-10800/15)*/,
3586  0 /*offsetRemainder (-10800%15)*/,
3587  0 /*deltaMinutes*/,
3588  2008 /*untilYear*/,
3589  10 /*untilMonth*/,
3590  18 /*untilDay*/,
3591  0 /*untilTimeCode (0/15)*/,
3592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3593  },
3594  // -3:00 - %z
3595  {
3596  nullptr /*zonePolicy*/,
3597  "" /*format*/,
3598  -720 /*offsetCode (-10800/15)*/,
3599  0 /*offsetRemainder (-10800%15)*/,
3600  0 /*deltaMinutes*/,
3601  32767 /*untilYear*/,
3602  1 /*untilMonth*/,
3603  1 /*untilDay*/,
3604  0 /*untilTimeCode (0/15)*/,
3605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3606  },
3607 
3608 };
3609 
3610 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Juan";
3611 
3612 const complete::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
3613  kZoneNameAmerica_Argentina_San_Juan /*name*/,
3614  0x3e1009bd /*zoneId*/,
3615  &kZoneContext /*zoneContext*/,
3616  12 /*numEras*/,
3617  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
3618  nullptr /*targetInfo*/,
3619 };
3620 
3621 //---------------------------------------------------------------------------
3622 // Zone name: America/Argentina/San_Luis
3623 // Eras: 16
3624 //---------------------------------------------------------------------------
3625 
3626 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
3627  // -4:25:24 - LMT 1894 Oct 31
3628  {
3629  nullptr /*zonePolicy*/,
3630  "LMT" /*format*/,
3631  -1062 /*offsetCode (-15924/15)*/,
3632  6 /*offsetRemainder (-15924%15)*/,
3633  0 /*deltaMinutes*/,
3634  1894 /*untilYear*/,
3635  10 /*untilMonth*/,
3636  31 /*untilDay*/,
3637  0 /*untilTimeCode (0/15)*/,
3638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3639  },
3640  // -4:16:48 - CMT 1920 May
3641  {
3642  nullptr /*zonePolicy*/,
3643  "CMT" /*format*/,
3644  -1028 /*offsetCode (-15408/15)*/,
3645  12 /*offsetRemainder (-15408%15)*/,
3646  0 /*deltaMinutes*/,
3647  1920 /*untilYear*/,
3648  5 /*untilMonth*/,
3649  1 /*untilDay*/,
3650  0 /*untilTimeCode (0/15)*/,
3651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3652  },
3653  // -4:00 - %z 1930 Dec
3654  {
3655  nullptr /*zonePolicy*/,
3656  "" /*format*/,
3657  -960 /*offsetCode (-14400/15)*/,
3658  0 /*offsetRemainder (-14400%15)*/,
3659  0 /*deltaMinutes*/,
3660  1930 /*untilYear*/,
3661  12 /*untilMonth*/,
3662  1 /*untilDay*/,
3663  0 /*untilTimeCode (0/15)*/,
3664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3665  },
3666  // -4:00 Arg %z 1969 Oct 5
3667  {
3668  &kZonePolicyArg /*zonePolicy*/,
3669  "" /*format*/,
3670  -960 /*offsetCode (-14400/15)*/,
3671  0 /*offsetRemainder (-14400%15)*/,
3672  0 /*deltaMinutes*/,
3673  1969 /*untilYear*/,
3674  10 /*untilMonth*/,
3675  5 /*untilDay*/,
3676  0 /*untilTimeCode (0/15)*/,
3677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3678  },
3679  // -3:00 Arg %z 1990
3680  {
3681  &kZonePolicyArg /*zonePolicy*/,
3682  "" /*format*/,
3683  -720 /*offsetCode (-10800/15)*/,
3684  0 /*offsetRemainder (-10800%15)*/,
3685  0 /*deltaMinutes*/,
3686  1990 /*untilYear*/,
3687  1 /*untilMonth*/,
3688  1 /*untilDay*/,
3689  0 /*untilTimeCode (0/15)*/,
3690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3691  },
3692  // -3:00 1:00 %z 1990 Mar 14
3693  {
3694  nullptr /*zonePolicy*/,
3695  "" /*format*/,
3696  -720 /*offsetCode (-10800/15)*/,
3697  0 /*offsetRemainder (-10800%15)*/,
3698  60 /*deltaMinutes*/,
3699  1990 /*untilYear*/,
3700  3 /*untilMonth*/,
3701  14 /*untilDay*/,
3702  0 /*untilTimeCode (0/15)*/,
3703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3704  },
3705  // -4:00 - %z 1990 Oct 15
3706  {
3707  nullptr /*zonePolicy*/,
3708  "" /*format*/,
3709  -960 /*offsetCode (-14400/15)*/,
3710  0 /*offsetRemainder (-14400%15)*/,
3711  0 /*deltaMinutes*/,
3712  1990 /*untilYear*/,
3713  10 /*untilMonth*/,
3714  15 /*untilDay*/,
3715  0 /*untilTimeCode (0/15)*/,
3716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3717  },
3718  // -4:00 1:00 %z 1991 Mar 1
3719  {
3720  nullptr /*zonePolicy*/,
3721  "" /*format*/,
3722  -960 /*offsetCode (-14400/15)*/,
3723  0 /*offsetRemainder (-14400%15)*/,
3724  60 /*deltaMinutes*/,
3725  1991 /*untilYear*/,
3726  3 /*untilMonth*/,
3727  1 /*untilDay*/,
3728  0 /*untilTimeCode (0/15)*/,
3729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3730  },
3731  // -4:00 - %z 1991 Jun 1
3732  {
3733  nullptr /*zonePolicy*/,
3734  "" /*format*/,
3735  -960 /*offsetCode (-14400/15)*/,
3736  0 /*offsetRemainder (-14400%15)*/,
3737  0 /*deltaMinutes*/,
3738  1991 /*untilYear*/,
3739  6 /*untilMonth*/,
3740  1 /*untilDay*/,
3741  0 /*untilTimeCode (0/15)*/,
3742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3743  },
3744  // -3:00 - %z 1999 Oct 3
3745  {
3746  nullptr /*zonePolicy*/,
3747  "" /*format*/,
3748  -720 /*offsetCode (-10800/15)*/,
3749  0 /*offsetRemainder (-10800%15)*/,
3750  0 /*deltaMinutes*/,
3751  1999 /*untilYear*/,
3752  10 /*untilMonth*/,
3753  3 /*untilDay*/,
3754  0 /*untilTimeCode (0/15)*/,
3755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3756  },
3757  // -4:00 1:00 %z 2000 Mar 3
3758  {
3759  nullptr /*zonePolicy*/,
3760  "" /*format*/,
3761  -960 /*offsetCode (-14400/15)*/,
3762  0 /*offsetRemainder (-14400%15)*/,
3763  60 /*deltaMinutes*/,
3764  2000 /*untilYear*/,
3765  3 /*untilMonth*/,
3766  3 /*untilDay*/,
3767  0 /*untilTimeCode (0/15)*/,
3768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3769  },
3770  // -3:00 - %z 2004 May 31
3771  {
3772  nullptr /*zonePolicy*/,
3773  "" /*format*/,
3774  -720 /*offsetCode (-10800/15)*/,
3775  0 /*offsetRemainder (-10800%15)*/,
3776  0 /*deltaMinutes*/,
3777  2004 /*untilYear*/,
3778  5 /*untilMonth*/,
3779  31 /*untilDay*/,
3780  0 /*untilTimeCode (0/15)*/,
3781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3782  },
3783  // -4:00 - %z 2004 Jul 25
3784  {
3785  nullptr /*zonePolicy*/,
3786  "" /*format*/,
3787  -960 /*offsetCode (-14400/15)*/,
3788  0 /*offsetRemainder (-14400%15)*/,
3789  0 /*deltaMinutes*/,
3790  2004 /*untilYear*/,
3791  7 /*untilMonth*/,
3792  25 /*untilDay*/,
3793  0 /*untilTimeCode (0/15)*/,
3794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3795  },
3796  // -3:00 Arg %z 2008 Jan 21
3797  {
3798  &kZonePolicyArg /*zonePolicy*/,
3799  "" /*format*/,
3800  -720 /*offsetCode (-10800/15)*/,
3801  0 /*offsetRemainder (-10800%15)*/,
3802  0 /*deltaMinutes*/,
3803  2008 /*untilYear*/,
3804  1 /*untilMonth*/,
3805  21 /*untilDay*/,
3806  0 /*untilTimeCode (0/15)*/,
3807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3808  },
3809  // -4:00 SanLuis %z 2009 Oct 11
3810  {
3811  &kZonePolicySanLuis /*zonePolicy*/,
3812  "" /*format*/,
3813  -960 /*offsetCode (-14400/15)*/,
3814  0 /*offsetRemainder (-14400%15)*/,
3815  0 /*deltaMinutes*/,
3816  2009 /*untilYear*/,
3817  10 /*untilMonth*/,
3818  11 /*untilDay*/,
3819  0 /*untilTimeCode (0/15)*/,
3820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3821  },
3822  // -3:00 - %z
3823  {
3824  nullptr /*zonePolicy*/,
3825  "" /*format*/,
3826  -720 /*offsetCode (-10800/15)*/,
3827  0 /*offsetRemainder (-10800%15)*/,
3828  0 /*deltaMinutes*/,
3829  32767 /*untilYear*/,
3830  1 /*untilMonth*/,
3831  1 /*untilDay*/,
3832  0 /*untilTimeCode (0/15)*/,
3833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3834  },
3835 
3836 };
3837 
3838 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Luis";
3839 
3840 const complete::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
3841  kZoneNameAmerica_Argentina_San_Luis /*name*/,
3842  0x3e11238c /*zoneId*/,
3843  &kZoneContext /*zoneContext*/,
3844  16 /*numEras*/,
3845  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
3846  nullptr /*targetInfo*/,
3847 };
3848 
3849 //---------------------------------------------------------------------------
3850 // Zone name: America/Argentina/Tucuman
3851 // Eras: 11
3852 //---------------------------------------------------------------------------
3853 
3854 static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
3855  // -4:20:52 - LMT 1894 Oct 31
3856  {
3857  nullptr /*zonePolicy*/,
3858  "LMT" /*format*/,
3859  -1044 /*offsetCode (-15652/15)*/,
3860  8 /*offsetRemainder (-15652%15)*/,
3861  0 /*deltaMinutes*/,
3862  1894 /*untilYear*/,
3863  10 /*untilMonth*/,
3864  31 /*untilDay*/,
3865  0 /*untilTimeCode (0/15)*/,
3866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3867  },
3868  // -4:16:48 - CMT 1920 May
3869  {
3870  nullptr /*zonePolicy*/,
3871  "CMT" /*format*/,
3872  -1028 /*offsetCode (-15408/15)*/,
3873  12 /*offsetRemainder (-15408%15)*/,
3874  0 /*deltaMinutes*/,
3875  1920 /*untilYear*/,
3876  5 /*untilMonth*/,
3877  1 /*untilDay*/,
3878  0 /*untilTimeCode (0/15)*/,
3879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3880  },
3881  // -4:00 - %z 1930 Dec
3882  {
3883  nullptr /*zonePolicy*/,
3884  "" /*format*/,
3885  -960 /*offsetCode (-14400/15)*/,
3886  0 /*offsetRemainder (-14400%15)*/,
3887  0 /*deltaMinutes*/,
3888  1930 /*untilYear*/,
3889  12 /*untilMonth*/,
3890  1 /*untilDay*/,
3891  0 /*untilTimeCode (0/15)*/,
3892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3893  },
3894  // -4:00 Arg %z 1969 Oct 5
3895  {
3896  &kZonePolicyArg /*zonePolicy*/,
3897  "" /*format*/,
3898  -960 /*offsetCode (-14400/15)*/,
3899  0 /*offsetRemainder (-14400%15)*/,
3900  0 /*deltaMinutes*/,
3901  1969 /*untilYear*/,
3902  10 /*untilMonth*/,
3903  5 /*untilDay*/,
3904  0 /*untilTimeCode (0/15)*/,
3905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3906  },
3907  // -3:00 Arg %z 1991 Mar 3
3908  {
3909  &kZonePolicyArg /*zonePolicy*/,
3910  "" /*format*/,
3911  -720 /*offsetCode (-10800/15)*/,
3912  0 /*offsetRemainder (-10800%15)*/,
3913  0 /*deltaMinutes*/,
3914  1991 /*untilYear*/,
3915  3 /*untilMonth*/,
3916  3 /*untilDay*/,
3917  0 /*untilTimeCode (0/15)*/,
3918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3919  },
3920  // -4:00 - %z 1991 Oct 20
3921  {
3922  nullptr /*zonePolicy*/,
3923  "" /*format*/,
3924  -960 /*offsetCode (-14400/15)*/,
3925  0 /*offsetRemainder (-14400%15)*/,
3926  0 /*deltaMinutes*/,
3927  1991 /*untilYear*/,
3928  10 /*untilMonth*/,
3929  20 /*untilDay*/,
3930  0 /*untilTimeCode (0/15)*/,
3931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3932  },
3933  // -3:00 Arg %z 1999 Oct 3
3934  {
3935  &kZonePolicyArg /*zonePolicy*/,
3936  "" /*format*/,
3937  -720 /*offsetCode (-10800/15)*/,
3938  0 /*offsetRemainder (-10800%15)*/,
3939  0 /*deltaMinutes*/,
3940  1999 /*untilYear*/,
3941  10 /*untilMonth*/,
3942  3 /*untilDay*/,
3943  0 /*untilTimeCode (0/15)*/,
3944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3945  },
3946  // -4:00 Arg %z 2000 Mar 3
3947  {
3948  &kZonePolicyArg /*zonePolicy*/,
3949  "" /*format*/,
3950  -960 /*offsetCode (-14400/15)*/,
3951  0 /*offsetRemainder (-14400%15)*/,
3952  0 /*deltaMinutes*/,
3953  2000 /*untilYear*/,
3954  3 /*untilMonth*/,
3955  3 /*untilDay*/,
3956  0 /*untilTimeCode (0/15)*/,
3957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3958  },
3959  // -3:00 - %z 2004 Jun 1
3960  {
3961  nullptr /*zonePolicy*/,
3962  "" /*format*/,
3963  -720 /*offsetCode (-10800/15)*/,
3964  0 /*offsetRemainder (-10800%15)*/,
3965  0 /*deltaMinutes*/,
3966  2004 /*untilYear*/,
3967  6 /*untilMonth*/,
3968  1 /*untilDay*/,
3969  0 /*untilTimeCode (0/15)*/,
3970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3971  },
3972  // -4:00 - %z 2004 Jun 13
3973  {
3974  nullptr /*zonePolicy*/,
3975  "" /*format*/,
3976  -960 /*offsetCode (-14400/15)*/,
3977  0 /*offsetRemainder (-14400%15)*/,
3978  0 /*deltaMinutes*/,
3979  2004 /*untilYear*/,
3980  6 /*untilMonth*/,
3981  13 /*untilDay*/,
3982  0 /*untilTimeCode (0/15)*/,
3983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3984  },
3985  // -3:00 Arg %z
3986  {
3987  &kZonePolicyArg /*zonePolicy*/,
3988  "" /*format*/,
3989  -720 /*offsetCode (-10800/15)*/,
3990  0 /*offsetRemainder (-10800%15)*/,
3991  0 /*deltaMinutes*/,
3992  32767 /*untilYear*/,
3993  1 /*untilMonth*/,
3994  1 /*untilDay*/,
3995  0 /*untilTimeCode (0/15)*/,
3996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3997  },
3998 
3999 };
4000 
4001 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "\x02" "\x04" "Tucuman";
4002 
4003 const complete::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
4004  kZoneNameAmerica_Argentina_Tucuman /*name*/,
4005  0xe96399eb /*zoneId*/,
4006  &kZoneContext /*zoneContext*/,
4007  11 /*numEras*/,
4008  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
4009  nullptr /*targetInfo*/,
4010 };
4011 
4012 //---------------------------------------------------------------------------
4013 // Zone name: America/Argentina/Ushuaia
4014 // Eras: 10
4015 //---------------------------------------------------------------------------
4016 
4017 static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
4018  // -4:33:12 - LMT 1894 Oct 31
4019  {
4020  nullptr /*zonePolicy*/,
4021  "LMT" /*format*/,
4022  -1093 /*offsetCode (-16392/15)*/,
4023  3 /*offsetRemainder (-16392%15)*/,
4024  0 /*deltaMinutes*/,
4025  1894 /*untilYear*/,
4026  10 /*untilMonth*/,
4027  31 /*untilDay*/,
4028  0 /*untilTimeCode (0/15)*/,
4029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4030  },
4031  // -4:16:48 - CMT 1920 May
4032  {
4033  nullptr /*zonePolicy*/,
4034  "CMT" /*format*/,
4035  -1028 /*offsetCode (-15408/15)*/,
4036  12 /*offsetRemainder (-15408%15)*/,
4037  0 /*deltaMinutes*/,
4038  1920 /*untilYear*/,
4039  5 /*untilMonth*/,
4040  1 /*untilDay*/,
4041  0 /*untilTimeCode (0/15)*/,
4042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4043  },
4044  // -4:00 - %z 1930 Dec
4045  {
4046  nullptr /*zonePolicy*/,
4047  "" /*format*/,
4048  -960 /*offsetCode (-14400/15)*/,
4049  0 /*offsetRemainder (-14400%15)*/,
4050  0 /*deltaMinutes*/,
4051  1930 /*untilYear*/,
4052  12 /*untilMonth*/,
4053  1 /*untilDay*/,
4054  0 /*untilTimeCode (0/15)*/,
4055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4056  },
4057  // -4:00 Arg %z 1969 Oct 5
4058  {
4059  &kZonePolicyArg /*zonePolicy*/,
4060  "" /*format*/,
4061  -960 /*offsetCode (-14400/15)*/,
4062  0 /*offsetRemainder (-14400%15)*/,
4063  0 /*deltaMinutes*/,
4064  1969 /*untilYear*/,
4065  10 /*untilMonth*/,
4066  5 /*untilDay*/,
4067  0 /*untilTimeCode (0/15)*/,
4068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4069  },
4070  // -3:00 Arg %z 1999 Oct 3
4071  {
4072  &kZonePolicyArg /*zonePolicy*/,
4073  "" /*format*/,
4074  -720 /*offsetCode (-10800/15)*/,
4075  0 /*offsetRemainder (-10800%15)*/,
4076  0 /*deltaMinutes*/,
4077  1999 /*untilYear*/,
4078  10 /*untilMonth*/,
4079  3 /*untilDay*/,
4080  0 /*untilTimeCode (0/15)*/,
4081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4082  },
4083  // -4:00 Arg %z 2000 Mar 3
4084  {
4085  &kZonePolicyArg /*zonePolicy*/,
4086  "" /*format*/,
4087  -960 /*offsetCode (-14400/15)*/,
4088  0 /*offsetRemainder (-14400%15)*/,
4089  0 /*deltaMinutes*/,
4090  2000 /*untilYear*/,
4091  3 /*untilMonth*/,
4092  3 /*untilDay*/,
4093  0 /*untilTimeCode (0/15)*/,
4094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4095  },
4096  // -3:00 - %z 2004 May 30
4097  {
4098  nullptr /*zonePolicy*/,
4099  "" /*format*/,
4100  -720 /*offsetCode (-10800/15)*/,
4101  0 /*offsetRemainder (-10800%15)*/,
4102  0 /*deltaMinutes*/,
4103  2004 /*untilYear*/,
4104  5 /*untilMonth*/,
4105  30 /*untilDay*/,
4106  0 /*untilTimeCode (0/15)*/,
4107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4108  },
4109  // -4:00 - %z 2004 Jun 20
4110  {
4111  nullptr /*zonePolicy*/,
4112  "" /*format*/,
4113  -960 /*offsetCode (-14400/15)*/,
4114  0 /*offsetRemainder (-14400%15)*/,
4115  0 /*deltaMinutes*/,
4116  2004 /*untilYear*/,
4117  6 /*untilMonth*/,
4118  20 /*untilDay*/,
4119  0 /*untilTimeCode (0/15)*/,
4120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4121  },
4122  // -3:00 Arg %z 2008 Oct 18
4123  {
4124  &kZonePolicyArg /*zonePolicy*/,
4125  "" /*format*/,
4126  -720 /*offsetCode (-10800/15)*/,
4127  0 /*offsetRemainder (-10800%15)*/,
4128  0 /*deltaMinutes*/,
4129  2008 /*untilYear*/,
4130  10 /*untilMonth*/,
4131  18 /*untilDay*/,
4132  0 /*untilTimeCode (0/15)*/,
4133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4134  },
4135  // -3:00 - %z
4136  {
4137  nullptr /*zonePolicy*/,
4138  "" /*format*/,
4139  -720 /*offsetCode (-10800/15)*/,
4140  0 /*offsetRemainder (-10800%15)*/,
4141  0 /*deltaMinutes*/,
4142  32767 /*untilYear*/,
4143  1 /*untilMonth*/,
4144  1 /*untilDay*/,
4145  0 /*untilTimeCode (0/15)*/,
4146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4147  },
4148 
4149 };
4150 
4151 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "\x02" "\x04" "Ushuaia";
4152 
4153 const complete::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
4154  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
4155  0x320dcdde /*zoneId*/,
4156  &kZoneContext /*zoneContext*/,
4157  10 /*numEras*/,
4158  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
4159  nullptr /*targetInfo*/,
4160 };
4161 
4162 //---------------------------------------------------------------------------
4163 // Zone name: America/Asuncion
4164 // Eras: 5
4165 //---------------------------------------------------------------------------
4166 
4167 static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
4168  // -3:50:40 - LMT 1890
4169  {
4170  nullptr /*zonePolicy*/,
4171  "LMT" /*format*/,
4172  -923 /*offsetCode (-13840/15)*/,
4173  5 /*offsetRemainder (-13840%15)*/,
4174  0 /*deltaMinutes*/,
4175  1890 /*untilYear*/,
4176  1 /*untilMonth*/,
4177  1 /*untilDay*/,
4178  0 /*untilTimeCode (0/15)*/,
4179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4180  },
4181  // -3:50:40 - AMT 1931 Oct 10
4182  {
4183  nullptr /*zonePolicy*/,
4184  "AMT" /*format*/,
4185  -923 /*offsetCode (-13840/15)*/,
4186  5 /*offsetRemainder (-13840%15)*/,
4187  0 /*deltaMinutes*/,
4188  1931 /*untilYear*/,
4189  10 /*untilMonth*/,
4190  10 /*untilDay*/,
4191  0 /*untilTimeCode (0/15)*/,
4192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4193  },
4194  // -4:00 - %z 1972 Oct
4195  {
4196  nullptr /*zonePolicy*/,
4197  "" /*format*/,
4198  -960 /*offsetCode (-14400/15)*/,
4199  0 /*offsetRemainder (-14400%15)*/,
4200  0 /*deltaMinutes*/,
4201  1972 /*untilYear*/,
4202  10 /*untilMonth*/,
4203  1 /*untilDay*/,
4204  0 /*untilTimeCode (0/15)*/,
4205  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4206  },
4207  // -3:00 - %z 1974 Apr
4208  {
4209  nullptr /*zonePolicy*/,
4210  "" /*format*/,
4211  -720 /*offsetCode (-10800/15)*/,
4212  0 /*offsetRemainder (-10800%15)*/,
4213  0 /*deltaMinutes*/,
4214  1974 /*untilYear*/,
4215  4 /*untilMonth*/,
4216  1 /*untilDay*/,
4217  0 /*untilTimeCode (0/15)*/,
4218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4219  },
4220  // -4:00 Para %z
4221  {
4222  &kZonePolicyPara /*zonePolicy*/,
4223  "" /*format*/,
4224  -960 /*offsetCode (-14400/15)*/,
4225  0 /*offsetRemainder (-14400%15)*/,
4226  0 /*deltaMinutes*/,
4227  32767 /*untilYear*/,
4228  1 /*untilMonth*/,
4229  1 /*untilDay*/,
4230  0 /*untilTimeCode (0/15)*/,
4231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4232  },
4233 
4234 };
4235 
4236 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "\x02" "Asuncion";
4237 
4238 const complete::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
4239  kZoneNameAmerica_Asuncion /*name*/,
4240  0x50ec79a6 /*zoneId*/,
4241  &kZoneContext /*zoneContext*/,
4242  5 /*numEras*/,
4243  kZoneEraAmerica_Asuncion /*eras*/,
4244  nullptr /*targetInfo*/,
4245 };
4246 
4247 //---------------------------------------------------------------------------
4248 // Zone name: America/Bahia
4249 // Eras: 5
4250 //---------------------------------------------------------------------------
4251 
4252 static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
4253  // -2:34:04 - LMT 1914
4254  {
4255  nullptr /*zonePolicy*/,
4256  "LMT" /*format*/,
4257  -617 /*offsetCode (-9244/15)*/,
4258  11 /*offsetRemainder (-9244%15)*/,
4259  0 /*deltaMinutes*/,
4260  1914 /*untilYear*/,
4261  1 /*untilMonth*/,
4262  1 /*untilDay*/,
4263  0 /*untilTimeCode (0/15)*/,
4264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4265  },
4266  // -3:00 Brazil %z 2003 Sep 24
4267  {
4268  &kZonePolicyBrazil /*zonePolicy*/,
4269  "" /*format*/,
4270  -720 /*offsetCode (-10800/15)*/,
4271  0 /*offsetRemainder (-10800%15)*/,
4272  0 /*deltaMinutes*/,
4273  2003 /*untilYear*/,
4274  9 /*untilMonth*/,
4275  24 /*untilDay*/,
4276  0 /*untilTimeCode (0/15)*/,
4277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4278  },
4279  // -3:00 - %z 2011 Oct 16
4280  {
4281  nullptr /*zonePolicy*/,
4282  "" /*format*/,
4283  -720 /*offsetCode (-10800/15)*/,
4284  0 /*offsetRemainder (-10800%15)*/,
4285  0 /*deltaMinutes*/,
4286  2011 /*untilYear*/,
4287  10 /*untilMonth*/,
4288  16 /*untilDay*/,
4289  0 /*untilTimeCode (0/15)*/,
4290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4291  },
4292  // -3:00 Brazil %z 2012 Oct 21
4293  {
4294  &kZonePolicyBrazil /*zonePolicy*/,
4295  "" /*format*/,
4296  -720 /*offsetCode (-10800/15)*/,
4297  0 /*offsetRemainder (-10800%15)*/,
4298  0 /*deltaMinutes*/,
4299  2012 /*untilYear*/,
4300  10 /*untilMonth*/,
4301  21 /*untilDay*/,
4302  0 /*untilTimeCode (0/15)*/,
4303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4304  },
4305  // -3:00 - %z
4306  {
4307  nullptr /*zonePolicy*/,
4308  "" /*format*/,
4309  -720 /*offsetCode (-10800/15)*/,
4310  0 /*offsetRemainder (-10800%15)*/,
4311  0 /*deltaMinutes*/,
4312  32767 /*untilYear*/,
4313  1 /*untilMonth*/,
4314  1 /*untilDay*/,
4315  0 /*untilTimeCode (0/15)*/,
4316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4317  },
4318 
4319 };
4320 
4321 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "\x02" "Bahia";
4322 
4323 const complete::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
4324  kZoneNameAmerica_Bahia /*name*/,
4325  0x97d815fb /*zoneId*/,
4326  &kZoneContext /*zoneContext*/,
4327  5 /*numEras*/,
4328  kZoneEraAmerica_Bahia /*eras*/,
4329  nullptr /*targetInfo*/,
4330 };
4331 
4332 //---------------------------------------------------------------------------
4333 // Zone name: America/Bahia_Banderas
4334 // Eras: 8
4335 //---------------------------------------------------------------------------
4336 
4337 static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
4338  // -7:01:00 - LMT 1922 Jan 1 7:00u
4339  {
4340  nullptr /*zonePolicy*/,
4341  "LMT" /*format*/,
4342  -1684 /*offsetCode (-25260/15)*/,
4343  0 /*offsetRemainder (-25260%15)*/,
4344  0 /*deltaMinutes*/,
4345  1922 /*untilYear*/,
4346  1 /*untilMonth*/,
4347  1 /*untilDay*/,
4348  1680 /*untilTimeCode (25200/15)*/,
4349  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4350  },
4351  // -7:00 - MST 1927 Jun 10
4352  {
4353  nullptr /*zonePolicy*/,
4354  "MST" /*format*/,
4355  -1680 /*offsetCode (-25200/15)*/,
4356  0 /*offsetRemainder (-25200%15)*/,
4357  0 /*deltaMinutes*/,
4358  1927 /*untilYear*/,
4359  6 /*untilMonth*/,
4360  10 /*untilDay*/,
4361  0 /*untilTimeCode (0/15)*/,
4362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4363  },
4364  // -6:00 - CST 1930 Nov 15
4365  {
4366  nullptr /*zonePolicy*/,
4367  "CST" /*format*/,
4368  -1440 /*offsetCode (-21600/15)*/,
4369  0 /*offsetRemainder (-21600%15)*/,
4370  0 /*deltaMinutes*/,
4371  1930 /*untilYear*/,
4372  11 /*untilMonth*/,
4373  15 /*untilDay*/,
4374  0 /*untilTimeCode (0/15)*/,
4375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4376  },
4377  // -7:00 Mexico M%sT 1932 Apr 1
4378  {
4379  &kZonePolicyMexico /*zonePolicy*/,
4380  "M%T" /*format*/,
4381  -1680 /*offsetCode (-25200/15)*/,
4382  0 /*offsetRemainder (-25200%15)*/,
4383  0 /*deltaMinutes*/,
4384  1932 /*untilYear*/,
4385  4 /*untilMonth*/,
4386  1 /*untilDay*/,
4387  0 /*untilTimeCode (0/15)*/,
4388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4389  },
4390  // -6:00 - CST 1942 Apr 24
4391  {
4392  nullptr /*zonePolicy*/,
4393  "CST" /*format*/,
4394  -1440 /*offsetCode (-21600/15)*/,
4395  0 /*offsetRemainder (-21600%15)*/,
4396  0 /*deltaMinutes*/,
4397  1942 /*untilYear*/,
4398  4 /*untilMonth*/,
4399  24 /*untilDay*/,
4400  0 /*untilTimeCode (0/15)*/,
4401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4402  },
4403  // -7:00 - MST 1970
4404  {
4405  nullptr /*zonePolicy*/,
4406  "MST" /*format*/,
4407  -1680 /*offsetCode (-25200/15)*/,
4408  0 /*offsetRemainder (-25200%15)*/,
4409  0 /*deltaMinutes*/,
4410  1970 /*untilYear*/,
4411  1 /*untilMonth*/,
4412  1 /*untilDay*/,
4413  0 /*untilTimeCode (0/15)*/,
4414  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4415  },
4416  // -7:00 Mexico M%sT 2010 Apr 4 2:00
4417  {
4418  &kZonePolicyMexico /*zonePolicy*/,
4419  "M%T" /*format*/,
4420  -1680 /*offsetCode (-25200/15)*/,
4421  0 /*offsetRemainder (-25200%15)*/,
4422  0 /*deltaMinutes*/,
4423  2010 /*untilYear*/,
4424  4 /*untilMonth*/,
4425  4 /*untilDay*/,
4426  480 /*untilTimeCode (7200/15)*/,
4427  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4428  },
4429  // -6:00 Mexico C%sT
4430  {
4431  &kZonePolicyMexico /*zonePolicy*/,
4432  "C%T" /*format*/,
4433  -1440 /*offsetCode (-21600/15)*/,
4434  0 /*offsetRemainder (-21600%15)*/,
4435  0 /*deltaMinutes*/,
4436  32767 /*untilYear*/,
4437  1 /*untilMonth*/,
4438  1 /*untilDay*/,
4439  0 /*untilTimeCode (0/15)*/,
4440  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4441  },
4442 
4443 };
4444 
4445 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "\x02" "Bahia_Banderas";
4446 
4447 const complete::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
4448  kZoneNameAmerica_Bahia_Banderas /*name*/,
4449  0x14f6329a /*zoneId*/,
4450  &kZoneContext /*zoneContext*/,
4451  8 /*numEras*/,
4452  kZoneEraAmerica_Bahia_Banderas /*eras*/,
4453  nullptr /*targetInfo*/,
4454 };
4455 
4456 //---------------------------------------------------------------------------
4457 // Zone name: America/Barbados
4458 // Eras: 4
4459 //---------------------------------------------------------------------------
4460 
4461 static const complete::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
4462  // -3:58:29 - LMT 1911 Aug 28
4463  {
4464  nullptr /*zonePolicy*/,
4465  "LMT" /*format*/,
4466  -954 /*offsetCode (-14309/15)*/,
4467  1 /*offsetRemainder (-14309%15)*/,
4468  0 /*deltaMinutes*/,
4469  1911 /*untilYear*/,
4470  8 /*untilMonth*/,
4471  28 /*untilDay*/,
4472  0 /*untilTimeCode (0/15)*/,
4473  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4474  },
4475  // -4:00 Barb A%sT 1944
4476  {
4477  &kZonePolicyBarb /*zonePolicy*/,
4478  "A%T" /*format*/,
4479  -960 /*offsetCode (-14400/15)*/,
4480  0 /*offsetRemainder (-14400%15)*/,
4481  0 /*deltaMinutes*/,
4482  1944 /*untilYear*/,
4483  1 /*untilMonth*/,
4484  1 /*untilDay*/,
4485  0 /*untilTimeCode (0/15)*/,
4486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4487  },
4488  // -4:00 Barb AST/-0330 1945
4489  {
4490  &kZonePolicyBarb /*zonePolicy*/,
4491  "AST/-0330" /*format*/,
4492  -960 /*offsetCode (-14400/15)*/,
4493  0 /*offsetRemainder (-14400%15)*/,
4494  0 /*deltaMinutes*/,
4495  1945 /*untilYear*/,
4496  1 /*untilMonth*/,
4497  1 /*untilDay*/,
4498  0 /*untilTimeCode (0/15)*/,
4499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4500  },
4501  // -4:00 Barb A%sT
4502  {
4503  &kZonePolicyBarb /*zonePolicy*/,
4504  "A%T" /*format*/,
4505  -960 /*offsetCode (-14400/15)*/,
4506  0 /*offsetRemainder (-14400%15)*/,
4507  0 /*deltaMinutes*/,
4508  32767 /*untilYear*/,
4509  1 /*untilMonth*/,
4510  1 /*untilDay*/,
4511  0 /*untilTimeCode (0/15)*/,
4512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4513  },
4514 
4515 };
4516 
4517 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";
4518 
4519 const complete::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
4520  kZoneNameAmerica_Barbados /*name*/,
4521  0xcbbc3b04 /*zoneId*/,
4522  &kZoneContext /*zoneContext*/,
4523  4 /*numEras*/,
4524  kZoneEraAmerica_Barbados /*eras*/,
4525  nullptr /*targetInfo*/,
4526 };
4527 
4528 //---------------------------------------------------------------------------
4529 // Zone name: America/Belem
4530 // Eras: 3
4531 //---------------------------------------------------------------------------
4532 
4533 static const complete::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
4534  // -3:13:56 - LMT 1914
4535  {
4536  nullptr /*zonePolicy*/,
4537  "LMT" /*format*/,
4538  -776 /*offsetCode (-11636/15)*/,
4539  4 /*offsetRemainder (-11636%15)*/,
4540  0 /*deltaMinutes*/,
4541  1914 /*untilYear*/,
4542  1 /*untilMonth*/,
4543  1 /*untilDay*/,
4544  0 /*untilTimeCode (0/15)*/,
4545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4546  },
4547  // -3:00 Brazil %z 1988 Sep 12
4548  {
4549  &kZonePolicyBrazil /*zonePolicy*/,
4550  "" /*format*/,
4551  -720 /*offsetCode (-10800/15)*/,
4552  0 /*offsetRemainder (-10800%15)*/,
4553  0 /*deltaMinutes*/,
4554  1988 /*untilYear*/,
4555  9 /*untilMonth*/,
4556  12 /*untilDay*/,
4557  0 /*untilTimeCode (0/15)*/,
4558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4559  },
4560  // -3:00 - %z
4561  {
4562  nullptr /*zonePolicy*/,
4563  "" /*format*/,
4564  -720 /*offsetCode (-10800/15)*/,
4565  0 /*offsetRemainder (-10800%15)*/,
4566  0 /*deltaMinutes*/,
4567  32767 /*untilYear*/,
4568  1 /*untilMonth*/,
4569  1 /*untilDay*/,
4570  0 /*untilTimeCode (0/15)*/,
4571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4572  },
4573 
4574 };
4575 
4576 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";
4577 
4578 const complete::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
4579  kZoneNameAmerica_Belem /*name*/,
4580  0x97da580b /*zoneId*/,
4581  &kZoneContext /*zoneContext*/,
4582  3 /*numEras*/,
4583  kZoneEraAmerica_Belem /*eras*/,
4584  nullptr /*targetInfo*/,
4585 };
4586 
4587 //---------------------------------------------------------------------------
4588 // Zone name: America/Belize
4589 // Eras: 2
4590 //---------------------------------------------------------------------------
4591 
4592 static const complete::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
4593  // -5:52:48 - LMT 1912 Apr 1
4594  {
4595  nullptr /*zonePolicy*/,
4596  "LMT" /*format*/,
4597  -1412 /*offsetCode (-21168/15)*/,
4598  12 /*offsetRemainder (-21168%15)*/,
4599  0 /*deltaMinutes*/,
4600  1912 /*untilYear*/,
4601  4 /*untilMonth*/,
4602  1 /*untilDay*/,
4603  0 /*untilTimeCode (0/15)*/,
4604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4605  },
4606  // -6:00 Belize %s
4607  {
4608  &kZonePolicyBelize /*zonePolicy*/,
4609  "%" /*format*/,
4610  -1440 /*offsetCode (-21600/15)*/,
4611  0 /*offsetRemainder (-21600%15)*/,
4612  0 /*deltaMinutes*/,
4613  32767 /*untilYear*/,
4614  1 /*untilMonth*/,
4615  1 /*untilDay*/,
4616  0 /*untilTimeCode (0/15)*/,
4617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4618  },
4619 
4620 };
4621 
4622 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";
4623 
4624 const complete::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
4625  kZoneNameAmerica_Belize /*name*/,
4626  0x93256c81 /*zoneId*/,
4627  &kZoneContext /*zoneContext*/,
4628  2 /*numEras*/,
4629  kZoneEraAmerica_Belize /*eras*/,
4630  nullptr /*targetInfo*/,
4631 };
4632 
4633 //---------------------------------------------------------------------------
4634 // Zone name: America/Boa_Vista
4635 // Eras: 5
4636 //---------------------------------------------------------------------------
4637 
4638 static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
4639  // -4:02:40 - LMT 1914
4640  {
4641  nullptr /*zonePolicy*/,
4642  "LMT" /*format*/,
4643  -971 /*offsetCode (-14560/15)*/,
4644  5 /*offsetRemainder (-14560%15)*/,
4645  0 /*deltaMinutes*/,
4646  1914 /*untilYear*/,
4647  1 /*untilMonth*/,
4648  1 /*untilDay*/,
4649  0 /*untilTimeCode (0/15)*/,
4650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4651  },
4652  // -4:00 Brazil %z 1988 Sep 12
4653  {
4654  &kZonePolicyBrazil /*zonePolicy*/,
4655  "" /*format*/,
4656  -960 /*offsetCode (-14400/15)*/,
4657  0 /*offsetRemainder (-14400%15)*/,
4658  0 /*deltaMinutes*/,
4659  1988 /*untilYear*/,
4660  9 /*untilMonth*/,
4661  12 /*untilDay*/,
4662  0 /*untilTimeCode (0/15)*/,
4663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4664  },
4665  // -4:00 - %z 1999 Sep 30
4666  {
4667  nullptr /*zonePolicy*/,
4668  "" /*format*/,
4669  -960 /*offsetCode (-14400/15)*/,
4670  0 /*offsetRemainder (-14400%15)*/,
4671  0 /*deltaMinutes*/,
4672  1999 /*untilYear*/,
4673  9 /*untilMonth*/,
4674  30 /*untilDay*/,
4675  0 /*untilTimeCode (0/15)*/,
4676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4677  },
4678  // -4:00 Brazil %z 2000 Oct 15
4679  {
4680  &kZonePolicyBrazil /*zonePolicy*/,
4681  "" /*format*/,
4682  -960 /*offsetCode (-14400/15)*/,
4683  0 /*offsetRemainder (-14400%15)*/,
4684  0 /*deltaMinutes*/,
4685  2000 /*untilYear*/,
4686  10 /*untilMonth*/,
4687  15 /*untilDay*/,
4688  0 /*untilTimeCode (0/15)*/,
4689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4690  },
4691  // -4:00 - %z
4692  {
4693  nullptr /*zonePolicy*/,
4694  "" /*format*/,
4695  -960 /*offsetCode (-14400/15)*/,
4696  0 /*offsetRemainder (-14400%15)*/,
4697  0 /*deltaMinutes*/,
4698  32767 /*untilYear*/,
4699  1 /*untilMonth*/,
4700  1 /*untilDay*/,
4701  0 /*untilTimeCode (0/15)*/,
4702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4703  },
4704 
4705 };
4706 
4707 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "\x02" "Boa_Vista";
4708 
4709 const complete::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
4710  kZoneNameAmerica_Boa_Vista /*name*/,
4711  0x0a7b7efe /*zoneId*/,
4712  &kZoneContext /*zoneContext*/,
4713  5 /*numEras*/,
4714  kZoneEraAmerica_Boa_Vista /*eras*/,
4715  nullptr /*targetInfo*/,
4716 };
4717 
4718 //---------------------------------------------------------------------------
4719 // Zone name: America/Bogota
4720 // Eras: 3
4721 //---------------------------------------------------------------------------
4722 
4723 static const complete::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
4724  // -4:56:16 - LMT 1884 Mar 13
4725  {
4726  nullptr /*zonePolicy*/,
4727  "LMT" /*format*/,
4728  -1186 /*offsetCode (-17776/15)*/,
4729  14 /*offsetRemainder (-17776%15)*/,
4730  0 /*deltaMinutes*/,
4731  1884 /*untilYear*/,
4732  3 /*untilMonth*/,
4733  13 /*untilDay*/,
4734  0 /*untilTimeCode (0/15)*/,
4735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4736  },
4737  // -4:56:16 - BMT 1914 Nov 23
4738  {
4739  nullptr /*zonePolicy*/,
4740  "BMT" /*format*/,
4741  -1186 /*offsetCode (-17776/15)*/,
4742  14 /*offsetRemainder (-17776%15)*/,
4743  0 /*deltaMinutes*/,
4744  1914 /*untilYear*/,
4745  11 /*untilMonth*/,
4746  23 /*untilDay*/,
4747  0 /*untilTimeCode (0/15)*/,
4748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4749  },
4750  // -5:00 CO %z
4751  {
4752  &kZonePolicyCO /*zonePolicy*/,
4753  "" /*format*/,
4754  -1200 /*offsetCode (-18000/15)*/,
4755  0 /*offsetRemainder (-18000%15)*/,
4756  0 /*deltaMinutes*/,
4757  32767 /*untilYear*/,
4758  1 /*untilMonth*/,
4759  1 /*untilDay*/,
4760  0 /*untilTimeCode (0/15)*/,
4761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4762  },
4763 
4764 };
4765 
4766 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";
4767 
4768 const complete::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
4769  kZoneNameAmerica_Bogota /*name*/,
4770  0x93d7bc62 /*zoneId*/,
4771  &kZoneContext /*zoneContext*/,
4772  3 /*numEras*/,
4773  kZoneEraAmerica_Bogota /*eras*/,
4774  nullptr /*targetInfo*/,
4775 };
4776 
4777 //---------------------------------------------------------------------------
4778 // Zone name: America/Boise
4779 // Eras: 5
4780 //---------------------------------------------------------------------------
4781 
4782 static const complete::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
4783  // -7:44:49 - LMT 1883 Nov 18 20:00u
4784  {
4785  nullptr /*zonePolicy*/,
4786  "LMT" /*format*/,
4787  -1860 /*offsetCode (-27889/15)*/,
4788  11 /*offsetRemainder (-27889%15)*/,
4789  0 /*deltaMinutes*/,
4790  1883 /*untilYear*/,
4791  11 /*untilMonth*/,
4792  18 /*untilDay*/,
4793  4800 /*untilTimeCode (72000/15)*/,
4794  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4795  },
4796  // -8:00 US P%sT 1923 May 13 2:00
4797  {
4798  &kZonePolicyUS /*zonePolicy*/,
4799  "P%T" /*format*/,
4800  -1920 /*offsetCode (-28800/15)*/,
4801  0 /*offsetRemainder (-28800%15)*/,
4802  0 /*deltaMinutes*/,
4803  1923 /*untilYear*/,
4804  5 /*untilMonth*/,
4805  13 /*untilDay*/,
4806  480 /*untilTimeCode (7200/15)*/,
4807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4808  },
4809  // -7:00 US M%sT 1974
4810  {
4811  &kZonePolicyUS /*zonePolicy*/,
4812  "M%T" /*format*/,
4813  -1680 /*offsetCode (-25200/15)*/,
4814  0 /*offsetRemainder (-25200%15)*/,
4815  0 /*deltaMinutes*/,
4816  1974 /*untilYear*/,
4817  1 /*untilMonth*/,
4818  1 /*untilDay*/,
4819  0 /*untilTimeCode (0/15)*/,
4820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4821  },
4822  // -7:00 - MST 1974 Feb 3 2:00
4823  {
4824  nullptr /*zonePolicy*/,
4825  "MST" /*format*/,
4826  -1680 /*offsetCode (-25200/15)*/,
4827  0 /*offsetRemainder (-25200%15)*/,
4828  0 /*deltaMinutes*/,
4829  1974 /*untilYear*/,
4830  2 /*untilMonth*/,
4831  3 /*untilDay*/,
4832  480 /*untilTimeCode (7200/15)*/,
4833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4834  },
4835  // -7:00 US M%sT
4836  {
4837  &kZonePolicyUS /*zonePolicy*/,
4838  "M%T" /*format*/,
4839  -1680 /*offsetCode (-25200/15)*/,
4840  0 /*offsetRemainder (-25200%15)*/,
4841  0 /*deltaMinutes*/,
4842  32767 /*untilYear*/,
4843  1 /*untilMonth*/,
4844  1 /*untilDay*/,
4845  0 /*untilTimeCode (0/15)*/,
4846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4847  },
4848 
4849 };
4850 
4851 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";
4852 
4853 const complete::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
4854  kZoneNameAmerica_Boise /*name*/,
4855  0x97dfc8d8 /*zoneId*/,
4856  &kZoneContext /*zoneContext*/,
4857  5 /*numEras*/,
4858  kZoneEraAmerica_Boise /*eras*/,
4859  nullptr /*targetInfo*/,
4860 };
4861 
4862 //---------------------------------------------------------------------------
4863 // Zone name: America/Cambridge_Bay
4864 // Eras: 6
4865 //---------------------------------------------------------------------------
4866 
4867 static const complete::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
4868  // 0 - -00 1920
4869  {
4870  nullptr /*zonePolicy*/,
4871  "-00" /*format*/,
4872  0 /*offsetCode (0/15)*/,
4873  0 /*offsetRemainder (0%15)*/,
4874  0 /*deltaMinutes*/,
4875  1920 /*untilYear*/,
4876  1 /*untilMonth*/,
4877  1 /*untilDay*/,
4878  0 /*untilTimeCode (0/15)*/,
4879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4880  },
4881  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
4882  {
4883  &kZonePolicyNT_YK /*zonePolicy*/,
4884  "M%T" /*format*/,
4885  -1680 /*offsetCode (-25200/15)*/,
4886  0 /*offsetRemainder (-25200%15)*/,
4887  0 /*deltaMinutes*/,
4888  1999 /*untilYear*/,
4889  10 /*untilMonth*/,
4890  31 /*untilDay*/,
4891  480 /*untilTimeCode (7200/15)*/,
4892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4893  },
4894  // -6:00 Canada C%sT 2000 Oct 29 2:00
4895  {
4896  &kZonePolicyCanada /*zonePolicy*/,
4897  "C%T" /*format*/,
4898  -1440 /*offsetCode (-21600/15)*/,
4899  0 /*offsetRemainder (-21600%15)*/,
4900  0 /*deltaMinutes*/,
4901  2000 /*untilYear*/,
4902  10 /*untilMonth*/,
4903  29 /*untilDay*/,
4904  480 /*untilTimeCode (7200/15)*/,
4905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4906  },
4907  // -5:00 - EST 2000 Nov 5 0:00
4908  {
4909  nullptr /*zonePolicy*/,
4910  "EST" /*format*/,
4911  -1200 /*offsetCode (-18000/15)*/,
4912  0 /*offsetRemainder (-18000%15)*/,
4913  0 /*deltaMinutes*/,
4914  2000 /*untilYear*/,
4915  11 /*untilMonth*/,
4916  5 /*untilDay*/,
4917  0 /*untilTimeCode (0/15)*/,
4918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4919  },
4920  // -6:00 - CST 2001 Apr 1 3:00
4921  {
4922  nullptr /*zonePolicy*/,
4923  "CST" /*format*/,
4924  -1440 /*offsetCode (-21600/15)*/,
4925  0 /*offsetRemainder (-21600%15)*/,
4926  0 /*deltaMinutes*/,
4927  2001 /*untilYear*/,
4928  4 /*untilMonth*/,
4929  1 /*untilDay*/,
4930  720 /*untilTimeCode (10800/15)*/,
4931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4932  },
4933  // -7:00 Canada M%sT
4934  {
4935  &kZonePolicyCanada /*zonePolicy*/,
4936  "M%T" /*format*/,
4937  -1680 /*offsetCode (-25200/15)*/,
4938  0 /*offsetRemainder (-25200%15)*/,
4939  0 /*deltaMinutes*/,
4940  32767 /*untilYear*/,
4941  1 /*untilMonth*/,
4942  1 /*untilDay*/,
4943  0 /*untilTimeCode (0/15)*/,
4944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4945  },
4946 
4947 };
4948 
4949 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "\x02" "Cambridge_Bay";
4950 
4951 const complete::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
4952  kZoneNameAmerica_Cambridge_Bay /*name*/,
4953  0xd5a44aff /*zoneId*/,
4954  &kZoneContext /*zoneContext*/,
4955  6 /*numEras*/,
4956  kZoneEraAmerica_Cambridge_Bay /*eras*/,
4957  nullptr /*targetInfo*/,
4958 };
4959 
4960 //---------------------------------------------------------------------------
4961 // Zone name: America/Campo_Grande
4962 // Eras: 2
4963 //---------------------------------------------------------------------------
4964 
4965 static const complete::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
4966  // -3:38:28 - LMT 1914
4967  {
4968  nullptr /*zonePolicy*/,
4969  "LMT" /*format*/,
4970  -874 /*offsetCode (-13108/15)*/,
4971  2 /*offsetRemainder (-13108%15)*/,
4972  0 /*deltaMinutes*/,
4973  1914 /*untilYear*/,
4974  1 /*untilMonth*/,
4975  1 /*untilDay*/,
4976  0 /*untilTimeCode (0/15)*/,
4977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4978  },
4979  // -4:00 Brazil %z
4980  {
4981  &kZonePolicyBrazil /*zonePolicy*/,
4982  "" /*format*/,
4983  -960 /*offsetCode (-14400/15)*/,
4984  0 /*offsetRemainder (-14400%15)*/,
4985  0 /*deltaMinutes*/,
4986  32767 /*untilYear*/,
4987  1 /*untilMonth*/,
4988  1 /*untilDay*/,
4989  0 /*untilTimeCode (0/15)*/,
4990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4991  },
4992 
4993 };
4994 
4995 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";
4996 
4997 const complete::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
4998  kZoneNameAmerica_Campo_Grande /*name*/,
4999  0xfec3e7a6 /*zoneId*/,
5000  &kZoneContext /*zoneContext*/,
5001  2 /*numEras*/,
5002  kZoneEraAmerica_Campo_Grande /*eras*/,
5003  nullptr /*targetInfo*/,
5004 };
5005 
5006 //---------------------------------------------------------------------------
5007 // Zone name: America/Cancun
5008 // Eras: 7
5009 //---------------------------------------------------------------------------
5010 
5011 static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
5012  // -5:47:04 - LMT 1922 Jan 1 6:00u
5013  {
5014  nullptr /*zonePolicy*/,
5015  "LMT" /*format*/,
5016  -1389 /*offsetCode (-20824/15)*/,
5017  11 /*offsetRemainder (-20824%15)*/,
5018  0 /*deltaMinutes*/,
5019  1922 /*untilYear*/,
5020  1 /*untilMonth*/,
5021  1 /*untilDay*/,
5022  1440 /*untilTimeCode (21600/15)*/,
5023  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5024  },
5025  // -6:00 - CST 1981 Dec 26 2:00
5026  {
5027  nullptr /*zonePolicy*/,
5028  "CST" /*format*/,
5029  -1440 /*offsetCode (-21600/15)*/,
5030  0 /*offsetRemainder (-21600%15)*/,
5031  0 /*deltaMinutes*/,
5032  1981 /*untilYear*/,
5033  12 /*untilMonth*/,
5034  26 /*untilDay*/,
5035  480 /*untilTimeCode (7200/15)*/,
5036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5037  },
5038  // -5:00 - EST 1983 Jan 4 0:00
5039  {
5040  nullptr /*zonePolicy*/,
5041  "EST" /*format*/,
5042  -1200 /*offsetCode (-18000/15)*/,
5043  0 /*offsetRemainder (-18000%15)*/,
5044  0 /*deltaMinutes*/,
5045  1983 /*untilYear*/,
5046  1 /*untilMonth*/,
5047  4 /*untilDay*/,
5048  0 /*untilTimeCode (0/15)*/,
5049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5050  },
5051  // -6:00 Mexico C%sT 1997 Oct 26 2:00
5052  {
5053  &kZonePolicyMexico /*zonePolicy*/,
5054  "C%T" /*format*/,
5055  -1440 /*offsetCode (-21600/15)*/,
5056  0 /*offsetRemainder (-21600%15)*/,
5057  0 /*deltaMinutes*/,
5058  1997 /*untilYear*/,
5059  10 /*untilMonth*/,
5060  26 /*untilDay*/,
5061  480 /*untilTimeCode (7200/15)*/,
5062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5063  },
5064  // -5:00 Mexico E%sT 1998 Aug 2 2:00
5065  {
5066  &kZonePolicyMexico /*zonePolicy*/,
5067  "E%T" /*format*/,
5068  -1200 /*offsetCode (-18000/15)*/,
5069  0 /*offsetRemainder (-18000%15)*/,
5070  0 /*deltaMinutes*/,
5071  1998 /*untilYear*/,
5072  8 /*untilMonth*/,
5073  2 /*untilDay*/,
5074  480 /*untilTimeCode (7200/15)*/,
5075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5076  },
5077  // -6:00 Mexico C%sT 2015 Feb 1 2:00
5078  {
5079  &kZonePolicyMexico /*zonePolicy*/,
5080  "C%T" /*format*/,
5081  -1440 /*offsetCode (-21600/15)*/,
5082  0 /*offsetRemainder (-21600%15)*/,
5083  0 /*deltaMinutes*/,
5084  2015 /*untilYear*/,
5085  2 /*untilMonth*/,
5086  1 /*untilDay*/,
5087  480 /*untilTimeCode (7200/15)*/,
5088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5089  },
5090  // -5:00 - EST
5091  {
5092  nullptr /*zonePolicy*/,
5093  "EST" /*format*/,
5094  -1200 /*offsetCode (-18000/15)*/,
5095  0 /*offsetRemainder (-18000%15)*/,
5096  0 /*deltaMinutes*/,
5097  32767 /*untilYear*/,
5098  1 /*untilMonth*/,
5099  1 /*untilDay*/,
5100  0 /*untilTimeCode (0/15)*/,
5101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5102  },
5103 
5104 };
5105 
5106 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "\x02" "Cancun";
5107 
5108 const complete::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
5109  kZoneNameAmerica_Cancun /*name*/,
5110  0x953331be /*zoneId*/,
5111  &kZoneContext /*zoneContext*/,
5112  7 /*numEras*/,
5113  kZoneEraAmerica_Cancun /*eras*/,
5114  nullptr /*targetInfo*/,
5115 };
5116 
5117 //---------------------------------------------------------------------------
5118 // Zone name: America/Caracas
5119 // Eras: 6
5120 //---------------------------------------------------------------------------
5121 
5122 static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
5123  // -4:27:44 - LMT 1890
5124  {
5125  nullptr /*zonePolicy*/,
5126  "LMT" /*format*/,
5127  -1071 /*offsetCode (-16064/15)*/,
5128  1 /*offsetRemainder (-16064%15)*/,
5129  0 /*deltaMinutes*/,
5130  1890 /*untilYear*/,
5131  1 /*untilMonth*/,
5132  1 /*untilDay*/,
5133  0 /*untilTimeCode (0/15)*/,
5134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5135  },
5136  // -4:27:40 - CMT 1912 Feb 12
5137  {
5138  nullptr /*zonePolicy*/,
5139  "CMT" /*format*/,
5140  -1071 /*offsetCode (-16060/15)*/,
5141  5 /*offsetRemainder (-16060%15)*/,
5142  0 /*deltaMinutes*/,
5143  1912 /*untilYear*/,
5144  2 /*untilMonth*/,
5145  12 /*untilDay*/,
5146  0 /*untilTimeCode (0/15)*/,
5147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5148  },
5149  // -4:30 - %z 1965 Jan 1 0:00
5150  {
5151  nullptr /*zonePolicy*/,
5152  "" /*format*/,
5153  -1080 /*offsetCode (-16200/15)*/,
5154  0 /*offsetRemainder (-16200%15)*/,
5155  0 /*deltaMinutes*/,
5156  1965 /*untilYear*/,
5157  1 /*untilMonth*/,
5158  1 /*untilDay*/,
5159  0 /*untilTimeCode (0/15)*/,
5160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5161  },
5162  // -4:00 - %z 2007 Dec 9 3:00
5163  {
5164  nullptr /*zonePolicy*/,
5165  "" /*format*/,
5166  -960 /*offsetCode (-14400/15)*/,
5167  0 /*offsetRemainder (-14400%15)*/,
5168  0 /*deltaMinutes*/,
5169  2007 /*untilYear*/,
5170  12 /*untilMonth*/,
5171  9 /*untilDay*/,
5172  720 /*untilTimeCode (10800/15)*/,
5173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5174  },
5175  // -4:30 - %z 2016 May 1 2:30
5176  {
5177  nullptr /*zonePolicy*/,
5178  "" /*format*/,
5179  -1080 /*offsetCode (-16200/15)*/,
5180  0 /*offsetRemainder (-16200%15)*/,
5181  0 /*deltaMinutes*/,
5182  2016 /*untilYear*/,
5183  5 /*untilMonth*/,
5184  1 /*untilDay*/,
5185  600 /*untilTimeCode (9000/15)*/,
5186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5187  },
5188  // -4:00 - %z
5189  {
5190  nullptr /*zonePolicy*/,
5191  "" /*format*/,
5192  -960 /*offsetCode (-14400/15)*/,
5193  0 /*offsetRemainder (-14400%15)*/,
5194  0 /*deltaMinutes*/,
5195  32767 /*untilYear*/,
5196  1 /*untilMonth*/,
5197  1 /*untilDay*/,
5198  0 /*untilTimeCode (0/15)*/,
5199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5200  },
5201 
5202 };
5203 
5204 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "\x02" "Caracas";
5205 
5206 const complete::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
5207  kZoneNameAmerica_Caracas /*name*/,
5208  0x3be064f4 /*zoneId*/,
5209  &kZoneContext /*zoneContext*/,
5210  6 /*numEras*/,
5211  kZoneEraAmerica_Caracas /*eras*/,
5212  nullptr /*targetInfo*/,
5213 };
5214 
5215 //---------------------------------------------------------------------------
5216 // Zone name: America/Cayenne
5217 // Eras: 3
5218 //---------------------------------------------------------------------------
5219 
5220 static const complete::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
5221  // -3:29:20 - LMT 1911 Jul 1
5222  {
5223  nullptr /*zonePolicy*/,
5224  "LMT" /*format*/,
5225  -838 /*offsetCode (-12560/15)*/,
5226  10 /*offsetRemainder (-12560%15)*/,
5227  0 /*deltaMinutes*/,
5228  1911 /*untilYear*/,
5229  7 /*untilMonth*/,
5230  1 /*untilDay*/,
5231  0 /*untilTimeCode (0/15)*/,
5232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5233  },
5234  // -4:00 - %z 1967 Oct
5235  {
5236  nullptr /*zonePolicy*/,
5237  "" /*format*/,
5238  -960 /*offsetCode (-14400/15)*/,
5239  0 /*offsetRemainder (-14400%15)*/,
5240  0 /*deltaMinutes*/,
5241  1967 /*untilYear*/,
5242  10 /*untilMonth*/,
5243  1 /*untilDay*/,
5244  0 /*untilTimeCode (0/15)*/,
5245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5246  },
5247  // -3:00 - %z
5248  {
5249  nullptr /*zonePolicy*/,
5250  "" /*format*/,
5251  -720 /*offsetCode (-10800/15)*/,
5252  0 /*offsetRemainder (-10800%15)*/,
5253  0 /*deltaMinutes*/,
5254  32767 /*untilYear*/,
5255  1 /*untilMonth*/,
5256  1 /*untilDay*/,
5257  0 /*untilTimeCode (0/15)*/,
5258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5259  },
5260 
5261 };
5262 
5263 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";
5264 
5265 const complete::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
5266  kZoneNameAmerica_Cayenne /*name*/,
5267  0x3c617269 /*zoneId*/,
5268  &kZoneContext /*zoneContext*/,
5269  3 /*numEras*/,
5270  kZoneEraAmerica_Cayenne /*eras*/,
5271  nullptr /*targetInfo*/,
5272 };
5273 
5274 //---------------------------------------------------------------------------
5275 // Zone name: America/Chicago
5276 // Eras: 8
5277 //---------------------------------------------------------------------------
5278 
5279 static const complete::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
5280  // -5:50:36 - LMT 1883 Nov 18 18:00u
5281  {
5282  nullptr /*zonePolicy*/,
5283  "LMT" /*format*/,
5284  -1403 /*offsetCode (-21036/15)*/,
5285  9 /*offsetRemainder (-21036%15)*/,
5286  0 /*deltaMinutes*/,
5287  1883 /*untilYear*/,
5288  11 /*untilMonth*/,
5289  18 /*untilDay*/,
5290  4320 /*untilTimeCode (64800/15)*/,
5291  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5292  },
5293  // -6:00 US C%sT 1920
5294  {
5295  &kZonePolicyUS /*zonePolicy*/,
5296  "C%T" /*format*/,
5297  -1440 /*offsetCode (-21600/15)*/,
5298  0 /*offsetRemainder (-21600%15)*/,
5299  0 /*deltaMinutes*/,
5300  1920 /*untilYear*/,
5301  1 /*untilMonth*/,
5302  1 /*untilDay*/,
5303  0 /*untilTimeCode (0/15)*/,
5304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5305  },
5306  // -6:00 Chicago C%sT 1936 Mar 1 2:00
5307  {
5308  &kZonePolicyChicago /*zonePolicy*/,
5309  "C%T" /*format*/,
5310  -1440 /*offsetCode (-21600/15)*/,
5311  0 /*offsetRemainder (-21600%15)*/,
5312  0 /*deltaMinutes*/,
5313  1936 /*untilYear*/,
5314  3 /*untilMonth*/,
5315  1 /*untilDay*/,
5316  480 /*untilTimeCode (7200/15)*/,
5317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5318  },
5319  // -5:00 - EST 1936 Nov 15 2:00
5320  {
5321  nullptr /*zonePolicy*/,
5322  "EST" /*format*/,
5323  -1200 /*offsetCode (-18000/15)*/,
5324  0 /*offsetRemainder (-18000%15)*/,
5325  0 /*deltaMinutes*/,
5326  1936 /*untilYear*/,
5327  11 /*untilMonth*/,
5328  15 /*untilDay*/,
5329  480 /*untilTimeCode (7200/15)*/,
5330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5331  },
5332  // -6:00 Chicago C%sT 1942
5333  {
5334  &kZonePolicyChicago /*zonePolicy*/,
5335  "C%T" /*format*/,
5336  -1440 /*offsetCode (-21600/15)*/,
5337  0 /*offsetRemainder (-21600%15)*/,
5338  0 /*deltaMinutes*/,
5339  1942 /*untilYear*/,
5340  1 /*untilMonth*/,
5341  1 /*untilDay*/,
5342  0 /*untilTimeCode (0/15)*/,
5343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5344  },
5345  // -6:00 US C%sT 1946
5346  {
5347  &kZonePolicyUS /*zonePolicy*/,
5348  "C%T" /*format*/,
5349  -1440 /*offsetCode (-21600/15)*/,
5350  0 /*offsetRemainder (-21600%15)*/,
5351  0 /*deltaMinutes*/,
5352  1946 /*untilYear*/,
5353  1 /*untilMonth*/,
5354  1 /*untilDay*/,
5355  0 /*untilTimeCode (0/15)*/,
5356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5357  },
5358  // -6:00 Chicago C%sT 1967
5359  {
5360  &kZonePolicyChicago /*zonePolicy*/,
5361  "C%T" /*format*/,
5362  -1440 /*offsetCode (-21600/15)*/,
5363  0 /*offsetRemainder (-21600%15)*/,
5364  0 /*deltaMinutes*/,
5365  1967 /*untilYear*/,
5366  1 /*untilMonth*/,
5367  1 /*untilDay*/,
5368  0 /*untilTimeCode (0/15)*/,
5369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5370  },
5371  // -6:00 US C%sT
5372  {
5373  &kZonePolicyUS /*zonePolicy*/,
5374  "C%T" /*format*/,
5375  -1440 /*offsetCode (-21600/15)*/,
5376  0 /*offsetRemainder (-21600%15)*/,
5377  0 /*deltaMinutes*/,
5378  32767 /*untilYear*/,
5379  1 /*untilMonth*/,
5380  1 /*untilDay*/,
5381  0 /*untilTimeCode (0/15)*/,
5382  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5383  },
5384 
5385 };
5386 
5387 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";
5388 
5389 const complete::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
5390  kZoneNameAmerica_Chicago /*name*/,
5391  0x4b92b5d4 /*zoneId*/,
5392  &kZoneContext /*zoneContext*/,
5393  8 /*numEras*/,
5394  kZoneEraAmerica_Chicago /*eras*/,
5395  nullptr /*targetInfo*/,
5396 };
5397 
5398 //---------------------------------------------------------------------------
5399 // Zone name: America/Chihuahua
5400 // Eras: 9
5401 //---------------------------------------------------------------------------
5402 
5403 static const complete::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
5404  // -7:04:20 - LMT 1922 Jan 1 7:00u
5405  {
5406  nullptr /*zonePolicy*/,
5407  "LMT" /*format*/,
5408  -1698 /*offsetCode (-25460/15)*/,
5409  10 /*offsetRemainder (-25460%15)*/,
5410  0 /*deltaMinutes*/,
5411  1922 /*untilYear*/,
5412  1 /*untilMonth*/,
5413  1 /*untilDay*/,
5414  1680 /*untilTimeCode (25200/15)*/,
5415  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5416  },
5417  // -7:00 - MST 1927 Jun 10
5418  {
5419  nullptr /*zonePolicy*/,
5420  "MST" /*format*/,
5421  -1680 /*offsetCode (-25200/15)*/,
5422  0 /*offsetRemainder (-25200%15)*/,
5423  0 /*deltaMinutes*/,
5424  1927 /*untilYear*/,
5425  6 /*untilMonth*/,
5426  10 /*untilDay*/,
5427  0 /*untilTimeCode (0/15)*/,
5428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5429  },
5430  // -6:00 - CST 1930 Nov 15
5431  {
5432  nullptr /*zonePolicy*/,
5433  "CST" /*format*/,
5434  -1440 /*offsetCode (-21600/15)*/,
5435  0 /*offsetRemainder (-21600%15)*/,
5436  0 /*deltaMinutes*/,
5437  1930 /*untilYear*/,
5438  11 /*untilMonth*/,
5439  15 /*untilDay*/,
5440  0 /*untilTimeCode (0/15)*/,
5441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5442  },
5443  // -7:00 Mexico M%sT 1932 Apr 1
5444  {
5445  &kZonePolicyMexico /*zonePolicy*/,
5446  "M%T" /*format*/,
5447  -1680 /*offsetCode (-25200/15)*/,
5448  0 /*offsetRemainder (-25200%15)*/,
5449  0 /*deltaMinutes*/,
5450  1932 /*untilYear*/,
5451  4 /*untilMonth*/,
5452  1 /*untilDay*/,
5453  0 /*untilTimeCode (0/15)*/,
5454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5455  },
5456  // -6:00 - CST 1996
5457  {
5458  nullptr /*zonePolicy*/,
5459  "CST" /*format*/,
5460  -1440 /*offsetCode (-21600/15)*/,
5461  0 /*offsetRemainder (-21600%15)*/,
5462  0 /*deltaMinutes*/,
5463  1996 /*untilYear*/,
5464  1 /*untilMonth*/,
5465  1 /*untilDay*/,
5466  0 /*untilTimeCode (0/15)*/,
5467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5468  },
5469  // -6:00 Mexico C%sT 1998
5470  {
5471  &kZonePolicyMexico /*zonePolicy*/,
5472  "C%T" /*format*/,
5473  -1440 /*offsetCode (-21600/15)*/,
5474  0 /*offsetRemainder (-21600%15)*/,
5475  0 /*deltaMinutes*/,
5476  1998 /*untilYear*/,
5477  1 /*untilMonth*/,
5478  1 /*untilDay*/,
5479  0 /*untilTimeCode (0/15)*/,
5480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5481  },
5482  // -6:00 - CST 1998 Apr Sun>=1 3:00
5483  {
5484  nullptr /*zonePolicy*/,
5485  "CST" /*format*/,
5486  -1440 /*offsetCode (-21600/15)*/,
5487  0 /*offsetRemainder (-21600%15)*/,
5488  0 /*deltaMinutes*/,
5489  1998 /*untilYear*/,
5490  4 /*untilMonth*/,
5491  5 /*untilDay*/,
5492  720 /*untilTimeCode (10800/15)*/,
5493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5494  },
5495  // -7:00 Mexico M%sT 2022 Oct 30 2:00
5496  {
5497  &kZonePolicyMexico /*zonePolicy*/,
5498  "M%T" /*format*/,
5499  -1680 /*offsetCode (-25200/15)*/,
5500  0 /*offsetRemainder (-25200%15)*/,
5501  0 /*deltaMinutes*/,
5502  2022 /*untilYear*/,
5503  10 /*untilMonth*/,
5504  30 /*untilDay*/,
5505  480 /*untilTimeCode (7200/15)*/,
5506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5507  },
5508  // -6:00 - CST
5509  {
5510  nullptr /*zonePolicy*/,
5511  "CST" /*format*/,
5512  -1440 /*offsetCode (-21600/15)*/,
5513  0 /*offsetRemainder (-21600%15)*/,
5514  0 /*deltaMinutes*/,
5515  32767 /*untilYear*/,
5516  1 /*untilMonth*/,
5517  1 /*untilDay*/,
5518  0 /*untilTimeCode (0/15)*/,
5519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5520  },
5521 
5522 };
5523 
5524 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "\x02" "Chihuahua";
5525 
5526 const complete::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
5527  kZoneNameAmerica_Chihuahua /*name*/,
5528  0x8827d776 /*zoneId*/,
5529  &kZoneContext /*zoneContext*/,
5530  9 /*numEras*/,
5531  kZoneEraAmerica_Chihuahua /*eras*/,
5532  nullptr /*targetInfo*/,
5533 };
5534 
5535 //---------------------------------------------------------------------------
5536 // Zone name: America/Ciudad_Juarez
5537 // Eras: 11
5538 //---------------------------------------------------------------------------
5539 
5540 static const complete::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = {
5541  // -7:05:56 - LMT 1922 Jan 1 7:00u
5542  {
5543  nullptr /*zonePolicy*/,
5544  "LMT" /*format*/,
5545  -1704 /*offsetCode (-25556/15)*/,
5546  4 /*offsetRemainder (-25556%15)*/,
5547  0 /*deltaMinutes*/,
5548  1922 /*untilYear*/,
5549  1 /*untilMonth*/,
5550  1 /*untilDay*/,
5551  1680 /*untilTimeCode (25200/15)*/,
5552  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5553  },
5554  // -7:00 - MST 1927 Jun 10
5555  {
5556  nullptr /*zonePolicy*/,
5557  "MST" /*format*/,
5558  -1680 /*offsetCode (-25200/15)*/,
5559  0 /*offsetRemainder (-25200%15)*/,
5560  0 /*deltaMinutes*/,
5561  1927 /*untilYear*/,
5562  6 /*untilMonth*/,
5563  10 /*untilDay*/,
5564  0 /*untilTimeCode (0/15)*/,
5565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5566  },
5567  // -6:00 - CST 1930 Nov 15
5568  {
5569  nullptr /*zonePolicy*/,
5570  "CST" /*format*/,
5571  -1440 /*offsetCode (-21600/15)*/,
5572  0 /*offsetRemainder (-21600%15)*/,
5573  0 /*deltaMinutes*/,
5574  1930 /*untilYear*/,
5575  11 /*untilMonth*/,
5576  15 /*untilDay*/,
5577  0 /*untilTimeCode (0/15)*/,
5578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5579  },
5580  // -7:00 Mexico M%sT 1932 Apr 1
5581  {
5582  &kZonePolicyMexico /*zonePolicy*/,
5583  "M%T" /*format*/,
5584  -1680 /*offsetCode (-25200/15)*/,
5585  0 /*offsetRemainder (-25200%15)*/,
5586  0 /*deltaMinutes*/,
5587  1932 /*untilYear*/,
5588  4 /*untilMonth*/,
5589  1 /*untilDay*/,
5590  0 /*untilTimeCode (0/15)*/,
5591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5592  },
5593  // -6:00 - CST 1996
5594  {
5595  nullptr /*zonePolicy*/,
5596  "CST" /*format*/,
5597  -1440 /*offsetCode (-21600/15)*/,
5598  0 /*offsetRemainder (-21600%15)*/,
5599  0 /*deltaMinutes*/,
5600  1996 /*untilYear*/,
5601  1 /*untilMonth*/,
5602  1 /*untilDay*/,
5603  0 /*untilTimeCode (0/15)*/,
5604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5605  },
5606  // -6:00 Mexico C%sT 1998
5607  {
5608  &kZonePolicyMexico /*zonePolicy*/,
5609  "C%T" /*format*/,
5610  -1440 /*offsetCode (-21600/15)*/,
5611  0 /*offsetRemainder (-21600%15)*/,
5612  0 /*deltaMinutes*/,
5613  1998 /*untilYear*/,
5614  1 /*untilMonth*/,
5615  1 /*untilDay*/,
5616  0 /*untilTimeCode (0/15)*/,
5617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5618  },
5619  // -6:00 - CST 1998 Apr Sun>=1 3:00
5620  {
5621  nullptr /*zonePolicy*/,
5622  "CST" /*format*/,
5623  -1440 /*offsetCode (-21600/15)*/,
5624  0 /*offsetRemainder (-21600%15)*/,
5625  0 /*deltaMinutes*/,
5626  1998 /*untilYear*/,
5627  4 /*untilMonth*/,
5628  5 /*untilDay*/,
5629  720 /*untilTimeCode (10800/15)*/,
5630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5631  },
5632  // -7:00 Mexico M%sT 2010
5633  {
5634  &kZonePolicyMexico /*zonePolicy*/,
5635  "M%T" /*format*/,
5636  -1680 /*offsetCode (-25200/15)*/,
5637  0 /*offsetRemainder (-25200%15)*/,
5638  0 /*deltaMinutes*/,
5639  2010 /*untilYear*/,
5640  1 /*untilMonth*/,
5641  1 /*untilDay*/,
5642  0 /*untilTimeCode (0/15)*/,
5643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5644  },
5645  // -7:00 US M%sT 2022 Oct 30 2:00
5646  {
5647  &kZonePolicyUS /*zonePolicy*/,
5648  "M%T" /*format*/,
5649  -1680 /*offsetCode (-25200/15)*/,
5650  0 /*offsetRemainder (-25200%15)*/,
5651  0 /*deltaMinutes*/,
5652  2022 /*untilYear*/,
5653  10 /*untilMonth*/,
5654  30 /*untilDay*/,
5655  480 /*untilTimeCode (7200/15)*/,
5656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5657  },
5658  // -6:00 - CST 2022 Nov 30 0:00
5659  {
5660  nullptr /*zonePolicy*/,
5661  "CST" /*format*/,
5662  -1440 /*offsetCode (-21600/15)*/,
5663  0 /*offsetRemainder (-21600%15)*/,
5664  0 /*deltaMinutes*/,
5665  2022 /*untilYear*/,
5666  11 /*untilMonth*/,
5667  30 /*untilDay*/,
5668  0 /*untilTimeCode (0/15)*/,
5669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5670  },
5671  // -7:00 US M%sT
5672  {
5673  &kZonePolicyUS /*zonePolicy*/,
5674  "M%T" /*format*/,
5675  -1680 /*offsetCode (-25200/15)*/,
5676  0 /*offsetRemainder (-25200%15)*/,
5677  0 /*deltaMinutes*/,
5678  32767 /*untilYear*/,
5679  1 /*untilMonth*/,
5680  1 /*untilDay*/,
5681  0 /*untilTimeCode (0/15)*/,
5682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5683  },
5684 
5685 };
5686 
5687 static const char kZoneNameAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = "\x02" "Ciudad_Juarez";
5688 
5689 const complete::ZoneInfo kZoneAmerica_Ciudad_Juarez ACE_TIME_PROGMEM = {
5690  kZoneNameAmerica_Ciudad_Juarez /*name*/,
5691  0x7347fc60 /*zoneId*/,
5692  &kZoneContext /*zoneContext*/,
5693  11 /*numEras*/,
5694  kZoneEraAmerica_Ciudad_Juarez /*eras*/,
5695  nullptr /*targetInfo*/,
5696 };
5697 
5698 //---------------------------------------------------------------------------
5699 // Zone name: America/Costa_Rica
5700 // Eras: 3
5701 //---------------------------------------------------------------------------
5702 
5703 static const complete::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
5704  // -5:36:13 - LMT 1890
5705  {
5706  nullptr /*zonePolicy*/,
5707  "LMT" /*format*/,
5708  -1345 /*offsetCode (-20173/15)*/,
5709  2 /*offsetRemainder (-20173%15)*/,
5710  0 /*deltaMinutes*/,
5711  1890 /*untilYear*/,
5712  1 /*untilMonth*/,
5713  1 /*untilDay*/,
5714  0 /*untilTimeCode (0/15)*/,
5715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5716  },
5717  // -5:36:13 - SJMT 1921 Jan 15
5718  {
5719  nullptr /*zonePolicy*/,
5720  "SJMT" /*format*/,
5721  -1345 /*offsetCode (-20173/15)*/,
5722  2 /*offsetRemainder (-20173%15)*/,
5723  0 /*deltaMinutes*/,
5724  1921 /*untilYear*/,
5725  1 /*untilMonth*/,
5726  15 /*untilDay*/,
5727  0 /*untilTimeCode (0/15)*/,
5728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5729  },
5730  // -6:00 CR C%sT
5731  {
5732  &kZonePolicyCR /*zonePolicy*/,
5733  "C%T" /*format*/,
5734  -1440 /*offsetCode (-21600/15)*/,
5735  0 /*offsetRemainder (-21600%15)*/,
5736  0 /*deltaMinutes*/,
5737  32767 /*untilYear*/,
5738  1 /*untilMonth*/,
5739  1 /*untilDay*/,
5740  0 /*untilTimeCode (0/15)*/,
5741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5742  },
5743 
5744 };
5745 
5746 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";
5747 
5748 const complete::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
5749  kZoneNameAmerica_Costa_Rica /*name*/,
5750  0x63ff66be /*zoneId*/,
5751  &kZoneContext /*zoneContext*/,
5752  3 /*numEras*/,
5753  kZoneEraAmerica_Costa_Rica /*eras*/,
5754  nullptr /*targetInfo*/,
5755 };
5756 
5757 //---------------------------------------------------------------------------
5758 // Zone name: America/Cuiaba
5759 // Eras: 4
5760 //---------------------------------------------------------------------------
5761 
5762 static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
5763  // -3:44:20 - LMT 1914
5764  {
5765  nullptr /*zonePolicy*/,
5766  "LMT" /*format*/,
5767  -898 /*offsetCode (-13460/15)*/,
5768  10 /*offsetRemainder (-13460%15)*/,
5769  0 /*deltaMinutes*/,
5770  1914 /*untilYear*/,
5771  1 /*untilMonth*/,
5772  1 /*untilDay*/,
5773  0 /*untilTimeCode (0/15)*/,
5774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5775  },
5776  // -4:00 Brazil %z 2003 Sep 24
5777  {
5778  &kZonePolicyBrazil /*zonePolicy*/,
5779  "" /*format*/,
5780  -960 /*offsetCode (-14400/15)*/,
5781  0 /*offsetRemainder (-14400%15)*/,
5782  0 /*deltaMinutes*/,
5783  2003 /*untilYear*/,
5784  9 /*untilMonth*/,
5785  24 /*untilDay*/,
5786  0 /*untilTimeCode (0/15)*/,
5787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5788  },
5789  // -4:00 - %z 2004 Oct 1
5790  {
5791  nullptr /*zonePolicy*/,
5792  "" /*format*/,
5793  -960 /*offsetCode (-14400/15)*/,
5794  0 /*offsetRemainder (-14400%15)*/,
5795  0 /*deltaMinutes*/,
5796  2004 /*untilYear*/,
5797  10 /*untilMonth*/,
5798  1 /*untilDay*/,
5799  0 /*untilTimeCode (0/15)*/,
5800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5801  },
5802  // -4:00 Brazil %z
5803  {
5804  &kZonePolicyBrazil /*zonePolicy*/,
5805  "" /*format*/,
5806  -960 /*offsetCode (-14400/15)*/,
5807  0 /*offsetRemainder (-14400%15)*/,
5808  0 /*deltaMinutes*/,
5809  32767 /*untilYear*/,
5810  1 /*untilMonth*/,
5811  1 /*untilDay*/,
5812  0 /*untilTimeCode (0/15)*/,
5813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5814  },
5815 
5816 };
5817 
5818 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "\x02" "Cuiaba";
5819 
5820 const complete::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
5821  kZoneNameAmerica_Cuiaba /*name*/,
5822  0x969a52eb /*zoneId*/,
5823  &kZoneContext /*zoneContext*/,
5824  4 /*numEras*/,
5825  kZoneEraAmerica_Cuiaba /*eras*/,
5826  nullptr /*targetInfo*/,
5827 };
5828 
5829 //---------------------------------------------------------------------------
5830 // Zone name: America/Danmarkshavn
5831 // Eras: 4
5832 //---------------------------------------------------------------------------
5833 
5834 static const complete::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
5835  // -1:14:40 - LMT 1916 Jul 28
5836  {
5837  nullptr /*zonePolicy*/,
5838  "LMT" /*format*/,
5839  -299 /*offsetCode (-4480/15)*/,
5840  5 /*offsetRemainder (-4480%15)*/,
5841  0 /*deltaMinutes*/,
5842  1916 /*untilYear*/,
5843  7 /*untilMonth*/,
5844  28 /*untilDay*/,
5845  0 /*untilTimeCode (0/15)*/,
5846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5847  },
5848  // -3:00 - %z 1980 Apr 6 2:00
5849  {
5850  nullptr /*zonePolicy*/,
5851  "" /*format*/,
5852  -720 /*offsetCode (-10800/15)*/,
5853  0 /*offsetRemainder (-10800%15)*/,
5854  0 /*deltaMinutes*/,
5855  1980 /*untilYear*/,
5856  4 /*untilMonth*/,
5857  6 /*untilDay*/,
5858  480 /*untilTimeCode (7200/15)*/,
5859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5860  },
5861  // -3:00 EU %z 1996
5862  {
5863  &kZonePolicyEU /*zonePolicy*/,
5864  "" /*format*/,
5865  -720 /*offsetCode (-10800/15)*/,
5866  0 /*offsetRemainder (-10800%15)*/,
5867  0 /*deltaMinutes*/,
5868  1996 /*untilYear*/,
5869  1 /*untilMonth*/,
5870  1 /*untilDay*/,
5871  0 /*untilTimeCode (0/15)*/,
5872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5873  },
5874  // 0:00 - GMT
5875  {
5876  nullptr /*zonePolicy*/,
5877  "GMT" /*format*/,
5878  0 /*offsetCode (0/15)*/,
5879  0 /*offsetRemainder (0%15)*/,
5880  0 /*deltaMinutes*/,
5881  32767 /*untilYear*/,
5882  1 /*untilMonth*/,
5883  1 /*untilDay*/,
5884  0 /*untilTimeCode (0/15)*/,
5885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5886  },
5887 
5888 };
5889 
5890 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";
5891 
5892 const complete::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
5893  kZoneNameAmerica_Danmarkshavn /*name*/,
5894  0xf554d204 /*zoneId*/,
5895  &kZoneContext /*zoneContext*/,
5896  4 /*numEras*/,
5897  kZoneEraAmerica_Danmarkshavn /*eras*/,
5898  nullptr /*targetInfo*/,
5899 };
5900 
5901 //---------------------------------------------------------------------------
5902 // Zone name: America/Dawson
5903 // Eras: 6
5904 //---------------------------------------------------------------------------
5905 
5906 static const complete::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
5907  // -9:17:40 - LMT 1900 Aug 20
5908  {
5909  nullptr /*zonePolicy*/,
5910  "LMT" /*format*/,
5911  -2231 /*offsetCode (-33460/15)*/,
5912  5 /*offsetRemainder (-33460%15)*/,
5913  0 /*deltaMinutes*/,
5914  1900 /*untilYear*/,
5915  8 /*untilMonth*/,
5916  20 /*untilDay*/,
5917  0 /*untilTimeCode (0/15)*/,
5918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5919  },
5920  // -9:00 NT_YK Y%sT 1965
5921  {
5922  &kZonePolicyNT_YK /*zonePolicy*/,
5923  "Y%T" /*format*/,
5924  -2160 /*offsetCode (-32400/15)*/,
5925  0 /*offsetRemainder (-32400%15)*/,
5926  0 /*deltaMinutes*/,
5927  1965 /*untilYear*/,
5928  1 /*untilMonth*/,
5929  1 /*untilDay*/,
5930  0 /*untilTimeCode (0/15)*/,
5931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5932  },
5933  // -9:00 Yukon Y%sT 1973 Oct 28 0:00
5934  {
5935  &kZonePolicyYukon /*zonePolicy*/,
5936  "Y%T" /*format*/,
5937  -2160 /*offsetCode (-32400/15)*/,
5938  0 /*offsetRemainder (-32400%15)*/,
5939  0 /*deltaMinutes*/,
5940  1973 /*untilYear*/,
5941  10 /*untilMonth*/,
5942  28 /*untilDay*/,
5943  0 /*untilTimeCode (0/15)*/,
5944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5945  },
5946  // -8:00 - PST 1980
5947  {
5948  nullptr /*zonePolicy*/,
5949  "PST" /*format*/,
5950  -1920 /*offsetCode (-28800/15)*/,
5951  0 /*offsetRemainder (-28800%15)*/,
5952  0 /*deltaMinutes*/,
5953  1980 /*untilYear*/,
5954  1 /*untilMonth*/,
5955  1 /*untilDay*/,
5956  0 /*untilTimeCode (0/15)*/,
5957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5958  },
5959  // -8:00 Canada P%sT 2020 Nov 1
5960  {
5961  &kZonePolicyCanada /*zonePolicy*/,
5962  "P%T" /*format*/,
5963  -1920 /*offsetCode (-28800/15)*/,
5964  0 /*offsetRemainder (-28800%15)*/,
5965  0 /*deltaMinutes*/,
5966  2020 /*untilYear*/,
5967  11 /*untilMonth*/,
5968  1 /*untilDay*/,
5969  0 /*untilTimeCode (0/15)*/,
5970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5971  },
5972  // -7:00 - MST
5973  {
5974  nullptr /*zonePolicy*/,
5975  "MST" /*format*/,
5976  -1680 /*offsetCode (-25200/15)*/,
5977  0 /*offsetRemainder (-25200%15)*/,
5978  0 /*deltaMinutes*/,
5979  32767 /*untilYear*/,
5980  1 /*untilMonth*/,
5981  1 /*untilDay*/,
5982  0 /*untilTimeCode (0/15)*/,
5983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5984  },
5985 
5986 };
5987 
5988 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "\x02" "Dawson";
5989 
5990 const complete::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
5991  kZoneNameAmerica_Dawson /*name*/,
5992  0x978d8d12 /*zoneId*/,
5993  &kZoneContext /*zoneContext*/,
5994  6 /*numEras*/,
5995  kZoneEraAmerica_Dawson /*eras*/,
5996  nullptr /*targetInfo*/,
5997 };
5998 
5999 //---------------------------------------------------------------------------
6000 // Zone name: America/Dawson_Creek
6001 // Eras: 4
6002 //---------------------------------------------------------------------------
6003 
6004 static const complete::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
6005  // -8:00:56 - LMT 1884
6006  {
6007  nullptr /*zonePolicy*/,
6008  "LMT" /*format*/,
6009  -1924 /*offsetCode (-28856/15)*/,
6010  4 /*offsetRemainder (-28856%15)*/,
6011  0 /*deltaMinutes*/,
6012  1884 /*untilYear*/,
6013  1 /*untilMonth*/,
6014  1 /*untilDay*/,
6015  0 /*untilTimeCode (0/15)*/,
6016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6017  },
6018  // -8:00 Canada P%sT 1947
6019  {
6020  &kZonePolicyCanada /*zonePolicy*/,
6021  "P%T" /*format*/,
6022  -1920 /*offsetCode (-28800/15)*/,
6023  0 /*offsetRemainder (-28800%15)*/,
6024  0 /*deltaMinutes*/,
6025  1947 /*untilYear*/,
6026  1 /*untilMonth*/,
6027  1 /*untilDay*/,
6028  0 /*untilTimeCode (0/15)*/,
6029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6030  },
6031  // -8:00 Vanc P%sT 1972 Aug 30 2:00
6032  {
6033  &kZonePolicyVanc /*zonePolicy*/,
6034  "P%T" /*format*/,
6035  -1920 /*offsetCode (-28800/15)*/,
6036  0 /*offsetRemainder (-28800%15)*/,
6037  0 /*deltaMinutes*/,
6038  1972 /*untilYear*/,
6039  8 /*untilMonth*/,
6040  30 /*untilDay*/,
6041  480 /*untilTimeCode (7200/15)*/,
6042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6043  },
6044  // -7:00 - MST
6045  {
6046  nullptr /*zonePolicy*/,
6047  "MST" /*format*/,
6048  -1680 /*offsetCode (-25200/15)*/,
6049  0 /*offsetRemainder (-25200%15)*/,
6050  0 /*deltaMinutes*/,
6051  32767 /*untilYear*/,
6052  1 /*untilMonth*/,
6053  1 /*untilDay*/,
6054  0 /*untilTimeCode (0/15)*/,
6055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6056  },
6057 
6058 };
6059 
6060 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";
6061 
6062 const complete::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
6063  kZoneNameAmerica_Dawson_Creek /*name*/,
6064  0x6cf24e5b /*zoneId*/,
6065  &kZoneContext /*zoneContext*/,
6066  4 /*numEras*/,
6067  kZoneEraAmerica_Dawson_Creek /*eras*/,
6068  nullptr /*targetInfo*/,
6069 };
6070 
6071 //---------------------------------------------------------------------------
6072 // Zone name: America/Denver
6073 // Eras: 6
6074 //---------------------------------------------------------------------------
6075 
6076 static const complete::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
6077  // -6:59:56 - LMT 1883 Nov 18 19:00u
6078  {
6079  nullptr /*zonePolicy*/,
6080  "LMT" /*format*/,
6081  -1680 /*offsetCode (-25196/15)*/,
6082  4 /*offsetRemainder (-25196%15)*/,
6083  0 /*deltaMinutes*/,
6084  1883 /*untilYear*/,
6085  11 /*untilMonth*/,
6086  18 /*untilDay*/,
6087  4560 /*untilTimeCode (68400/15)*/,
6088  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
6089  },
6090  // -7:00 US M%sT 1920
6091  {
6092  &kZonePolicyUS /*zonePolicy*/,
6093  "M%T" /*format*/,
6094  -1680 /*offsetCode (-25200/15)*/,
6095  0 /*offsetRemainder (-25200%15)*/,
6096  0 /*deltaMinutes*/,
6097  1920 /*untilYear*/,
6098  1 /*untilMonth*/,
6099  1 /*untilDay*/,
6100  0 /*untilTimeCode (0/15)*/,
6101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6102  },
6103  // -7:00 Denver M%sT 1942
6104  {
6105  &kZonePolicyDenver /*zonePolicy*/,
6106  "M%T" /*format*/,
6107  -1680 /*offsetCode (-25200/15)*/,
6108  0 /*offsetRemainder (-25200%15)*/,
6109  0 /*deltaMinutes*/,
6110  1942 /*untilYear*/,
6111  1 /*untilMonth*/,
6112  1 /*untilDay*/,
6113  0 /*untilTimeCode (0/15)*/,
6114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6115  },
6116  // -7:00 US M%sT 1946
6117  {
6118  &kZonePolicyUS /*zonePolicy*/,
6119  "M%T" /*format*/,
6120  -1680 /*offsetCode (-25200/15)*/,
6121  0 /*offsetRemainder (-25200%15)*/,
6122  0 /*deltaMinutes*/,
6123  1946 /*untilYear*/,
6124  1 /*untilMonth*/,
6125  1 /*untilDay*/,
6126  0 /*untilTimeCode (0/15)*/,
6127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6128  },
6129  // -7:00 Denver M%sT 1967
6130  {
6131  &kZonePolicyDenver /*zonePolicy*/,
6132  "M%T" /*format*/,
6133  -1680 /*offsetCode (-25200/15)*/,
6134  0 /*offsetRemainder (-25200%15)*/,
6135  0 /*deltaMinutes*/,
6136  1967 /*untilYear*/,
6137  1 /*untilMonth*/,
6138  1 /*untilDay*/,
6139  0 /*untilTimeCode (0/15)*/,
6140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6141  },
6142  // -7:00 US M%sT
6143  {
6144  &kZonePolicyUS /*zonePolicy*/,
6145  "M%T" /*format*/,
6146  -1680 /*offsetCode (-25200/15)*/,
6147  0 /*offsetRemainder (-25200%15)*/,
6148  0 /*deltaMinutes*/,
6149  32767 /*untilYear*/,
6150  1 /*untilMonth*/,
6151  1 /*untilDay*/,
6152  0 /*untilTimeCode (0/15)*/,
6153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6154  },
6155 
6156 };
6157 
6158 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";
6159 
6160 const complete::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
6161  kZoneNameAmerica_Denver /*name*/,
6162  0x97d10b2a /*zoneId*/,
6163  &kZoneContext /*zoneContext*/,
6164  6 /*numEras*/,
6165  kZoneEraAmerica_Denver /*eras*/,
6166  nullptr /*targetInfo*/,
6167 };
6168 
6169 //---------------------------------------------------------------------------
6170 // Zone name: America/Detroit
6171 // Eras: 10
6172 //---------------------------------------------------------------------------
6173 
6174 static const complete::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
6175  // -5:32:11 - LMT 1905
6176  {
6177  nullptr /*zonePolicy*/,
6178  "LMT" /*format*/,
6179  -1329 /*offsetCode (-19931/15)*/,
6180  4 /*offsetRemainder (-19931%15)*/,
6181  0 /*deltaMinutes*/,
6182  1905 /*untilYear*/,
6183  1 /*untilMonth*/,
6184  1 /*untilDay*/,
6185  0 /*untilTimeCode (0/15)*/,
6186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6187  },
6188  // -6:00 - CST 1915 May 15 2:00
6189  {
6190  nullptr /*zonePolicy*/,
6191  "CST" /*format*/,
6192  -1440 /*offsetCode (-21600/15)*/,
6193  0 /*offsetRemainder (-21600%15)*/,
6194  0 /*deltaMinutes*/,
6195  1915 /*untilYear*/,
6196  5 /*untilMonth*/,
6197  15 /*untilDay*/,
6198  480 /*untilTimeCode (7200/15)*/,
6199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6200  },
6201  // -5:00 - EST 1942
6202  {
6203  nullptr /*zonePolicy*/,
6204  "EST" /*format*/,
6205  -1200 /*offsetCode (-18000/15)*/,
6206  0 /*offsetRemainder (-18000%15)*/,
6207  0 /*deltaMinutes*/,
6208  1942 /*untilYear*/,
6209  1 /*untilMonth*/,
6210  1 /*untilDay*/,
6211  0 /*untilTimeCode (0/15)*/,
6212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6213  },
6214  // -5:00 US E%sT 1946
6215  {
6216  &kZonePolicyUS /*zonePolicy*/,
6217  "E%T" /*format*/,
6218  -1200 /*offsetCode (-18000/15)*/,
6219  0 /*offsetRemainder (-18000%15)*/,
6220  0 /*deltaMinutes*/,
6221  1946 /*untilYear*/,
6222  1 /*untilMonth*/,
6223  1 /*untilDay*/,
6224  0 /*untilTimeCode (0/15)*/,
6225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6226  },
6227  // -5:00 Detroit E%sT 1967 Jun 14 0:01
6228  {
6229  &kZonePolicyDetroit /*zonePolicy*/,
6230  "E%T" /*format*/,
6231  -1200 /*offsetCode (-18000/15)*/,
6232  0 /*offsetRemainder (-18000%15)*/,
6233  0 /*deltaMinutes*/,
6234  1967 /*untilYear*/,
6235  6 /*untilMonth*/,
6236  14 /*untilDay*/,
6237  4 /*untilTimeCode (60/15)*/,
6238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6239  },
6240  // -5:00 US E%sT 1969
6241  {
6242  &kZonePolicyUS /*zonePolicy*/,
6243  "E%T" /*format*/,
6244  -1200 /*offsetCode (-18000/15)*/,
6245  0 /*offsetRemainder (-18000%15)*/,
6246  0 /*deltaMinutes*/,
6247  1969 /*untilYear*/,
6248  1 /*untilMonth*/,
6249  1 /*untilDay*/,
6250  0 /*untilTimeCode (0/15)*/,
6251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6252  },
6253  // -5:00 - EST 1973
6254  {
6255  nullptr /*zonePolicy*/,
6256  "EST" /*format*/,
6257  -1200 /*offsetCode (-18000/15)*/,
6258  0 /*offsetRemainder (-18000%15)*/,
6259  0 /*deltaMinutes*/,
6260  1973 /*untilYear*/,
6261  1 /*untilMonth*/,
6262  1 /*untilDay*/,
6263  0 /*untilTimeCode (0/15)*/,
6264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6265  },
6266  // -5:00 US E%sT 1975
6267  {
6268  &kZonePolicyUS /*zonePolicy*/,
6269  "E%T" /*format*/,
6270  -1200 /*offsetCode (-18000/15)*/,
6271  0 /*offsetRemainder (-18000%15)*/,
6272  0 /*deltaMinutes*/,
6273  1975 /*untilYear*/,
6274  1 /*untilMonth*/,
6275  1 /*untilDay*/,
6276  0 /*untilTimeCode (0/15)*/,
6277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6278  },
6279  // -5:00 - EST 1975 Apr 27 2:00
6280  {
6281  nullptr /*zonePolicy*/,
6282  "EST" /*format*/,
6283  -1200 /*offsetCode (-18000/15)*/,
6284  0 /*offsetRemainder (-18000%15)*/,
6285  0 /*deltaMinutes*/,
6286  1975 /*untilYear*/,
6287  4 /*untilMonth*/,
6288  27 /*untilDay*/,
6289  480 /*untilTimeCode (7200/15)*/,
6290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6291  },
6292  // -5:00 US E%sT
6293  {
6294  &kZonePolicyUS /*zonePolicy*/,
6295  "E%T" /*format*/,
6296  -1200 /*offsetCode (-18000/15)*/,
6297  0 /*offsetRemainder (-18000%15)*/,
6298  0 /*deltaMinutes*/,
6299  32767 /*untilYear*/,
6300  1 /*untilMonth*/,
6301  1 /*untilDay*/,
6302  0 /*untilTimeCode (0/15)*/,
6303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6304  },
6305 
6306 };
6307 
6308 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";
6309 
6310 const complete::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
6311  kZoneNameAmerica_Detroit /*name*/,
6312  0x925cfbc1 /*zoneId*/,
6313  &kZoneContext /*zoneContext*/,
6314  10 /*numEras*/,
6315  kZoneEraAmerica_Detroit /*eras*/,
6316  nullptr /*targetInfo*/,
6317 };
6318 
6319 //---------------------------------------------------------------------------
6320 // Zone name: America/Edmonton
6321 // Eras: 3
6322 //---------------------------------------------------------------------------
6323 
6324 static const complete::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
6325  // -7:33:52 - LMT 1906 Sep
6326  {
6327  nullptr /*zonePolicy*/,
6328  "LMT" /*format*/,
6329  -1816 /*offsetCode (-27232/15)*/,
6330  8 /*offsetRemainder (-27232%15)*/,
6331  0 /*deltaMinutes*/,
6332  1906 /*untilYear*/,
6333  9 /*untilMonth*/,
6334  1 /*untilDay*/,
6335  0 /*untilTimeCode (0/15)*/,
6336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6337  },
6338  // -7:00 Edm M%sT 1987
6339  {
6340  &kZonePolicyEdm /*zonePolicy*/,
6341  "M%T" /*format*/,
6342  -1680 /*offsetCode (-25200/15)*/,
6343  0 /*offsetRemainder (-25200%15)*/,
6344  0 /*deltaMinutes*/,
6345  1987 /*untilYear*/,
6346  1 /*untilMonth*/,
6347  1 /*untilDay*/,
6348  0 /*untilTimeCode (0/15)*/,
6349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6350  },
6351  // -7:00 Canada M%sT
6352  {
6353  &kZonePolicyCanada /*zonePolicy*/,
6354  "M%T" /*format*/,
6355  -1680 /*offsetCode (-25200/15)*/,
6356  0 /*offsetRemainder (-25200%15)*/,
6357  0 /*deltaMinutes*/,
6358  32767 /*untilYear*/,
6359  1 /*untilMonth*/,
6360  1 /*untilDay*/,
6361  0 /*untilTimeCode (0/15)*/,
6362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6363  },
6364 
6365 };
6366 
6367 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";
6368 
6369 const complete::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
6370  kZoneNameAmerica_Edmonton /*name*/,
6371  0x6cb9484a /*zoneId*/,
6372  &kZoneContext /*zoneContext*/,
6373  3 /*numEras*/,
6374  kZoneEraAmerica_Edmonton /*eras*/,
6375  nullptr /*targetInfo*/,
6376 };
6377 
6378 //---------------------------------------------------------------------------
6379 // Zone name: America/Eirunepe
6380 // Eras: 7
6381 //---------------------------------------------------------------------------
6382 
6383 static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
6384  // -4:39:28 - LMT 1914
6385  {
6386  nullptr /*zonePolicy*/,
6387  "LMT" /*format*/,
6388  -1118 /*offsetCode (-16768/15)*/,
6389  2 /*offsetRemainder (-16768%15)*/,
6390  0 /*deltaMinutes*/,
6391  1914 /*untilYear*/,
6392  1 /*untilMonth*/,
6393  1 /*untilDay*/,
6394  0 /*untilTimeCode (0/15)*/,
6395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6396  },
6397  // -5:00 Brazil %z 1988 Sep 12
6398  {
6399  &kZonePolicyBrazil /*zonePolicy*/,
6400  "" /*format*/,
6401  -1200 /*offsetCode (-18000/15)*/,
6402  0 /*offsetRemainder (-18000%15)*/,
6403  0 /*deltaMinutes*/,
6404  1988 /*untilYear*/,
6405  9 /*untilMonth*/,
6406  12 /*untilDay*/,
6407  0 /*untilTimeCode (0/15)*/,
6408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6409  },
6410  // -5:00 - %z 1993 Sep 28
6411  {
6412  nullptr /*zonePolicy*/,
6413  "" /*format*/,
6414  -1200 /*offsetCode (-18000/15)*/,
6415  0 /*offsetRemainder (-18000%15)*/,
6416  0 /*deltaMinutes*/,
6417  1993 /*untilYear*/,
6418  9 /*untilMonth*/,
6419  28 /*untilDay*/,
6420  0 /*untilTimeCode (0/15)*/,
6421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6422  },
6423  // -5:00 Brazil %z 1994 Sep 22
6424  {
6425  &kZonePolicyBrazil /*zonePolicy*/,
6426  "" /*format*/,
6427  -1200 /*offsetCode (-18000/15)*/,
6428  0 /*offsetRemainder (-18000%15)*/,
6429  0 /*deltaMinutes*/,
6430  1994 /*untilYear*/,
6431  9 /*untilMonth*/,
6432  22 /*untilDay*/,
6433  0 /*untilTimeCode (0/15)*/,
6434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6435  },
6436  // -5:00 - %z 2008 Jun 24 0:00
6437  {
6438  nullptr /*zonePolicy*/,
6439  "" /*format*/,
6440  -1200 /*offsetCode (-18000/15)*/,
6441  0 /*offsetRemainder (-18000%15)*/,
6442  0 /*deltaMinutes*/,
6443  2008 /*untilYear*/,
6444  6 /*untilMonth*/,
6445  24 /*untilDay*/,
6446  0 /*untilTimeCode (0/15)*/,
6447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6448  },
6449  // -4:00 - %z 2013 Nov 10
6450  {
6451  nullptr /*zonePolicy*/,
6452  "" /*format*/,
6453  -960 /*offsetCode (-14400/15)*/,
6454  0 /*offsetRemainder (-14400%15)*/,
6455  0 /*deltaMinutes*/,
6456  2013 /*untilYear*/,
6457  11 /*untilMonth*/,
6458  10 /*untilDay*/,
6459  0 /*untilTimeCode (0/15)*/,
6460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6461  },
6462  // -5:00 - %z
6463  {
6464  nullptr /*zonePolicy*/,
6465  "" /*format*/,
6466  -1200 /*offsetCode (-18000/15)*/,
6467  0 /*offsetRemainder (-18000%15)*/,
6468  0 /*deltaMinutes*/,
6469  32767 /*untilYear*/,
6470  1 /*untilMonth*/,
6471  1 /*untilDay*/,
6472  0 /*untilTimeCode (0/15)*/,
6473  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6474  },
6475 
6476 };
6477 
6478 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "\x02" "Eirunepe";
6479 
6480 const complete::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
6481  kZoneNameAmerica_Eirunepe /*name*/,
6482  0xf9b29683 /*zoneId*/,
6483  &kZoneContext /*zoneContext*/,
6484  7 /*numEras*/,
6485  kZoneEraAmerica_Eirunepe /*eras*/,
6486  nullptr /*targetInfo*/,
6487 };
6488 
6489 //---------------------------------------------------------------------------
6490 // Zone name: America/El_Salvador
6491 // Eras: 2
6492 //---------------------------------------------------------------------------
6493 
6494 static const complete::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
6495  // -5:56:48 - LMT 1921
6496  {
6497  nullptr /*zonePolicy*/,
6498  "LMT" /*format*/,
6499  -1428 /*offsetCode (-21408/15)*/,
6500  12 /*offsetRemainder (-21408%15)*/,
6501  0 /*deltaMinutes*/,
6502  1921 /*untilYear*/,
6503  1 /*untilMonth*/,
6504  1 /*untilDay*/,
6505  0 /*untilTimeCode (0/15)*/,
6506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6507  },
6508  // -6:00 Salv C%sT
6509  {
6510  &kZonePolicySalv /*zonePolicy*/,
6511  "C%T" /*format*/,
6512  -1440 /*offsetCode (-21600/15)*/,
6513  0 /*offsetRemainder (-21600%15)*/,
6514  0 /*deltaMinutes*/,
6515  32767 /*untilYear*/,
6516  1 /*untilMonth*/,
6517  1 /*untilDay*/,
6518  0 /*untilTimeCode (0/15)*/,
6519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6520  },
6521 
6522 };
6523 
6524 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";
6525 
6526 const complete::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
6527  kZoneNameAmerica_El_Salvador /*name*/,
6528  0x752ad652 /*zoneId*/,
6529  &kZoneContext /*zoneContext*/,
6530  2 /*numEras*/,
6531  kZoneEraAmerica_El_Salvador /*eras*/,
6532  nullptr /*targetInfo*/,
6533 };
6534 
6535 //---------------------------------------------------------------------------
6536 // Zone name: America/Fort_Nelson
6537 // Eras: 6
6538 //---------------------------------------------------------------------------
6539 
6540 static const complete::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
6541  // -8:10:47 - LMT 1884
6542  {
6543  nullptr /*zonePolicy*/,
6544  "LMT" /*format*/,
6545  -1964 /*offsetCode (-29447/15)*/,
6546  13 /*offsetRemainder (-29447%15)*/,
6547  0 /*deltaMinutes*/,
6548  1884 /*untilYear*/,
6549  1 /*untilMonth*/,
6550  1 /*untilDay*/,
6551  0 /*untilTimeCode (0/15)*/,
6552  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6553  },
6554  // -8:00 Vanc P%sT 1946
6555  {
6556  &kZonePolicyVanc /*zonePolicy*/,
6557  "P%T" /*format*/,
6558  -1920 /*offsetCode (-28800/15)*/,
6559  0 /*offsetRemainder (-28800%15)*/,
6560  0 /*deltaMinutes*/,
6561  1946 /*untilYear*/,
6562  1 /*untilMonth*/,
6563  1 /*untilDay*/,
6564  0 /*untilTimeCode (0/15)*/,
6565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6566  },
6567  // -8:00 - PST 1947
6568  {
6569  nullptr /*zonePolicy*/,
6570  "PST" /*format*/,
6571  -1920 /*offsetCode (-28800/15)*/,
6572  0 /*offsetRemainder (-28800%15)*/,
6573  0 /*deltaMinutes*/,
6574  1947 /*untilYear*/,
6575  1 /*untilMonth*/,
6576  1 /*untilDay*/,
6577  0 /*untilTimeCode (0/15)*/,
6578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6579  },
6580  // -8:00 Vanc P%sT 1987
6581  {
6582  &kZonePolicyVanc /*zonePolicy*/,
6583  "P%T" /*format*/,
6584  -1920 /*offsetCode (-28800/15)*/,
6585  0 /*offsetRemainder (-28800%15)*/,
6586  0 /*deltaMinutes*/,
6587  1987 /*untilYear*/,
6588  1 /*untilMonth*/,
6589  1 /*untilDay*/,
6590  0 /*untilTimeCode (0/15)*/,
6591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6592  },
6593  // -8:00 Canada P%sT 2015 Mar 8 2:00
6594  {
6595  &kZonePolicyCanada /*zonePolicy*/,
6596  "P%T" /*format*/,
6597  -1920 /*offsetCode (-28800/15)*/,
6598  0 /*offsetRemainder (-28800%15)*/,
6599  0 /*deltaMinutes*/,
6600  2015 /*untilYear*/,
6601  3 /*untilMonth*/,
6602  8 /*untilDay*/,
6603  480 /*untilTimeCode (7200/15)*/,
6604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6605  },
6606  // -7:00 - MST
6607  {
6608  nullptr /*zonePolicy*/,
6609  "MST" /*format*/,
6610  -1680 /*offsetCode (-25200/15)*/,
6611  0 /*offsetRemainder (-25200%15)*/,
6612  0 /*deltaMinutes*/,
6613  32767 /*untilYear*/,
6614  1 /*untilMonth*/,
6615  1 /*untilDay*/,
6616  0 /*untilTimeCode (0/15)*/,
6617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6618  },
6619 
6620 };
6621 
6622 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "\x02" "Fort_Nelson";
6623 
6624 const complete::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
6625  kZoneNameAmerica_Fort_Nelson /*name*/,
6626  0x3f437e0f /*zoneId*/,
6627  &kZoneContext /*zoneContext*/,
6628  6 /*numEras*/,
6629  kZoneEraAmerica_Fort_Nelson /*eras*/,
6630  nullptr /*targetInfo*/,
6631 };
6632 
6633 //---------------------------------------------------------------------------
6634 // Zone name: America/Fortaleza
6635 // Eras: 7
6636 //---------------------------------------------------------------------------
6637 
6638 static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
6639  // -2:34:00 - LMT 1914
6640  {
6641  nullptr /*zonePolicy*/,
6642  "LMT" /*format*/,
6643  -616 /*offsetCode (-9240/15)*/,
6644  0 /*offsetRemainder (-9240%15)*/,
6645  0 /*deltaMinutes*/,
6646  1914 /*untilYear*/,
6647  1 /*untilMonth*/,
6648  1 /*untilDay*/,
6649  0 /*untilTimeCode (0/15)*/,
6650  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6651  },
6652  // -3:00 Brazil %z 1990 Sep 17
6653  {
6654  &kZonePolicyBrazil /*zonePolicy*/,
6655  "" /*format*/,
6656  -720 /*offsetCode (-10800/15)*/,
6657  0 /*offsetRemainder (-10800%15)*/,
6658  0 /*deltaMinutes*/,
6659  1990 /*untilYear*/,
6660  9 /*untilMonth*/,
6661  17 /*untilDay*/,
6662  0 /*untilTimeCode (0/15)*/,
6663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6664  },
6665  // -3:00 - %z 1999 Sep 30
6666  {
6667  nullptr /*zonePolicy*/,
6668  "" /*format*/,
6669  -720 /*offsetCode (-10800/15)*/,
6670  0 /*offsetRemainder (-10800%15)*/,
6671  0 /*deltaMinutes*/,
6672  1999 /*untilYear*/,
6673  9 /*untilMonth*/,
6674  30 /*untilDay*/,
6675  0 /*untilTimeCode (0/15)*/,
6676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6677  },
6678  // -3:00 Brazil %z 2000 Oct 22
6679  {
6680  &kZonePolicyBrazil /*zonePolicy*/,
6681  "" /*format*/,
6682  -720 /*offsetCode (-10800/15)*/,
6683  0 /*offsetRemainder (-10800%15)*/,
6684  0 /*deltaMinutes*/,
6685  2000 /*untilYear*/,
6686  10 /*untilMonth*/,
6687  22 /*untilDay*/,
6688  0 /*untilTimeCode (0/15)*/,
6689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6690  },
6691  // -3:00 - %z 2001 Sep 13
6692  {
6693  nullptr /*zonePolicy*/,
6694  "" /*format*/,
6695  -720 /*offsetCode (-10800/15)*/,
6696  0 /*offsetRemainder (-10800%15)*/,
6697  0 /*deltaMinutes*/,
6698  2001 /*untilYear*/,
6699  9 /*untilMonth*/,
6700  13 /*untilDay*/,
6701  0 /*untilTimeCode (0/15)*/,
6702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6703  },
6704  // -3:00 Brazil %z 2002 Oct 1
6705  {
6706  &kZonePolicyBrazil /*zonePolicy*/,
6707  "" /*format*/,
6708  -720 /*offsetCode (-10800/15)*/,
6709  0 /*offsetRemainder (-10800%15)*/,
6710  0 /*deltaMinutes*/,
6711  2002 /*untilYear*/,
6712  10 /*untilMonth*/,
6713  1 /*untilDay*/,
6714  0 /*untilTimeCode (0/15)*/,
6715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6716  },
6717  // -3:00 - %z
6718  {
6719  nullptr /*zonePolicy*/,
6720  "" /*format*/,
6721  -720 /*offsetCode (-10800/15)*/,
6722  0 /*offsetRemainder (-10800%15)*/,
6723  0 /*deltaMinutes*/,
6724  32767 /*untilYear*/,
6725  1 /*untilMonth*/,
6726  1 /*untilDay*/,
6727  0 /*untilTimeCode (0/15)*/,
6728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6729  },
6730 
6731 };
6732 
6733 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "\x02" "Fortaleza";
6734 
6735 const complete::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
6736  kZoneNameAmerica_Fortaleza /*name*/,
6737  0x2ad018ee /*zoneId*/,
6738  &kZoneContext /*zoneContext*/,
6739  7 /*numEras*/,
6740  kZoneEraAmerica_Fortaleza /*eras*/,
6741  nullptr /*targetInfo*/,
6742 };
6743 
6744 //---------------------------------------------------------------------------
6745 // Zone name: America/Glace_Bay
6746 // Eras: 6
6747 //---------------------------------------------------------------------------
6748 
6749 static const complete::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
6750  // -3:59:48 - LMT 1902 Jun 15
6751  {
6752  nullptr /*zonePolicy*/,
6753  "LMT" /*format*/,
6754  -960 /*offsetCode (-14388/15)*/,
6755  12 /*offsetRemainder (-14388%15)*/,
6756  0 /*deltaMinutes*/,
6757  1902 /*untilYear*/,
6758  6 /*untilMonth*/,
6759  15 /*untilDay*/,
6760  0 /*untilTimeCode (0/15)*/,
6761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6762  },
6763  // -4:00 Canada A%sT 1953
6764  {
6765  &kZonePolicyCanada /*zonePolicy*/,
6766  "A%T" /*format*/,
6767  -960 /*offsetCode (-14400/15)*/,
6768  0 /*offsetRemainder (-14400%15)*/,
6769  0 /*deltaMinutes*/,
6770  1953 /*untilYear*/,
6771  1 /*untilMonth*/,
6772  1 /*untilDay*/,
6773  0 /*untilTimeCode (0/15)*/,
6774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6775  },
6776  // -4:00 Halifax A%sT 1954
6777  {
6778  &kZonePolicyHalifax /*zonePolicy*/,
6779  "A%T" /*format*/,
6780  -960 /*offsetCode (-14400/15)*/,
6781  0 /*offsetRemainder (-14400%15)*/,
6782  0 /*deltaMinutes*/,
6783  1954 /*untilYear*/,
6784  1 /*untilMonth*/,
6785  1 /*untilDay*/,
6786  0 /*untilTimeCode (0/15)*/,
6787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6788  },
6789  // -4:00 - AST 1972
6790  {
6791  nullptr /*zonePolicy*/,
6792  "AST" /*format*/,
6793  -960 /*offsetCode (-14400/15)*/,
6794  0 /*offsetRemainder (-14400%15)*/,
6795  0 /*deltaMinutes*/,
6796  1972 /*untilYear*/,
6797  1 /*untilMonth*/,
6798  1 /*untilDay*/,
6799  0 /*untilTimeCode (0/15)*/,
6800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6801  },
6802  // -4:00 Halifax A%sT 1974
6803  {
6804  &kZonePolicyHalifax /*zonePolicy*/,
6805  "A%T" /*format*/,
6806  -960 /*offsetCode (-14400/15)*/,
6807  0 /*offsetRemainder (-14400%15)*/,
6808  0 /*deltaMinutes*/,
6809  1974 /*untilYear*/,
6810  1 /*untilMonth*/,
6811  1 /*untilDay*/,
6812  0 /*untilTimeCode (0/15)*/,
6813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6814  },
6815  // -4:00 Canada A%sT
6816  {
6817  &kZonePolicyCanada /*zonePolicy*/,
6818  "A%T" /*format*/,
6819  -960 /*offsetCode (-14400/15)*/,
6820  0 /*offsetRemainder (-14400%15)*/,
6821  0 /*deltaMinutes*/,
6822  32767 /*untilYear*/,
6823  1 /*untilMonth*/,
6824  1 /*untilDay*/,
6825  0 /*untilTimeCode (0/15)*/,
6826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6827  },
6828 
6829 };
6830 
6831 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";
6832 
6833 const complete::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
6834  kZoneNameAmerica_Glace_Bay /*name*/,
6835  0x9681f8dd /*zoneId*/,
6836  &kZoneContext /*zoneContext*/,
6837  6 /*numEras*/,
6838  kZoneEraAmerica_Glace_Bay /*eras*/,
6839  nullptr /*targetInfo*/,
6840 };
6841 
6842 //---------------------------------------------------------------------------
6843 // Zone name: America/Goose_Bay
6844 // Eras: 10
6845 //---------------------------------------------------------------------------
6846 
6847 static const complete::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
6848  // -4:01:40 - LMT 1884
6849  {
6850  nullptr /*zonePolicy*/,
6851  "LMT" /*format*/,
6852  -967 /*offsetCode (-14500/15)*/,
6853  5 /*offsetRemainder (-14500%15)*/,
6854  0 /*deltaMinutes*/,
6855  1884 /*untilYear*/,
6856  1 /*untilMonth*/,
6857  1 /*untilDay*/,
6858  0 /*untilTimeCode (0/15)*/,
6859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6860  },
6861  // -3:30:52 - NST 1918
6862  {
6863  nullptr /*zonePolicy*/,
6864  "NST" /*format*/,
6865  -844 /*offsetCode (-12652/15)*/,
6866  8 /*offsetRemainder (-12652%15)*/,
6867  0 /*deltaMinutes*/,
6868  1918 /*untilYear*/,
6869  1 /*untilMonth*/,
6870  1 /*untilDay*/,
6871  0 /*untilTimeCode (0/15)*/,
6872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6873  },
6874  // -3:30:52 Canada N%sT 1919
6875  {
6876  &kZonePolicyCanada /*zonePolicy*/,
6877  "N%T" /*format*/,
6878  -844 /*offsetCode (-12652/15)*/,
6879  8 /*offsetRemainder (-12652%15)*/,
6880  0 /*deltaMinutes*/,
6881  1919 /*untilYear*/,
6882  1 /*untilMonth*/,
6883  1 /*untilDay*/,
6884  0 /*untilTimeCode (0/15)*/,
6885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6886  },
6887  // -3:30:52 - NST 1935 Mar 30
6888  {
6889  nullptr /*zonePolicy*/,
6890  "NST" /*format*/,
6891  -844 /*offsetCode (-12652/15)*/,
6892  8 /*offsetRemainder (-12652%15)*/,
6893  0 /*deltaMinutes*/,
6894  1935 /*untilYear*/,
6895  3 /*untilMonth*/,
6896  30 /*untilDay*/,
6897  0 /*untilTimeCode (0/15)*/,
6898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6899  },
6900  // -3:30 - NST 1936
6901  {
6902  nullptr /*zonePolicy*/,
6903  "NST" /*format*/,
6904  -840 /*offsetCode (-12600/15)*/,
6905  0 /*offsetRemainder (-12600%15)*/,
6906  0 /*deltaMinutes*/,
6907  1936 /*untilYear*/,
6908  1 /*untilMonth*/,
6909  1 /*untilDay*/,
6910  0 /*untilTimeCode (0/15)*/,
6911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6912  },
6913  // -3:30 StJohns N%sT 1942 May 11
6914  {
6915  &kZonePolicyStJohns /*zonePolicy*/,
6916  "N%T" /*format*/,
6917  -840 /*offsetCode (-12600/15)*/,
6918  0 /*offsetRemainder (-12600%15)*/,
6919  0 /*deltaMinutes*/,
6920  1942 /*untilYear*/,
6921  5 /*untilMonth*/,
6922  11 /*untilDay*/,
6923  0 /*untilTimeCode (0/15)*/,
6924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6925  },
6926  // -3:30 Canada N%sT 1946
6927  {
6928  &kZonePolicyCanada /*zonePolicy*/,
6929  "N%T" /*format*/,
6930  -840 /*offsetCode (-12600/15)*/,
6931  0 /*offsetRemainder (-12600%15)*/,
6932  0 /*deltaMinutes*/,
6933  1946 /*untilYear*/,
6934  1 /*untilMonth*/,
6935  1 /*untilDay*/,
6936  0 /*untilTimeCode (0/15)*/,
6937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6938  },
6939  // -3:30 StJohns N%sT 1966 Mar 15 2:00
6940  {
6941  &kZonePolicyStJohns /*zonePolicy*/,
6942  "N%T" /*format*/,
6943  -840 /*offsetCode (-12600/15)*/,
6944  0 /*offsetRemainder (-12600%15)*/,
6945  0 /*deltaMinutes*/,
6946  1966 /*untilYear*/,
6947  3 /*untilMonth*/,
6948  15 /*untilDay*/,
6949  480 /*untilTimeCode (7200/15)*/,
6950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6951  },
6952  // -4:00 StJohns A%sT 2011 Nov
6953  {
6954  &kZonePolicyStJohns /*zonePolicy*/,
6955  "A%T" /*format*/,
6956  -960 /*offsetCode (-14400/15)*/,
6957  0 /*offsetRemainder (-14400%15)*/,
6958  0 /*deltaMinutes*/,
6959  2011 /*untilYear*/,
6960  11 /*untilMonth*/,
6961  1 /*untilDay*/,
6962  0 /*untilTimeCode (0/15)*/,
6963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6964  },
6965  // -4:00 Canada A%sT
6966  {
6967  &kZonePolicyCanada /*zonePolicy*/,
6968  "A%T" /*format*/,
6969  -960 /*offsetCode (-14400/15)*/,
6970  0 /*offsetRemainder (-14400%15)*/,
6971  0 /*deltaMinutes*/,
6972  32767 /*untilYear*/,
6973  1 /*untilMonth*/,
6974  1 /*untilDay*/,
6975  0 /*untilTimeCode (0/15)*/,
6976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6977  },
6978 
6979 };
6980 
6981 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "\x02" "Goose_Bay";
6982 
6983 const complete::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
6984  kZoneNameAmerica_Goose_Bay /*name*/,
6985  0xb649541e /*zoneId*/,
6986  &kZoneContext /*zoneContext*/,
6987  10 /*numEras*/,
6988  kZoneEraAmerica_Goose_Bay /*eras*/,
6989  nullptr /*targetInfo*/,
6990 };
6991 
6992 //---------------------------------------------------------------------------
6993 // Zone name: America/Grand_Turk
6994 // Eras: 6
6995 //---------------------------------------------------------------------------
6996 
6997 static const complete::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
6998  // -4:44:32 - LMT 1890
6999  {
7000  nullptr /*zonePolicy*/,
7001  "LMT" /*format*/,
7002  -1139 /*offsetCode (-17072/15)*/,
7003  13 /*offsetRemainder (-17072%15)*/,
7004  0 /*deltaMinutes*/,
7005  1890 /*untilYear*/,
7006  1 /*untilMonth*/,
7007  1 /*untilDay*/,
7008  0 /*untilTimeCode (0/15)*/,
7009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7010  },
7011  // -5:07:10 - KMT 1912 Feb
7012  {
7013  nullptr /*zonePolicy*/,
7014  "KMT" /*format*/,
7015  -1229 /*offsetCode (-18430/15)*/,
7016  5 /*offsetRemainder (-18430%15)*/,
7017  0 /*deltaMinutes*/,
7018  1912 /*untilYear*/,
7019  2 /*untilMonth*/,
7020  1 /*untilDay*/,
7021  0 /*untilTimeCode (0/15)*/,
7022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7023  },
7024  // -5:00 - EST 1979
7025  {
7026  nullptr /*zonePolicy*/,
7027  "EST" /*format*/,
7028  -1200 /*offsetCode (-18000/15)*/,
7029  0 /*offsetRemainder (-18000%15)*/,
7030  0 /*deltaMinutes*/,
7031  1979 /*untilYear*/,
7032  1 /*untilMonth*/,
7033  1 /*untilDay*/,
7034  0 /*untilTimeCode (0/15)*/,
7035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7036  },
7037  // -5:00 US E%sT 2015 Mar 8 2:00
7038  {
7039  &kZonePolicyUS /*zonePolicy*/,
7040  "E%T" /*format*/,
7041  -1200 /*offsetCode (-18000/15)*/,
7042  0 /*offsetRemainder (-18000%15)*/,
7043  0 /*deltaMinutes*/,
7044  2015 /*untilYear*/,
7045  3 /*untilMonth*/,
7046  8 /*untilDay*/,
7047  480 /*untilTimeCode (7200/15)*/,
7048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7049  },
7050  // -4:00 - AST 2018 Mar 11 3:00
7051  {
7052  nullptr /*zonePolicy*/,
7053  "AST" /*format*/,
7054  -960 /*offsetCode (-14400/15)*/,
7055  0 /*offsetRemainder (-14400%15)*/,
7056  0 /*deltaMinutes*/,
7057  2018 /*untilYear*/,
7058  3 /*untilMonth*/,
7059  11 /*untilDay*/,
7060  720 /*untilTimeCode (10800/15)*/,
7061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7062  },
7063  // -5:00 US E%sT
7064  {
7065  &kZonePolicyUS /*zonePolicy*/,
7066  "E%T" /*format*/,
7067  -1200 /*offsetCode (-18000/15)*/,
7068  0 /*offsetRemainder (-18000%15)*/,
7069  0 /*deltaMinutes*/,
7070  32767 /*untilYear*/,
7071  1 /*untilMonth*/,
7072  1 /*untilDay*/,
7073  0 /*untilTimeCode (0/15)*/,
7074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7075  },
7076 
7077 };
7078 
7079 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "\x02" "Grand_Turk";
7080 
7081 const complete::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
7082  kZoneNameAmerica_Grand_Turk /*name*/,
7083  0x6e216197 /*zoneId*/,
7084  &kZoneContext /*zoneContext*/,
7085  6 /*numEras*/,
7086  kZoneEraAmerica_Grand_Turk /*eras*/,
7087  nullptr /*targetInfo*/,
7088 };
7089 
7090 //---------------------------------------------------------------------------
7091 // Zone name: America/Guatemala
7092 // Eras: 2
7093 //---------------------------------------------------------------------------
7094 
7095 static const complete::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
7096  // -6:02:04 - LMT 1918 Oct 5
7097  {
7098  nullptr /*zonePolicy*/,
7099  "LMT" /*format*/,
7100  -1449 /*offsetCode (-21724/15)*/,
7101  11 /*offsetRemainder (-21724%15)*/,
7102  0 /*deltaMinutes*/,
7103  1918 /*untilYear*/,
7104  10 /*untilMonth*/,
7105  5 /*untilDay*/,
7106  0 /*untilTimeCode (0/15)*/,
7107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7108  },
7109  // -6:00 Guat C%sT
7110  {
7111  &kZonePolicyGuat /*zonePolicy*/,
7112  "C%T" /*format*/,
7113  -1440 /*offsetCode (-21600/15)*/,
7114  0 /*offsetRemainder (-21600%15)*/,
7115  0 /*deltaMinutes*/,
7116  32767 /*untilYear*/,
7117  1 /*untilMonth*/,
7118  1 /*untilDay*/,
7119  0 /*untilTimeCode (0/15)*/,
7120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7121  },
7122 
7123 };
7124 
7125 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";
7126 
7127 const complete::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
7128  kZoneNameAmerica_Guatemala /*name*/,
7129  0x0c8259f7 /*zoneId*/,
7130  &kZoneContext /*zoneContext*/,
7131  2 /*numEras*/,
7132  kZoneEraAmerica_Guatemala /*eras*/,
7133  nullptr /*targetInfo*/,
7134 };
7135 
7136 //---------------------------------------------------------------------------
7137 // Zone name: America/Guayaquil
7138 // Eras: 3
7139 //---------------------------------------------------------------------------
7140 
7141 static const complete::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
7142  // -5:19:20 - LMT 1890
7143  {
7144  nullptr /*zonePolicy*/,
7145  "LMT" /*format*/,
7146  -1278 /*offsetCode (-19160/15)*/,
7147  10 /*offsetRemainder (-19160%15)*/,
7148  0 /*deltaMinutes*/,
7149  1890 /*untilYear*/,
7150  1 /*untilMonth*/,
7151  1 /*untilDay*/,
7152  0 /*untilTimeCode (0/15)*/,
7153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7154  },
7155  // -5:14:00 - QMT 1931
7156  {
7157  nullptr /*zonePolicy*/,
7158  "QMT" /*format*/,
7159  -1256 /*offsetCode (-18840/15)*/,
7160  0 /*offsetRemainder (-18840%15)*/,
7161  0 /*deltaMinutes*/,
7162  1931 /*untilYear*/,
7163  1 /*untilMonth*/,
7164  1 /*untilDay*/,
7165  0 /*untilTimeCode (0/15)*/,
7166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7167  },
7168  // -5:00 Ecuador %z
7169  {
7170  &kZonePolicyEcuador /*zonePolicy*/,
7171  "" /*format*/,
7172  -1200 /*offsetCode (-18000/15)*/,
7173  0 /*offsetRemainder (-18000%15)*/,
7174  0 /*deltaMinutes*/,
7175  32767 /*untilYear*/,
7176  1 /*untilMonth*/,
7177  1 /*untilDay*/,
7178  0 /*untilTimeCode (0/15)*/,
7179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7180  },
7181 
7182 };
7183 
7184 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";
7185 
7186 const complete::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
7187  kZoneNameAmerica_Guayaquil /*name*/,
7188  0x17e64958 /*zoneId*/,
7189  &kZoneContext /*zoneContext*/,
7190  3 /*numEras*/,
7191  kZoneEraAmerica_Guayaquil /*eras*/,
7192  nullptr /*targetInfo*/,
7193 };
7194 
7195 //---------------------------------------------------------------------------
7196 // Zone name: America/Guyana
7197 // Eras: 5
7198 //---------------------------------------------------------------------------
7199 
7200 static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
7201  // -3:52:39 - LMT 1911 Aug 1
7202  {
7203  nullptr /*zonePolicy*/,
7204  "LMT" /*format*/,
7205  -931 /*offsetCode (-13959/15)*/,
7206  6 /*offsetRemainder (-13959%15)*/,
7207  0 /*deltaMinutes*/,
7208  1911 /*untilYear*/,
7209  8 /*untilMonth*/,
7210  1 /*untilDay*/,
7211  0 /*untilTimeCode (0/15)*/,
7212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7213  },
7214  // -4:00 - %z 1915 Mar 1
7215  {
7216  nullptr /*zonePolicy*/,
7217  "" /*format*/,
7218  -960 /*offsetCode (-14400/15)*/,
7219  0 /*offsetRemainder (-14400%15)*/,
7220  0 /*deltaMinutes*/,
7221  1915 /*untilYear*/,
7222  3 /*untilMonth*/,
7223  1 /*untilDay*/,
7224  0 /*untilTimeCode (0/15)*/,
7225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7226  },
7227  // -3:45 - %z 1975 Aug 1
7228  {
7229  nullptr /*zonePolicy*/,
7230  "" /*format*/,
7231  -900 /*offsetCode (-13500/15)*/,
7232  0 /*offsetRemainder (-13500%15)*/,
7233  0 /*deltaMinutes*/,
7234  1975 /*untilYear*/,
7235  8 /*untilMonth*/,
7236  1 /*untilDay*/,
7237  0 /*untilTimeCode (0/15)*/,
7238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7239  },
7240  // -3:00 - %z 1992 Mar 29 1:00
7241  {
7242  nullptr /*zonePolicy*/,
7243  "" /*format*/,
7244  -720 /*offsetCode (-10800/15)*/,
7245  0 /*offsetRemainder (-10800%15)*/,
7246  0 /*deltaMinutes*/,
7247  1992 /*untilYear*/,
7248  3 /*untilMonth*/,
7249  29 /*untilDay*/,
7250  240 /*untilTimeCode (3600/15)*/,
7251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7252  },
7253  // -4:00 - %z
7254  {
7255  nullptr /*zonePolicy*/,
7256  "" /*format*/,
7257  -960 /*offsetCode (-14400/15)*/,
7258  0 /*offsetRemainder (-14400%15)*/,
7259  0 /*deltaMinutes*/,
7260  32767 /*untilYear*/,
7261  1 /*untilMonth*/,
7262  1 /*untilDay*/,
7263  0 /*untilTimeCode (0/15)*/,
7264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7265  },
7266 
7267 };
7268 
7269 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";
7270 
7271 const complete::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
7272  kZoneNameAmerica_Guyana /*name*/,
7273  0x9ff7bd0b /*zoneId*/,
7274  &kZoneContext /*zoneContext*/,
7275  5 /*numEras*/,
7276  kZoneEraAmerica_Guyana /*eras*/,
7277  nullptr /*targetInfo*/,
7278 };
7279 
7280 //---------------------------------------------------------------------------
7281 // Zone name: America/Halifax
7282 // Eras: 7
7283 //---------------------------------------------------------------------------
7284 
7285 static const complete::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
7286  // -4:14:24 - LMT 1902 Jun 15
7287  {
7288  nullptr /*zonePolicy*/,
7289  "LMT" /*format*/,
7290  -1018 /*offsetCode (-15264/15)*/,
7291  6 /*offsetRemainder (-15264%15)*/,
7292  0 /*deltaMinutes*/,
7293  1902 /*untilYear*/,
7294  6 /*untilMonth*/,
7295  15 /*untilDay*/,
7296  0 /*untilTimeCode (0/15)*/,
7297  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7298  },
7299  // -4:00 Halifax A%sT 1918
7300  {
7301  &kZonePolicyHalifax /*zonePolicy*/,
7302  "A%T" /*format*/,
7303  -960 /*offsetCode (-14400/15)*/,
7304  0 /*offsetRemainder (-14400%15)*/,
7305  0 /*deltaMinutes*/,
7306  1918 /*untilYear*/,
7307  1 /*untilMonth*/,
7308  1 /*untilDay*/,
7309  0 /*untilTimeCode (0/15)*/,
7310  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7311  },
7312  // -4:00 Canada A%sT 1919
7313  {
7314  &kZonePolicyCanada /*zonePolicy*/,
7315  "A%T" /*format*/,
7316  -960 /*offsetCode (-14400/15)*/,
7317  0 /*offsetRemainder (-14400%15)*/,
7318  0 /*deltaMinutes*/,
7319  1919 /*untilYear*/,
7320  1 /*untilMonth*/,
7321  1 /*untilDay*/,
7322  0 /*untilTimeCode (0/15)*/,
7323  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7324  },
7325  // -4:00 Halifax A%sT 1942 Feb 9 2:00s
7326  {
7327  &kZonePolicyHalifax /*zonePolicy*/,
7328  "A%T" /*format*/,
7329  -960 /*offsetCode (-14400/15)*/,
7330  0 /*offsetRemainder (-14400%15)*/,
7331  0 /*deltaMinutes*/,
7332  1942 /*untilYear*/,
7333  2 /*untilMonth*/,
7334  9 /*untilDay*/,
7335  480 /*untilTimeCode (7200/15)*/,
7336  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
7337  },
7338  // -4:00 Canada A%sT 1946
7339  {
7340  &kZonePolicyCanada /*zonePolicy*/,
7341  "A%T" /*format*/,
7342  -960 /*offsetCode (-14400/15)*/,
7343  0 /*offsetRemainder (-14400%15)*/,
7344  0 /*deltaMinutes*/,
7345  1946 /*untilYear*/,
7346  1 /*untilMonth*/,
7347  1 /*untilDay*/,
7348  0 /*untilTimeCode (0/15)*/,
7349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7350  },
7351  // -4:00 Halifax A%sT 1974
7352  {
7353  &kZonePolicyHalifax /*zonePolicy*/,
7354  "A%T" /*format*/,
7355  -960 /*offsetCode (-14400/15)*/,
7356  0 /*offsetRemainder (-14400%15)*/,
7357  0 /*deltaMinutes*/,
7358  1974 /*untilYear*/,
7359  1 /*untilMonth*/,
7360  1 /*untilDay*/,
7361  0 /*untilTimeCode (0/15)*/,
7362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7363  },
7364  // -4:00 Canada A%sT
7365  {
7366  &kZonePolicyCanada /*zonePolicy*/,
7367  "A%T" /*format*/,
7368  -960 /*offsetCode (-14400/15)*/,
7369  0 /*offsetRemainder (-14400%15)*/,
7370  0 /*deltaMinutes*/,
7371  32767 /*untilYear*/,
7372  1 /*untilMonth*/,
7373  1 /*untilDay*/,
7374  0 /*untilTimeCode (0/15)*/,
7375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7376  },
7377 
7378 };
7379 
7380 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";
7381 
7382 const complete::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
7383  kZoneNameAmerica_Halifax /*name*/,
7384  0xbc5b7183 /*zoneId*/,
7385  &kZoneContext /*zoneContext*/,
7386  7 /*numEras*/,
7387  kZoneEraAmerica_Halifax /*eras*/,
7388  nullptr /*targetInfo*/,
7389 };
7390 
7391 //---------------------------------------------------------------------------
7392 // Zone name: America/Havana
7393 // Eras: 3
7394 //---------------------------------------------------------------------------
7395 
7396 static const complete::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
7397  // -5:29:28 - LMT 1890
7398  {
7399  nullptr /*zonePolicy*/,
7400  "LMT" /*format*/,
7401  -1318 /*offsetCode (-19768/15)*/,
7402  2 /*offsetRemainder (-19768%15)*/,
7403  0 /*deltaMinutes*/,
7404  1890 /*untilYear*/,
7405  1 /*untilMonth*/,
7406  1 /*untilDay*/,
7407  0 /*untilTimeCode (0/15)*/,
7408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7409  },
7410  // -5:29:36 - HMT 1925 Jul 19 12:00
7411  {
7412  nullptr /*zonePolicy*/,
7413  "HMT" /*format*/,
7414  -1319 /*offsetCode (-19776/15)*/,
7415  9 /*offsetRemainder (-19776%15)*/,
7416  0 /*deltaMinutes*/,
7417  1925 /*untilYear*/,
7418  7 /*untilMonth*/,
7419  19 /*untilDay*/,
7420  2880 /*untilTimeCode (43200/15)*/,
7421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7422  },
7423  // -5:00 Cuba C%sT
7424  {
7425  &kZonePolicyCuba /*zonePolicy*/,
7426  "C%T" /*format*/,
7427  -1200 /*offsetCode (-18000/15)*/,
7428  0 /*offsetRemainder (-18000%15)*/,
7429  0 /*deltaMinutes*/,
7430  32767 /*untilYear*/,
7431  1 /*untilMonth*/,
7432  1 /*untilDay*/,
7433  0 /*untilTimeCode (0/15)*/,
7434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7435  },
7436 
7437 };
7438 
7439 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";
7440 
7441 const complete::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
7442  kZoneNameAmerica_Havana /*name*/,
7443  0xa0e15675 /*zoneId*/,
7444  &kZoneContext /*zoneContext*/,
7445  3 /*numEras*/,
7446  kZoneEraAmerica_Havana /*eras*/,
7447  nullptr /*targetInfo*/,
7448 };
7449 
7450 //---------------------------------------------------------------------------
7451 // Zone name: America/Hermosillo
7452 // Eras: 8
7453 //---------------------------------------------------------------------------
7454 
7455 static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
7456  // -7:23:52 - LMT 1922 Jan 1 7:00u
7457  {
7458  nullptr /*zonePolicy*/,
7459  "LMT" /*format*/,
7460  -1776 /*offsetCode (-26632/15)*/,
7461  8 /*offsetRemainder (-26632%15)*/,
7462  0 /*deltaMinutes*/,
7463  1922 /*untilYear*/,
7464  1 /*untilMonth*/,
7465  1 /*untilDay*/,
7466  1680 /*untilTimeCode (25200/15)*/,
7467  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7468  },
7469  // -7:00 - MST 1927 Jun 10
7470  {
7471  nullptr /*zonePolicy*/,
7472  "MST" /*format*/,
7473  -1680 /*offsetCode (-25200/15)*/,
7474  0 /*offsetRemainder (-25200%15)*/,
7475  0 /*deltaMinutes*/,
7476  1927 /*untilYear*/,
7477  6 /*untilMonth*/,
7478  10 /*untilDay*/,
7479  0 /*untilTimeCode (0/15)*/,
7480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7481  },
7482  // -6:00 - CST 1930 Nov 15
7483  {
7484  nullptr /*zonePolicy*/,
7485  "CST" /*format*/,
7486  -1440 /*offsetCode (-21600/15)*/,
7487  0 /*offsetRemainder (-21600%15)*/,
7488  0 /*deltaMinutes*/,
7489  1930 /*untilYear*/,
7490  11 /*untilMonth*/,
7491  15 /*untilDay*/,
7492  0 /*untilTimeCode (0/15)*/,
7493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7494  },
7495  // -7:00 Mexico M%sT 1932 Apr 1
7496  {
7497  &kZonePolicyMexico /*zonePolicy*/,
7498  "M%T" /*format*/,
7499  -1680 /*offsetCode (-25200/15)*/,
7500  0 /*offsetRemainder (-25200%15)*/,
7501  0 /*deltaMinutes*/,
7502  1932 /*untilYear*/,
7503  4 /*untilMonth*/,
7504  1 /*untilDay*/,
7505  0 /*untilTimeCode (0/15)*/,
7506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7507  },
7508  // -6:00 - CST 1942 Apr 24
7509  {
7510  nullptr /*zonePolicy*/,
7511  "CST" /*format*/,
7512  -1440 /*offsetCode (-21600/15)*/,
7513  0 /*offsetRemainder (-21600%15)*/,
7514  0 /*deltaMinutes*/,
7515  1942 /*untilYear*/,
7516  4 /*untilMonth*/,
7517  24 /*untilDay*/,
7518  0 /*untilTimeCode (0/15)*/,
7519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7520  },
7521  // -7:00 - MST 1996
7522  {
7523  nullptr /*zonePolicy*/,
7524  "MST" /*format*/,
7525  -1680 /*offsetCode (-25200/15)*/,
7526  0 /*offsetRemainder (-25200%15)*/,
7527  0 /*deltaMinutes*/,
7528  1996 /*untilYear*/,
7529  1 /*untilMonth*/,
7530  1 /*untilDay*/,
7531  0 /*untilTimeCode (0/15)*/,
7532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7533  },
7534  // -7:00 Mexico M%sT 1999
7535  {
7536  &kZonePolicyMexico /*zonePolicy*/,
7537  "M%T" /*format*/,
7538  -1680 /*offsetCode (-25200/15)*/,
7539  0 /*offsetRemainder (-25200%15)*/,
7540  0 /*deltaMinutes*/,
7541  1999 /*untilYear*/,
7542  1 /*untilMonth*/,
7543  1 /*untilDay*/,
7544  0 /*untilTimeCode (0/15)*/,
7545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7546  },
7547  // -7:00 - MST
7548  {
7549  nullptr /*zonePolicy*/,
7550  "MST" /*format*/,
7551  -1680 /*offsetCode (-25200/15)*/,
7552  0 /*offsetRemainder (-25200%15)*/,
7553  0 /*deltaMinutes*/,
7554  32767 /*untilYear*/,
7555  1 /*untilMonth*/,
7556  1 /*untilDay*/,
7557  0 /*untilTimeCode (0/15)*/,
7558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7559  },
7560 
7561 };
7562 
7563 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";
7564 
7565 const complete::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
7566  kZoneNameAmerica_Hermosillo /*name*/,
7567  0x065d21c4 /*zoneId*/,
7568  &kZoneContext /*zoneContext*/,
7569  8 /*numEras*/,
7570  kZoneEraAmerica_Hermosillo /*eras*/,
7571  nullptr /*targetInfo*/,
7572 };
7573 
7574 //---------------------------------------------------------------------------
7575 // Zone name: America/Indiana/Indianapolis
7576 // Eras: 11
7577 //---------------------------------------------------------------------------
7578 
7579 static const complete::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
7580  // -5:44:38 - LMT 1883 Nov 18 18:00u
7581  {
7582  nullptr /*zonePolicy*/,
7583  "LMT" /*format*/,
7584  -1379 /*offsetCode (-20678/15)*/,
7585  7 /*offsetRemainder (-20678%15)*/,
7586  0 /*deltaMinutes*/,
7587  1883 /*untilYear*/,
7588  11 /*untilMonth*/,
7589  18 /*untilDay*/,
7590  4320 /*untilTimeCode (64800/15)*/,
7591  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7592  },
7593  // -6:00 US C%sT 1920
7594  {
7595  &kZonePolicyUS /*zonePolicy*/,
7596  "C%T" /*format*/,
7597  -1440 /*offsetCode (-21600/15)*/,
7598  0 /*offsetRemainder (-21600%15)*/,
7599  0 /*deltaMinutes*/,
7600  1920 /*untilYear*/,
7601  1 /*untilMonth*/,
7602  1 /*untilDay*/,
7603  0 /*untilTimeCode (0/15)*/,
7604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7605  },
7606  // -6:00 Indianapolis C%sT 1942
7607  {
7608  &kZonePolicyIndianapolis /*zonePolicy*/,
7609  "C%T" /*format*/,
7610  -1440 /*offsetCode (-21600/15)*/,
7611  0 /*offsetRemainder (-21600%15)*/,
7612  0 /*deltaMinutes*/,
7613  1942 /*untilYear*/,
7614  1 /*untilMonth*/,
7615  1 /*untilDay*/,
7616  0 /*untilTimeCode (0/15)*/,
7617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7618  },
7619  // -6:00 US C%sT 1946
7620  {
7621  &kZonePolicyUS /*zonePolicy*/,
7622  "C%T" /*format*/,
7623  -1440 /*offsetCode (-21600/15)*/,
7624  0 /*offsetRemainder (-21600%15)*/,
7625  0 /*deltaMinutes*/,
7626  1946 /*untilYear*/,
7627  1 /*untilMonth*/,
7628  1 /*untilDay*/,
7629  0 /*untilTimeCode (0/15)*/,
7630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7631  },
7632  // -6:00 Indianapolis C%sT 1955 Apr 24 2:00
7633  {
7634  &kZonePolicyIndianapolis /*zonePolicy*/,
7635  "C%T" /*format*/,
7636  -1440 /*offsetCode (-21600/15)*/,
7637  0 /*offsetRemainder (-21600%15)*/,
7638  0 /*deltaMinutes*/,
7639  1955 /*untilYear*/,
7640  4 /*untilMonth*/,
7641  24 /*untilDay*/,
7642  480 /*untilTimeCode (7200/15)*/,
7643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7644  },
7645  // -5:00 - EST 1957 Sep 29 2:00
7646  {
7647  nullptr /*zonePolicy*/,
7648  "EST" /*format*/,
7649  -1200 /*offsetCode (-18000/15)*/,
7650  0 /*offsetRemainder (-18000%15)*/,
7651  0 /*deltaMinutes*/,
7652  1957 /*untilYear*/,
7653  9 /*untilMonth*/,
7654  29 /*untilDay*/,
7655  480 /*untilTimeCode (7200/15)*/,
7656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7657  },
7658  // -6:00 - CST 1958 Apr 27 2:00
7659  {
7660  nullptr /*zonePolicy*/,
7661  "CST" /*format*/,
7662  -1440 /*offsetCode (-21600/15)*/,
7663  0 /*offsetRemainder (-21600%15)*/,
7664  0 /*deltaMinutes*/,
7665  1958 /*untilYear*/,
7666  4 /*untilMonth*/,
7667  27 /*untilDay*/,
7668  480 /*untilTimeCode (7200/15)*/,
7669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7670  },
7671  // -5:00 - EST 1969
7672  {
7673  nullptr /*zonePolicy*/,
7674  "EST" /*format*/,
7675  -1200 /*offsetCode (-18000/15)*/,
7676  0 /*offsetRemainder (-18000%15)*/,
7677  0 /*deltaMinutes*/,
7678  1969 /*untilYear*/,
7679  1 /*untilMonth*/,
7680  1 /*untilDay*/,
7681  0 /*untilTimeCode (0/15)*/,
7682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7683  },
7684  // -5:00 US E%sT 1971
7685  {
7686  &kZonePolicyUS /*zonePolicy*/,
7687  "E%T" /*format*/,
7688  -1200 /*offsetCode (-18000/15)*/,
7689  0 /*offsetRemainder (-18000%15)*/,
7690  0 /*deltaMinutes*/,
7691  1971 /*untilYear*/,
7692  1 /*untilMonth*/,
7693  1 /*untilDay*/,
7694  0 /*untilTimeCode (0/15)*/,
7695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7696  },
7697  // -5:00 - EST 2006
7698  {
7699  nullptr /*zonePolicy*/,
7700  "EST" /*format*/,
7701  -1200 /*offsetCode (-18000/15)*/,
7702  0 /*offsetRemainder (-18000%15)*/,
7703  0 /*deltaMinutes*/,
7704  2006 /*untilYear*/,
7705  1 /*untilMonth*/,
7706  1 /*untilDay*/,
7707  0 /*untilTimeCode (0/15)*/,
7708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7709  },
7710  // -5:00 US E%sT
7711  {
7712  &kZonePolicyUS /*zonePolicy*/,
7713  "E%T" /*format*/,
7714  -1200 /*offsetCode (-18000/15)*/,
7715  0 /*offsetRemainder (-18000%15)*/,
7716  0 /*deltaMinutes*/,
7717  32767 /*untilYear*/,
7718  1 /*untilMonth*/,
7719  1 /*untilDay*/,
7720  0 /*untilTimeCode (0/15)*/,
7721  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7722  },
7723 
7724 };
7725 
7726 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Indianapolis";
7727 
7728 const complete::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
7729  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
7730  0x28a669a4 /*zoneId*/,
7731  &kZoneContext /*zoneContext*/,
7732  11 /*numEras*/,
7733  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
7734  nullptr /*targetInfo*/,
7735 };
7736 
7737 //---------------------------------------------------------------------------
7738 // Zone name: America/Indiana/Knox
7739 // Eras: 7
7740 //---------------------------------------------------------------------------
7741 
7742 static const complete::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
7743  // -5:46:30 - LMT 1883 Nov 18 18:00u
7744  {
7745  nullptr /*zonePolicy*/,
7746  "LMT" /*format*/,
7747  -1386 /*offsetCode (-20790/15)*/,
7748  0 /*offsetRemainder (-20790%15)*/,
7749  0 /*deltaMinutes*/,
7750  1883 /*untilYear*/,
7751  11 /*untilMonth*/,
7752  18 /*untilDay*/,
7753  4320 /*untilTimeCode (64800/15)*/,
7754  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7755  },
7756  // -6:00 US C%sT 1947
7757  {
7758  &kZonePolicyUS /*zonePolicy*/,
7759  "C%T" /*format*/,
7760  -1440 /*offsetCode (-21600/15)*/,
7761  0 /*offsetRemainder (-21600%15)*/,
7762  0 /*deltaMinutes*/,
7763  1947 /*untilYear*/,
7764  1 /*untilMonth*/,
7765  1 /*untilDay*/,
7766  0 /*untilTimeCode (0/15)*/,
7767  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7768  },
7769  // -6:00 Starke C%sT 1962 Apr 29 2:00
7770  {
7771  &kZonePolicyStarke /*zonePolicy*/,
7772  "C%T" /*format*/,
7773  -1440 /*offsetCode (-21600/15)*/,
7774  0 /*offsetRemainder (-21600%15)*/,
7775  0 /*deltaMinutes*/,
7776  1962 /*untilYear*/,
7777  4 /*untilMonth*/,
7778  29 /*untilDay*/,
7779  480 /*untilTimeCode (7200/15)*/,
7780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7781  },
7782  // -5:00 - EST 1963 Oct 27 2:00
7783  {
7784  nullptr /*zonePolicy*/,
7785  "EST" /*format*/,
7786  -1200 /*offsetCode (-18000/15)*/,
7787  0 /*offsetRemainder (-18000%15)*/,
7788  0 /*deltaMinutes*/,
7789  1963 /*untilYear*/,
7790  10 /*untilMonth*/,
7791  27 /*untilDay*/,
7792  480 /*untilTimeCode (7200/15)*/,
7793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7794  },
7795  // -6:00 US C%sT 1991 Oct 27 2:00
7796  {
7797  &kZonePolicyUS /*zonePolicy*/,
7798  "C%T" /*format*/,
7799  -1440 /*offsetCode (-21600/15)*/,
7800  0 /*offsetRemainder (-21600%15)*/,
7801  0 /*deltaMinutes*/,
7802  1991 /*untilYear*/,
7803  10 /*untilMonth*/,
7804  27 /*untilDay*/,
7805  480 /*untilTimeCode (7200/15)*/,
7806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7807  },
7808  // -5:00 - EST 2006 Apr 2 2:00
7809  {
7810  nullptr /*zonePolicy*/,
7811  "EST" /*format*/,
7812  -1200 /*offsetCode (-18000/15)*/,
7813  0 /*offsetRemainder (-18000%15)*/,
7814  0 /*deltaMinutes*/,
7815  2006 /*untilYear*/,
7816  4 /*untilMonth*/,
7817  2 /*untilDay*/,
7818  480 /*untilTimeCode (7200/15)*/,
7819  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7820  },
7821  // -6:00 US C%sT
7822  {
7823  &kZonePolicyUS /*zonePolicy*/,
7824  "C%T" /*format*/,
7825  -1440 /*offsetCode (-21600/15)*/,
7826  0 /*offsetRemainder (-21600%15)*/,
7827  0 /*deltaMinutes*/,
7828  32767 /*untilYear*/,
7829  1 /*untilMonth*/,
7830  1 /*untilDay*/,
7831  0 /*untilTimeCode (0/15)*/,
7832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7833  },
7834 
7835 };
7836 
7837 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Knox";
7838 
7839 const complete::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
7840  kZoneNameAmerica_Indiana_Knox /*name*/,
7841  0x6554adc9 /*zoneId*/,
7842  &kZoneContext /*zoneContext*/,
7843  7 /*numEras*/,
7844  kZoneEraAmerica_Indiana_Knox /*eras*/,
7845  nullptr /*targetInfo*/,
7846 };
7847 
7848 //---------------------------------------------------------------------------
7849 // Zone name: America/Indiana/Marengo
7850 // Eras: 9
7851 //---------------------------------------------------------------------------
7852 
7853 static const complete::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
7854  // -5:45:23 - LMT 1883 Nov 18 18:00u
7855  {
7856  nullptr /*zonePolicy*/,
7857  "LMT" /*format*/,
7858  -1382 /*offsetCode (-20723/15)*/,
7859  7 /*offsetRemainder (-20723%15)*/,
7860  0 /*deltaMinutes*/,
7861  1883 /*untilYear*/,
7862  11 /*untilMonth*/,
7863  18 /*untilDay*/,
7864  4320 /*untilTimeCode (64800/15)*/,
7865  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7866  },
7867  // -6:00 US C%sT 1951
7868  {
7869  &kZonePolicyUS /*zonePolicy*/,
7870  "C%T" /*format*/,
7871  -1440 /*offsetCode (-21600/15)*/,
7872  0 /*offsetRemainder (-21600%15)*/,
7873  0 /*deltaMinutes*/,
7874  1951 /*untilYear*/,
7875  1 /*untilMonth*/,
7876  1 /*untilDay*/,
7877  0 /*untilTimeCode (0/15)*/,
7878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7879  },
7880  // -6:00 Marengo C%sT 1961 Apr 30 2:00
7881  {
7882  &kZonePolicyMarengo /*zonePolicy*/,
7883  "C%T" /*format*/,
7884  -1440 /*offsetCode (-21600/15)*/,
7885  0 /*offsetRemainder (-21600%15)*/,
7886  0 /*deltaMinutes*/,
7887  1961 /*untilYear*/,
7888  4 /*untilMonth*/,
7889  30 /*untilDay*/,
7890  480 /*untilTimeCode (7200/15)*/,
7891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7892  },
7893  // -5:00 - EST 1969
7894  {
7895  nullptr /*zonePolicy*/,
7896  "EST" /*format*/,
7897  -1200 /*offsetCode (-18000/15)*/,
7898  0 /*offsetRemainder (-18000%15)*/,
7899  0 /*deltaMinutes*/,
7900  1969 /*untilYear*/,
7901  1 /*untilMonth*/,
7902  1 /*untilDay*/,
7903  0 /*untilTimeCode (0/15)*/,
7904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7905  },
7906  // -5:00 US E%sT 1974 Jan 6 2:00
7907  {
7908  &kZonePolicyUS /*zonePolicy*/,
7909  "E%T" /*format*/,
7910  -1200 /*offsetCode (-18000/15)*/,
7911  0 /*offsetRemainder (-18000%15)*/,
7912  0 /*deltaMinutes*/,
7913  1974 /*untilYear*/,
7914  1 /*untilMonth*/,
7915  6 /*untilDay*/,
7916  480 /*untilTimeCode (7200/15)*/,
7917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7918  },
7919  // -6:00 1:00 CDT 1974 Oct 27 2:00
7920  {
7921  nullptr /*zonePolicy*/,
7922  "CDT" /*format*/,
7923  -1440 /*offsetCode (-21600/15)*/,
7924  0 /*offsetRemainder (-21600%15)*/,
7925  60 /*deltaMinutes*/,
7926  1974 /*untilYear*/,
7927  10 /*untilMonth*/,
7928  27 /*untilDay*/,
7929  480 /*untilTimeCode (7200/15)*/,
7930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7931  },
7932  // -5:00 US E%sT 1976
7933  {
7934  &kZonePolicyUS /*zonePolicy*/,
7935  "E%T" /*format*/,
7936  -1200 /*offsetCode (-18000/15)*/,
7937  0 /*offsetRemainder (-18000%15)*/,
7938  0 /*deltaMinutes*/,
7939  1976 /*untilYear*/,
7940  1 /*untilMonth*/,
7941  1 /*untilDay*/,
7942  0 /*untilTimeCode (0/15)*/,
7943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7944  },
7945  // -5:00 - EST 2006
7946  {
7947  nullptr /*zonePolicy*/,
7948  "EST" /*format*/,
7949  -1200 /*offsetCode (-18000/15)*/,
7950  0 /*offsetRemainder (-18000%15)*/,
7951  0 /*deltaMinutes*/,
7952  2006 /*untilYear*/,
7953  1 /*untilMonth*/,
7954  1 /*untilDay*/,
7955  0 /*untilTimeCode (0/15)*/,
7956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7957  },
7958  // -5:00 US E%sT
7959  {
7960  &kZonePolicyUS /*zonePolicy*/,
7961  "E%T" /*format*/,
7962  -1200 /*offsetCode (-18000/15)*/,
7963  0 /*offsetRemainder (-18000%15)*/,
7964  0 /*deltaMinutes*/,
7965  32767 /*untilYear*/,
7966  1 /*untilMonth*/,
7967  1 /*untilDay*/,
7968  0 /*untilTimeCode (0/15)*/,
7969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7970  },
7971 
7972 };
7973 
7974 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Marengo";
7975 
7976 const complete::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
7977  kZoneNameAmerica_Indiana_Marengo /*name*/,
7978  0x2feeee72 /*zoneId*/,
7979  &kZoneContext /*zoneContext*/,
7980  9 /*numEras*/,
7981  kZoneEraAmerica_Indiana_Marengo /*eras*/,
7982  nullptr /*targetInfo*/,
7983 };
7984 
7985 //---------------------------------------------------------------------------
7986 // Zone name: America/Indiana/Petersburg
7987 // Eras: 8
7988 //---------------------------------------------------------------------------
7989 
7990 static const complete::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
7991  // -5:49:07 - LMT 1883 Nov 18 18:00u
7992  {
7993  nullptr /*zonePolicy*/,
7994  "LMT" /*format*/,
7995  -1397 /*offsetCode (-20947/15)*/,
7996  8 /*offsetRemainder (-20947%15)*/,
7997  0 /*deltaMinutes*/,
7998  1883 /*untilYear*/,
7999  11 /*untilMonth*/,
8000  18 /*untilDay*/,
8001  4320 /*untilTimeCode (64800/15)*/,
8002  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8003  },
8004  // -6:00 US C%sT 1955
8005  {
8006  &kZonePolicyUS /*zonePolicy*/,
8007  "C%T" /*format*/,
8008  -1440 /*offsetCode (-21600/15)*/,
8009  0 /*offsetRemainder (-21600%15)*/,
8010  0 /*deltaMinutes*/,
8011  1955 /*untilYear*/,
8012  1 /*untilMonth*/,
8013  1 /*untilDay*/,
8014  0 /*untilTimeCode (0/15)*/,
8015  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8016  },
8017  // -6:00 Pike C%sT 1965 Apr 25 2:00
8018  {
8019  &kZonePolicyPike /*zonePolicy*/,
8020  "C%T" /*format*/,
8021  -1440 /*offsetCode (-21600/15)*/,
8022  0 /*offsetRemainder (-21600%15)*/,
8023  0 /*deltaMinutes*/,
8024  1965 /*untilYear*/,
8025  4 /*untilMonth*/,
8026  25 /*untilDay*/,
8027  480 /*untilTimeCode (7200/15)*/,
8028  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8029  },
8030  // -5:00 - EST 1966 Oct 30 2:00
8031  {
8032  nullptr /*zonePolicy*/,
8033  "EST" /*format*/,
8034  -1200 /*offsetCode (-18000/15)*/,
8035  0 /*offsetRemainder (-18000%15)*/,
8036  0 /*deltaMinutes*/,
8037  1966 /*untilYear*/,
8038  10 /*untilMonth*/,
8039  30 /*untilDay*/,
8040  480 /*untilTimeCode (7200/15)*/,
8041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8042  },
8043  // -6:00 US C%sT 1977 Oct 30 2:00
8044  {
8045  &kZonePolicyUS /*zonePolicy*/,
8046  "C%T" /*format*/,
8047  -1440 /*offsetCode (-21600/15)*/,
8048  0 /*offsetRemainder (-21600%15)*/,
8049  0 /*deltaMinutes*/,
8050  1977 /*untilYear*/,
8051  10 /*untilMonth*/,
8052  30 /*untilDay*/,
8053  480 /*untilTimeCode (7200/15)*/,
8054  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8055  },
8056  // -5:00 - EST 2006 Apr 2 2:00
8057  {
8058  nullptr /*zonePolicy*/,
8059  "EST" /*format*/,
8060  -1200 /*offsetCode (-18000/15)*/,
8061  0 /*offsetRemainder (-18000%15)*/,
8062  0 /*deltaMinutes*/,
8063  2006 /*untilYear*/,
8064  4 /*untilMonth*/,
8065  2 /*untilDay*/,
8066  480 /*untilTimeCode (7200/15)*/,
8067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8068  },
8069  // -6:00 US C%sT 2007 Nov 4 2:00
8070  {
8071  &kZonePolicyUS /*zonePolicy*/,
8072  "C%T" /*format*/,
8073  -1440 /*offsetCode (-21600/15)*/,
8074  0 /*offsetRemainder (-21600%15)*/,
8075  0 /*deltaMinutes*/,
8076  2007 /*untilYear*/,
8077  11 /*untilMonth*/,
8078  4 /*untilDay*/,
8079  480 /*untilTimeCode (7200/15)*/,
8080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8081  },
8082  // -5:00 US E%sT
8083  {
8084  &kZonePolicyUS /*zonePolicy*/,
8085  "E%T" /*format*/,
8086  -1200 /*offsetCode (-18000/15)*/,
8087  0 /*offsetRemainder (-18000%15)*/,
8088  0 /*deltaMinutes*/,
8089  32767 /*untilYear*/,
8090  1 /*untilMonth*/,
8091  1 /*untilDay*/,
8092  0 /*untilTimeCode (0/15)*/,
8093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8094  },
8095 
8096 };
8097 
8098 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Petersburg";
8099 
8100 const complete::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
8101  kZoneNameAmerica_Indiana_Petersburg /*name*/,
8102  0x94ac7acc /*zoneId*/,
8103  &kZoneContext /*zoneContext*/,
8104  8 /*numEras*/,
8105  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
8106  nullptr /*targetInfo*/,
8107 };
8108 
8109 //---------------------------------------------------------------------------
8110 // Zone name: America/Indiana/Tell_City
8111 // Eras: 8
8112 //---------------------------------------------------------------------------
8113 
8114 static const complete::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
8115  // -5:47:03 - LMT 1883 Nov 18 18:00u
8116  {
8117  nullptr /*zonePolicy*/,
8118  "LMT" /*format*/,
8119  -1389 /*offsetCode (-20823/15)*/,
8120  12 /*offsetRemainder (-20823%15)*/,
8121  0 /*deltaMinutes*/,
8122  1883 /*untilYear*/,
8123  11 /*untilMonth*/,
8124  18 /*untilDay*/,
8125  4320 /*untilTimeCode (64800/15)*/,
8126  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8127  },
8128  // -6:00 US C%sT 1946
8129  {
8130  &kZonePolicyUS /*zonePolicy*/,
8131  "C%T" /*format*/,
8132  -1440 /*offsetCode (-21600/15)*/,
8133  0 /*offsetRemainder (-21600%15)*/,
8134  0 /*deltaMinutes*/,
8135  1946 /*untilYear*/,
8136  1 /*untilMonth*/,
8137  1 /*untilDay*/,
8138  0 /*untilTimeCode (0/15)*/,
8139  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8140  },
8141  // -6:00 Perry C%sT 1964 Apr 26 2:00
8142  {
8143  &kZonePolicyPerry /*zonePolicy*/,
8144  "C%T" /*format*/,
8145  -1440 /*offsetCode (-21600/15)*/,
8146  0 /*offsetRemainder (-21600%15)*/,
8147  0 /*deltaMinutes*/,
8148  1964 /*untilYear*/,
8149  4 /*untilMonth*/,
8150  26 /*untilDay*/,
8151  480 /*untilTimeCode (7200/15)*/,
8152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8153  },
8154  // -5:00 - EST 1967 Oct 29 2:00
8155  {
8156  nullptr /*zonePolicy*/,
8157  "EST" /*format*/,
8158  -1200 /*offsetCode (-18000/15)*/,
8159  0 /*offsetRemainder (-18000%15)*/,
8160  0 /*deltaMinutes*/,
8161  1967 /*untilYear*/,
8162  10 /*untilMonth*/,
8163  29 /*untilDay*/,
8164  480 /*untilTimeCode (7200/15)*/,
8165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8166  },
8167  // -6:00 US C%sT 1969 Apr 27 2:00
8168  {
8169  &kZonePolicyUS /*zonePolicy*/,
8170  "C%T" /*format*/,
8171  -1440 /*offsetCode (-21600/15)*/,
8172  0 /*offsetRemainder (-21600%15)*/,
8173  0 /*deltaMinutes*/,
8174  1969 /*untilYear*/,
8175  4 /*untilMonth*/,
8176  27 /*untilDay*/,
8177  480 /*untilTimeCode (7200/15)*/,
8178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8179  },
8180  // -5:00 US E%sT 1971
8181  {
8182  &kZonePolicyUS /*zonePolicy*/,
8183  "E%T" /*format*/,
8184  -1200 /*offsetCode (-18000/15)*/,
8185  0 /*offsetRemainder (-18000%15)*/,
8186  0 /*deltaMinutes*/,
8187  1971 /*untilYear*/,
8188  1 /*untilMonth*/,
8189  1 /*untilDay*/,
8190  0 /*untilTimeCode (0/15)*/,
8191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8192  },
8193  // -5:00 - EST 2006 Apr 2 2:00
8194  {
8195  nullptr /*zonePolicy*/,
8196  "EST" /*format*/,
8197  -1200 /*offsetCode (-18000/15)*/,
8198  0 /*offsetRemainder (-18000%15)*/,
8199  0 /*deltaMinutes*/,
8200  2006 /*untilYear*/,
8201  4 /*untilMonth*/,
8202  2 /*untilDay*/,
8203  480 /*untilTimeCode (7200/15)*/,
8204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8205  },
8206  // -6:00 US C%sT
8207  {
8208  &kZonePolicyUS /*zonePolicy*/,
8209  "C%T" /*format*/,
8210  -1440 /*offsetCode (-21600/15)*/,
8211  0 /*offsetRemainder (-21600%15)*/,
8212  0 /*deltaMinutes*/,
8213  32767 /*untilYear*/,
8214  1 /*untilMonth*/,
8215  1 /*untilDay*/,
8216  0 /*untilTimeCode (0/15)*/,
8217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8218  },
8219 
8220 };
8221 
8222 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Tell_City";
8223 
8224 const complete::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
8225  kZoneNameAmerica_Indiana_Tell_City /*name*/,
8226  0x09263612 /*zoneId*/,
8227  &kZoneContext /*zoneContext*/,
8228  8 /*numEras*/,
8229  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
8230  nullptr /*targetInfo*/,
8231 };
8232 
8233 //---------------------------------------------------------------------------
8234 // Zone name: America/Indiana/Vevay
8235 // Eras: 6
8236 //---------------------------------------------------------------------------
8237 
8238 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
8239  // -5:40:16 - LMT 1883 Nov 18 18:00u
8240  {
8241  nullptr /*zonePolicy*/,
8242  "LMT" /*format*/,
8243  -1362 /*offsetCode (-20416/15)*/,
8244  14 /*offsetRemainder (-20416%15)*/,
8245  0 /*deltaMinutes*/,
8246  1883 /*untilYear*/,
8247  11 /*untilMonth*/,
8248  18 /*untilDay*/,
8249  4320 /*untilTimeCode (64800/15)*/,
8250  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8251  },
8252  // -6:00 US C%sT 1954 Apr 25 2:00
8253  {
8254  &kZonePolicyUS /*zonePolicy*/,
8255  "C%T" /*format*/,
8256  -1440 /*offsetCode (-21600/15)*/,
8257  0 /*offsetRemainder (-21600%15)*/,
8258  0 /*deltaMinutes*/,
8259  1954 /*untilYear*/,
8260  4 /*untilMonth*/,
8261  25 /*untilDay*/,
8262  480 /*untilTimeCode (7200/15)*/,
8263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8264  },
8265  // -5:00 - EST 1969
8266  {
8267  nullptr /*zonePolicy*/,
8268  "EST" /*format*/,
8269  -1200 /*offsetCode (-18000/15)*/,
8270  0 /*offsetRemainder (-18000%15)*/,
8271  0 /*deltaMinutes*/,
8272  1969 /*untilYear*/,
8273  1 /*untilMonth*/,
8274  1 /*untilDay*/,
8275  0 /*untilTimeCode (0/15)*/,
8276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8277  },
8278  // -5:00 US E%sT 1973
8279  {
8280  &kZonePolicyUS /*zonePolicy*/,
8281  "E%T" /*format*/,
8282  -1200 /*offsetCode (-18000/15)*/,
8283  0 /*offsetRemainder (-18000%15)*/,
8284  0 /*deltaMinutes*/,
8285  1973 /*untilYear*/,
8286  1 /*untilMonth*/,
8287  1 /*untilDay*/,
8288  0 /*untilTimeCode (0/15)*/,
8289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8290  },
8291  // -5:00 - EST 2006
8292  {
8293  nullptr /*zonePolicy*/,
8294  "EST" /*format*/,
8295  -1200 /*offsetCode (-18000/15)*/,
8296  0 /*offsetRemainder (-18000%15)*/,
8297  0 /*deltaMinutes*/,
8298  2006 /*untilYear*/,
8299  1 /*untilMonth*/,
8300  1 /*untilDay*/,
8301  0 /*untilTimeCode (0/15)*/,
8302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8303  },
8304  // -5:00 US E%sT
8305  {
8306  &kZonePolicyUS /*zonePolicy*/,
8307  "E%T" /*format*/,
8308  -1200 /*offsetCode (-18000/15)*/,
8309  0 /*offsetRemainder (-18000%15)*/,
8310  0 /*deltaMinutes*/,
8311  32767 /*untilYear*/,
8312  1 /*untilMonth*/,
8313  1 /*untilDay*/,
8314  0 /*untilTimeCode (0/15)*/,
8315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8316  },
8317 
8318 };
8319 
8320 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vevay";
8321 
8322 const complete::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
8323  kZoneNameAmerica_Indiana_Vevay /*name*/,
8324  0x10aca054 /*zoneId*/,
8325  &kZoneContext /*zoneContext*/,
8326  6 /*numEras*/,
8327  kZoneEraAmerica_Indiana_Vevay /*eras*/,
8328  nullptr /*targetInfo*/,
8329 };
8330 
8331 //---------------------------------------------------------------------------
8332 // Zone name: America/Indiana/Vincennes
8333 // Eras: 8
8334 //---------------------------------------------------------------------------
8335 
8336 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
8337  // -5:50:07 - LMT 1883 Nov 18 18:00u
8338  {
8339  nullptr /*zonePolicy*/,
8340  "LMT" /*format*/,
8341  -1401 /*offsetCode (-21007/15)*/,
8342  8 /*offsetRemainder (-21007%15)*/,
8343  0 /*deltaMinutes*/,
8344  1883 /*untilYear*/,
8345  11 /*untilMonth*/,
8346  18 /*untilDay*/,
8347  4320 /*untilTimeCode (64800/15)*/,
8348  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8349  },
8350  // -6:00 US C%sT 1946
8351  {
8352  &kZonePolicyUS /*zonePolicy*/,
8353  "C%T" /*format*/,
8354  -1440 /*offsetCode (-21600/15)*/,
8355  0 /*offsetRemainder (-21600%15)*/,
8356  0 /*deltaMinutes*/,
8357  1946 /*untilYear*/,
8358  1 /*untilMonth*/,
8359  1 /*untilDay*/,
8360  0 /*untilTimeCode (0/15)*/,
8361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8362  },
8363  // -6:00 Vincennes C%sT 1964 Apr 26 2:00
8364  {
8365  &kZonePolicyVincennes /*zonePolicy*/,
8366  "C%T" /*format*/,
8367  -1440 /*offsetCode (-21600/15)*/,
8368  0 /*offsetRemainder (-21600%15)*/,
8369  0 /*deltaMinutes*/,
8370  1964 /*untilYear*/,
8371  4 /*untilMonth*/,
8372  26 /*untilDay*/,
8373  480 /*untilTimeCode (7200/15)*/,
8374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8375  },
8376  // -5:00 - EST 1969
8377  {
8378  nullptr /*zonePolicy*/,
8379  "EST" /*format*/,
8380  -1200 /*offsetCode (-18000/15)*/,
8381  0 /*offsetRemainder (-18000%15)*/,
8382  0 /*deltaMinutes*/,
8383  1969 /*untilYear*/,
8384  1 /*untilMonth*/,
8385  1 /*untilDay*/,
8386  0 /*untilTimeCode (0/15)*/,
8387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8388  },
8389  // -5:00 US E%sT 1971
8390  {
8391  &kZonePolicyUS /*zonePolicy*/,
8392  "E%T" /*format*/,
8393  -1200 /*offsetCode (-18000/15)*/,
8394  0 /*offsetRemainder (-18000%15)*/,
8395  0 /*deltaMinutes*/,
8396  1971 /*untilYear*/,
8397  1 /*untilMonth*/,
8398  1 /*untilDay*/,
8399  0 /*untilTimeCode (0/15)*/,
8400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8401  },
8402  // -5:00 - EST 2006 Apr 2 2:00
8403  {
8404  nullptr /*zonePolicy*/,
8405  "EST" /*format*/,
8406  -1200 /*offsetCode (-18000/15)*/,
8407  0 /*offsetRemainder (-18000%15)*/,
8408  0 /*deltaMinutes*/,
8409  2006 /*untilYear*/,
8410  4 /*untilMonth*/,
8411  2 /*untilDay*/,
8412  480 /*untilTimeCode (7200/15)*/,
8413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8414  },
8415  // -6:00 US C%sT 2007 Nov 4 2:00
8416  {
8417  &kZonePolicyUS /*zonePolicy*/,
8418  "C%T" /*format*/,
8419  -1440 /*offsetCode (-21600/15)*/,
8420  0 /*offsetRemainder (-21600%15)*/,
8421  0 /*deltaMinutes*/,
8422  2007 /*untilYear*/,
8423  11 /*untilMonth*/,
8424  4 /*untilDay*/,
8425  480 /*untilTimeCode (7200/15)*/,
8426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8427  },
8428  // -5:00 US E%sT
8429  {
8430  &kZonePolicyUS /*zonePolicy*/,
8431  "E%T" /*format*/,
8432  -1200 /*offsetCode (-18000/15)*/,
8433  0 /*offsetRemainder (-18000%15)*/,
8434  0 /*deltaMinutes*/,
8435  32767 /*untilYear*/,
8436  1 /*untilMonth*/,
8437  1 /*untilDay*/,
8438  0 /*untilTimeCode (0/15)*/,
8439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8440  },
8441 
8442 };
8443 
8444 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vincennes";
8445 
8446 const complete::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
8447  kZoneNameAmerica_Indiana_Vincennes /*name*/,
8448  0x28a0b212 /*zoneId*/,
8449  &kZoneContext /*zoneContext*/,
8450  8 /*numEras*/,
8451  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
8452  nullptr /*targetInfo*/,
8453 };
8454 
8455 //---------------------------------------------------------------------------
8456 // Zone name: America/Indiana/Winamac
8457 // Eras: 8
8458 //---------------------------------------------------------------------------
8459 
8460 static const complete::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
8461  // -5:46:25 - LMT 1883 Nov 18 18:00u
8462  {
8463  nullptr /*zonePolicy*/,
8464  "LMT" /*format*/,
8465  -1386 /*offsetCode (-20785/15)*/,
8466  5 /*offsetRemainder (-20785%15)*/,
8467  0 /*deltaMinutes*/,
8468  1883 /*untilYear*/,
8469  11 /*untilMonth*/,
8470  18 /*untilDay*/,
8471  4320 /*untilTimeCode (64800/15)*/,
8472  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8473  },
8474  // -6:00 US C%sT 1946
8475  {
8476  &kZonePolicyUS /*zonePolicy*/,
8477  "C%T" /*format*/,
8478  -1440 /*offsetCode (-21600/15)*/,
8479  0 /*offsetRemainder (-21600%15)*/,
8480  0 /*deltaMinutes*/,
8481  1946 /*untilYear*/,
8482  1 /*untilMonth*/,
8483  1 /*untilDay*/,
8484  0 /*untilTimeCode (0/15)*/,
8485  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8486  },
8487  // -6:00 Pulaski C%sT 1961 Apr 30 2:00
8488  {
8489  &kZonePolicyPulaski /*zonePolicy*/,
8490  "C%T" /*format*/,
8491  -1440 /*offsetCode (-21600/15)*/,
8492  0 /*offsetRemainder (-21600%15)*/,
8493  0 /*deltaMinutes*/,
8494  1961 /*untilYear*/,
8495  4 /*untilMonth*/,
8496  30 /*untilDay*/,
8497  480 /*untilTimeCode (7200/15)*/,
8498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8499  },
8500  // -5:00 - EST 1969
8501  {
8502  nullptr /*zonePolicy*/,
8503  "EST" /*format*/,
8504  -1200 /*offsetCode (-18000/15)*/,
8505  0 /*offsetRemainder (-18000%15)*/,
8506  0 /*deltaMinutes*/,
8507  1969 /*untilYear*/,
8508  1 /*untilMonth*/,
8509  1 /*untilDay*/,
8510  0 /*untilTimeCode (0/15)*/,
8511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8512  },
8513  // -5:00 US E%sT 1971
8514  {
8515  &kZonePolicyUS /*zonePolicy*/,
8516  "E%T" /*format*/,
8517  -1200 /*offsetCode (-18000/15)*/,
8518  0 /*offsetRemainder (-18000%15)*/,
8519  0 /*deltaMinutes*/,
8520  1971 /*untilYear*/,
8521  1 /*untilMonth*/,
8522  1 /*untilDay*/,
8523  0 /*untilTimeCode (0/15)*/,
8524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8525  },
8526  // -5:00 - EST 2006 Apr 2 2:00
8527  {
8528  nullptr /*zonePolicy*/,
8529  "EST" /*format*/,
8530  -1200 /*offsetCode (-18000/15)*/,
8531  0 /*offsetRemainder (-18000%15)*/,
8532  0 /*deltaMinutes*/,
8533  2006 /*untilYear*/,
8534  4 /*untilMonth*/,
8535  2 /*untilDay*/,
8536  480 /*untilTimeCode (7200/15)*/,
8537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8538  },
8539  // -6:00 US C%sT 2007 Mar 11 2:00
8540  {
8541  &kZonePolicyUS /*zonePolicy*/,
8542  "C%T" /*format*/,
8543  -1440 /*offsetCode (-21600/15)*/,
8544  0 /*offsetRemainder (-21600%15)*/,
8545  0 /*deltaMinutes*/,
8546  2007 /*untilYear*/,
8547  3 /*untilMonth*/,
8548  11 /*untilDay*/,
8549  480 /*untilTimeCode (7200/15)*/,
8550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8551  },
8552  // -5:00 US E%sT
8553  {
8554  &kZonePolicyUS /*zonePolicy*/,
8555  "E%T" /*format*/,
8556  -1200 /*offsetCode (-18000/15)*/,
8557  0 /*offsetRemainder (-18000%15)*/,
8558  0 /*deltaMinutes*/,
8559  32767 /*untilYear*/,
8560  1 /*untilMonth*/,
8561  1 /*untilDay*/,
8562  0 /*untilTimeCode (0/15)*/,
8563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8564  },
8565 
8566 };
8567 
8568 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Winamac";
8569 
8570 const complete::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
8571  kZoneNameAmerica_Indiana_Winamac /*name*/,
8572  0x4413fa69 /*zoneId*/,
8573  &kZoneContext /*zoneContext*/,
8574  8 /*numEras*/,
8575  kZoneEraAmerica_Indiana_Winamac /*eras*/,
8576  nullptr /*targetInfo*/,
8577 };
8578 
8579 //---------------------------------------------------------------------------
8580 // Zone name: America/Inuvik
8581 // Eras: 4
8582 //---------------------------------------------------------------------------
8583 
8584 static const complete::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
8585  // 0 - -00 1953
8586  {
8587  nullptr /*zonePolicy*/,
8588  "-00" /*format*/,
8589  0 /*offsetCode (0/15)*/,
8590  0 /*offsetRemainder (0%15)*/,
8591  0 /*deltaMinutes*/,
8592  1953 /*untilYear*/,
8593  1 /*untilMonth*/,
8594  1 /*untilDay*/,
8595  0 /*untilTimeCode (0/15)*/,
8596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8597  },
8598  // -8:00 NT_YK P%sT 1979 Apr lastSun 2:00
8599  {
8600  &kZonePolicyNT_YK /*zonePolicy*/,
8601  "P%T" /*format*/,
8602  -1920 /*offsetCode (-28800/15)*/,
8603  0 /*offsetRemainder (-28800%15)*/,
8604  0 /*deltaMinutes*/,
8605  1979 /*untilYear*/,
8606  4 /*untilMonth*/,
8607  29 /*untilDay*/,
8608  480 /*untilTimeCode (7200/15)*/,
8609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8610  },
8611  // -7:00 NT_YK M%sT 1980
8612  {
8613  &kZonePolicyNT_YK /*zonePolicy*/,
8614  "M%T" /*format*/,
8615  -1680 /*offsetCode (-25200/15)*/,
8616  0 /*offsetRemainder (-25200%15)*/,
8617  0 /*deltaMinutes*/,
8618  1980 /*untilYear*/,
8619  1 /*untilMonth*/,
8620  1 /*untilDay*/,
8621  0 /*untilTimeCode (0/15)*/,
8622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8623  },
8624  // -7:00 Canada M%sT
8625  {
8626  &kZonePolicyCanada /*zonePolicy*/,
8627  "M%T" /*format*/,
8628  -1680 /*offsetCode (-25200/15)*/,
8629  0 /*offsetRemainder (-25200%15)*/,
8630  0 /*deltaMinutes*/,
8631  32767 /*untilYear*/,
8632  1 /*untilMonth*/,
8633  1 /*untilDay*/,
8634  0 /*untilTimeCode (0/15)*/,
8635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8636  },
8637 
8638 };
8639 
8640 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";
8641 
8642 const complete::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
8643  kZoneNameAmerica_Inuvik /*name*/,
8644  0xa42189fc /*zoneId*/,
8645  &kZoneContext /*zoneContext*/,
8646  4 /*numEras*/,
8647  kZoneEraAmerica_Inuvik /*eras*/,
8648  nullptr /*targetInfo*/,
8649 };
8650 
8651 //---------------------------------------------------------------------------
8652 // Zone name: America/Iqaluit
8653 // Eras: 4
8654 //---------------------------------------------------------------------------
8655 
8656 static const complete::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
8657  // 0 - -00 1942 Aug
8658  {
8659  nullptr /*zonePolicy*/,
8660  "-00" /*format*/,
8661  0 /*offsetCode (0/15)*/,
8662  0 /*offsetRemainder (0%15)*/,
8663  0 /*deltaMinutes*/,
8664  1942 /*untilYear*/,
8665  8 /*untilMonth*/,
8666  1 /*untilDay*/,
8667  0 /*untilTimeCode (0/15)*/,
8668  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8669  },
8670  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
8671  {
8672  &kZonePolicyNT_YK /*zonePolicy*/,
8673  "E%T" /*format*/,
8674  -1200 /*offsetCode (-18000/15)*/,
8675  0 /*offsetRemainder (-18000%15)*/,
8676  0 /*deltaMinutes*/,
8677  1999 /*untilYear*/,
8678  10 /*untilMonth*/,
8679  31 /*untilDay*/,
8680  480 /*untilTimeCode (7200/15)*/,
8681  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8682  },
8683  // -6:00 Canada C%sT 2000 Oct 29 2:00
8684  {
8685  &kZonePolicyCanada /*zonePolicy*/,
8686  "C%T" /*format*/,
8687  -1440 /*offsetCode (-21600/15)*/,
8688  0 /*offsetRemainder (-21600%15)*/,
8689  0 /*deltaMinutes*/,
8690  2000 /*untilYear*/,
8691  10 /*untilMonth*/,
8692  29 /*untilDay*/,
8693  480 /*untilTimeCode (7200/15)*/,
8694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8695  },
8696  // -5:00 Canada E%sT
8697  {
8698  &kZonePolicyCanada /*zonePolicy*/,
8699  "E%T" /*format*/,
8700  -1200 /*offsetCode (-18000/15)*/,
8701  0 /*offsetRemainder (-18000%15)*/,
8702  0 /*deltaMinutes*/,
8703  32767 /*untilYear*/,
8704  1 /*untilMonth*/,
8705  1 /*untilDay*/,
8706  0 /*untilTimeCode (0/15)*/,
8707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8708  },
8709 
8710 };
8711 
8712 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "\x02" "Iqaluit";
8713 
8714 const complete::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
8715  kZoneNameAmerica_Iqaluit /*name*/,
8716  0x2de310bf /*zoneId*/,
8717  &kZoneContext /*zoneContext*/,
8718  4 /*numEras*/,
8719  kZoneEraAmerica_Iqaluit /*eras*/,
8720  nullptr /*targetInfo*/,
8721 };
8722 
8723 //---------------------------------------------------------------------------
8724 // Zone name: America/Jamaica
8725 // Eras: 5
8726 //---------------------------------------------------------------------------
8727 
8728 static const complete::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
8729  // -5:07:10 - LMT 1890
8730  {
8731  nullptr /*zonePolicy*/,
8732  "LMT" /*format*/,
8733  -1229 /*offsetCode (-18430/15)*/,
8734  5 /*offsetRemainder (-18430%15)*/,
8735  0 /*deltaMinutes*/,
8736  1890 /*untilYear*/,
8737  1 /*untilMonth*/,
8738  1 /*untilDay*/,
8739  0 /*untilTimeCode (0/15)*/,
8740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8741  },
8742  // -5:07:10 - KMT 1912 Feb
8743  {
8744  nullptr /*zonePolicy*/,
8745  "KMT" /*format*/,
8746  -1229 /*offsetCode (-18430/15)*/,
8747  5 /*offsetRemainder (-18430%15)*/,
8748  0 /*deltaMinutes*/,
8749  1912 /*untilYear*/,
8750  2 /*untilMonth*/,
8751  1 /*untilDay*/,
8752  0 /*untilTimeCode (0/15)*/,
8753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8754  },
8755  // -5:00 - EST 1974
8756  {
8757  nullptr /*zonePolicy*/,
8758  "EST" /*format*/,
8759  -1200 /*offsetCode (-18000/15)*/,
8760  0 /*offsetRemainder (-18000%15)*/,
8761  0 /*deltaMinutes*/,
8762  1974 /*untilYear*/,
8763  1 /*untilMonth*/,
8764  1 /*untilDay*/,
8765  0 /*untilTimeCode (0/15)*/,
8766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8767  },
8768  // -5:00 US E%sT 1984
8769  {
8770  &kZonePolicyUS /*zonePolicy*/,
8771  "E%T" /*format*/,
8772  -1200 /*offsetCode (-18000/15)*/,
8773  0 /*offsetRemainder (-18000%15)*/,
8774  0 /*deltaMinutes*/,
8775  1984 /*untilYear*/,
8776  1 /*untilMonth*/,
8777  1 /*untilDay*/,
8778  0 /*untilTimeCode (0/15)*/,
8779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8780  },
8781  // -5:00 - EST
8782  {
8783  nullptr /*zonePolicy*/,
8784  "EST" /*format*/,
8785  -1200 /*offsetCode (-18000/15)*/,
8786  0 /*offsetRemainder (-18000%15)*/,
8787  0 /*deltaMinutes*/,
8788  32767 /*untilYear*/,
8789  1 /*untilMonth*/,
8790  1 /*untilDay*/,
8791  0 /*untilTimeCode (0/15)*/,
8792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8793  },
8794 
8795 };
8796 
8797 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";
8798 
8799 const complete::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
8800  kZoneNameAmerica_Jamaica /*name*/,
8801  0x565dad6c /*zoneId*/,
8802  &kZoneContext /*zoneContext*/,
8803  5 /*numEras*/,
8804  kZoneEraAmerica_Jamaica /*eras*/,
8805  nullptr /*targetInfo*/,
8806 };
8807 
8808 //---------------------------------------------------------------------------
8809 // Zone name: America/Juneau
8810 // Eras: 10
8811 //---------------------------------------------------------------------------
8812 
8813 static const complete::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
8814  // 15:02:19 - LMT 1867 Oct 19 15:33:32
8815  {
8816  nullptr /*zonePolicy*/,
8817  "LMT" /*format*/,
8818  3609 /*offsetCode (54139/15)*/,
8819  4 /*offsetRemainder (54139%15)*/,
8820  0 /*deltaMinutes*/,
8821  1867 /*untilYear*/,
8822  10 /*untilMonth*/,
8823  19 /*untilDay*/,
8824  3734 /*untilTimeCode (56012/15)*/,
8825  2 /*untilTimeModifier (kAtcSuffixW + seconds=2)*/,
8826  },
8827  // -8:57:41 - LMT 1900 Aug 20 12:00
8828  {
8829  nullptr /*zonePolicy*/,
8830  "LMT" /*format*/,
8831  -2151 /*offsetCode (-32261/15)*/,
8832  4 /*offsetRemainder (-32261%15)*/,
8833  0 /*deltaMinutes*/,
8834  1900 /*untilYear*/,
8835  8 /*untilMonth*/,
8836  20 /*untilDay*/,
8837  2880 /*untilTimeCode (43200/15)*/,
8838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8839  },
8840  // -8:00 - PST 1942
8841  {
8842  nullptr /*zonePolicy*/,
8843  "PST" /*format*/,
8844  -1920 /*offsetCode (-28800/15)*/,
8845  0 /*offsetRemainder (-28800%15)*/,
8846  0 /*deltaMinutes*/,
8847  1942 /*untilYear*/,
8848  1 /*untilMonth*/,
8849  1 /*untilDay*/,
8850  0 /*untilTimeCode (0/15)*/,
8851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8852  },
8853  // -8:00 US P%sT 1946
8854  {
8855  &kZonePolicyUS /*zonePolicy*/,
8856  "P%T" /*format*/,
8857  -1920 /*offsetCode (-28800/15)*/,
8858  0 /*offsetRemainder (-28800%15)*/,
8859  0 /*deltaMinutes*/,
8860  1946 /*untilYear*/,
8861  1 /*untilMonth*/,
8862  1 /*untilDay*/,
8863  0 /*untilTimeCode (0/15)*/,
8864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8865  },
8866  // -8:00 - PST 1969
8867  {
8868  nullptr /*zonePolicy*/,
8869  "PST" /*format*/,
8870  -1920 /*offsetCode (-28800/15)*/,
8871  0 /*offsetRemainder (-28800%15)*/,
8872  0 /*deltaMinutes*/,
8873  1969 /*untilYear*/,
8874  1 /*untilMonth*/,
8875  1 /*untilDay*/,
8876  0 /*untilTimeCode (0/15)*/,
8877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8878  },
8879  // -8:00 US P%sT 1980 Apr 27 2:00
8880  {
8881  &kZonePolicyUS /*zonePolicy*/,
8882  "P%T" /*format*/,
8883  -1920 /*offsetCode (-28800/15)*/,
8884  0 /*offsetRemainder (-28800%15)*/,
8885  0 /*deltaMinutes*/,
8886  1980 /*untilYear*/,
8887  4 /*untilMonth*/,
8888  27 /*untilDay*/,
8889  480 /*untilTimeCode (7200/15)*/,
8890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8891  },
8892  // -9:00 US Y%sT 1980 Oct 26 2:00
8893  {
8894  &kZonePolicyUS /*zonePolicy*/,
8895  "Y%T" /*format*/,
8896  -2160 /*offsetCode (-32400/15)*/,
8897  0 /*offsetRemainder (-32400%15)*/,
8898  0 /*deltaMinutes*/,
8899  1980 /*untilYear*/,
8900  10 /*untilMonth*/,
8901  26 /*untilDay*/,
8902  480 /*untilTimeCode (7200/15)*/,
8903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8904  },
8905  // -8:00 US P%sT 1983 Oct 30 2:00
8906  {
8907  &kZonePolicyUS /*zonePolicy*/,
8908  "P%T" /*format*/,
8909  -1920 /*offsetCode (-28800/15)*/,
8910  0 /*offsetRemainder (-28800%15)*/,
8911  0 /*deltaMinutes*/,
8912  1983 /*untilYear*/,
8913  10 /*untilMonth*/,
8914  30 /*untilDay*/,
8915  480 /*untilTimeCode (7200/15)*/,
8916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8917  },
8918  // -9:00 US Y%sT 1983 Nov 30
8919  {
8920  &kZonePolicyUS /*zonePolicy*/,
8921  "Y%T" /*format*/,
8922  -2160 /*offsetCode (-32400/15)*/,
8923  0 /*offsetRemainder (-32400%15)*/,
8924  0 /*deltaMinutes*/,
8925  1983 /*untilYear*/,
8926  11 /*untilMonth*/,
8927  30 /*untilDay*/,
8928  0 /*untilTimeCode (0/15)*/,
8929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8930  },
8931  // -9:00 US AK%sT
8932  {
8933  &kZonePolicyUS /*zonePolicy*/,
8934  "AK%T" /*format*/,
8935  -2160 /*offsetCode (-32400/15)*/,
8936  0 /*offsetRemainder (-32400%15)*/,
8937  0 /*deltaMinutes*/,
8938  32767 /*untilYear*/,
8939  1 /*untilMonth*/,
8940  1 /*untilDay*/,
8941  0 /*untilTimeCode (0/15)*/,
8942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8943  },
8944 
8945 };
8946 
8947 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";
8948 
8949 const complete::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
8950  kZoneNameAmerica_Juneau /*name*/,
8951  0xa6f13e2e /*zoneId*/,
8952  &kZoneContext /*zoneContext*/,
8953  10 /*numEras*/,
8954  kZoneEraAmerica_Juneau /*eras*/,
8955  nullptr /*targetInfo*/,
8956 };
8957 
8958 //---------------------------------------------------------------------------
8959 // Zone name: America/Kentucky/Louisville
8960 // Eras: 9
8961 //---------------------------------------------------------------------------
8962 
8963 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
8964  // -5:43:02 - LMT 1883 Nov 18 18:00u
8965  {
8966  nullptr /*zonePolicy*/,
8967  "LMT" /*format*/,
8968  -1373 /*offsetCode (-20582/15)*/,
8969  13 /*offsetRemainder (-20582%15)*/,
8970  0 /*deltaMinutes*/,
8971  1883 /*untilYear*/,
8972  11 /*untilMonth*/,
8973  18 /*untilDay*/,
8974  4320 /*untilTimeCode (64800/15)*/,
8975  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8976  },
8977  // -6:00 US C%sT 1921
8978  {
8979  &kZonePolicyUS /*zonePolicy*/,
8980  "C%T" /*format*/,
8981  -1440 /*offsetCode (-21600/15)*/,
8982  0 /*offsetRemainder (-21600%15)*/,
8983  0 /*deltaMinutes*/,
8984  1921 /*untilYear*/,
8985  1 /*untilMonth*/,
8986  1 /*untilDay*/,
8987  0 /*untilTimeCode (0/15)*/,
8988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8989  },
8990  // -6:00 Louisville C%sT 1942
8991  {
8992  &kZonePolicyLouisville /*zonePolicy*/,
8993  "C%T" /*format*/,
8994  -1440 /*offsetCode (-21600/15)*/,
8995  0 /*offsetRemainder (-21600%15)*/,
8996  0 /*deltaMinutes*/,
8997  1942 /*untilYear*/,
8998  1 /*untilMonth*/,
8999  1 /*untilDay*/,
9000  0 /*untilTimeCode (0/15)*/,
9001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9002  },
9003  // -6:00 US C%sT 1946
9004  {
9005  &kZonePolicyUS /*zonePolicy*/,
9006  "C%T" /*format*/,
9007  -1440 /*offsetCode (-21600/15)*/,
9008  0 /*offsetRemainder (-21600%15)*/,
9009  0 /*deltaMinutes*/,
9010  1946 /*untilYear*/,
9011  1 /*untilMonth*/,
9012  1 /*untilDay*/,
9013  0 /*untilTimeCode (0/15)*/,
9014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9015  },
9016  // -6:00 Louisville C%sT 1961 Jul 23 2:00
9017  {
9018  &kZonePolicyLouisville /*zonePolicy*/,
9019  "C%T" /*format*/,
9020  -1440 /*offsetCode (-21600/15)*/,
9021  0 /*offsetRemainder (-21600%15)*/,
9022  0 /*deltaMinutes*/,
9023  1961 /*untilYear*/,
9024  7 /*untilMonth*/,
9025  23 /*untilDay*/,
9026  480 /*untilTimeCode (7200/15)*/,
9027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9028  },
9029  // -5:00 - EST 1968
9030  {
9031  nullptr /*zonePolicy*/,
9032  "EST" /*format*/,
9033  -1200 /*offsetCode (-18000/15)*/,
9034  0 /*offsetRemainder (-18000%15)*/,
9035  0 /*deltaMinutes*/,
9036  1968 /*untilYear*/,
9037  1 /*untilMonth*/,
9038  1 /*untilDay*/,
9039  0 /*untilTimeCode (0/15)*/,
9040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9041  },
9042  // -5:00 US E%sT 1974 Jan 6 2:00
9043  {
9044  &kZonePolicyUS /*zonePolicy*/,
9045  "E%T" /*format*/,
9046  -1200 /*offsetCode (-18000/15)*/,
9047  0 /*offsetRemainder (-18000%15)*/,
9048  0 /*deltaMinutes*/,
9049  1974 /*untilYear*/,
9050  1 /*untilMonth*/,
9051  6 /*untilDay*/,
9052  480 /*untilTimeCode (7200/15)*/,
9053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9054  },
9055  // -6:00 1:00 CDT 1974 Oct 27 2:00
9056  {
9057  nullptr /*zonePolicy*/,
9058  "CDT" /*format*/,
9059  -1440 /*offsetCode (-21600/15)*/,
9060  0 /*offsetRemainder (-21600%15)*/,
9061  60 /*deltaMinutes*/,
9062  1974 /*untilYear*/,
9063  10 /*untilMonth*/,
9064  27 /*untilDay*/,
9065  480 /*untilTimeCode (7200/15)*/,
9066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9067  },
9068  // -5:00 US E%sT
9069  {
9070  &kZonePolicyUS /*zonePolicy*/,
9071  "E%T" /*format*/,
9072  -1200 /*offsetCode (-18000/15)*/,
9073  0 /*offsetRemainder (-18000%15)*/,
9074  0 /*deltaMinutes*/,
9075  32767 /*untilYear*/,
9076  1 /*untilMonth*/,
9077  1 /*untilDay*/,
9078  0 /*untilTimeCode (0/15)*/,
9079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9080  },
9081 
9082 };
9083 
9084 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";
9085 
9086 const complete::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
9087  kZoneNameAmerica_Kentucky_Louisville /*name*/,
9088  0x1a21024b /*zoneId*/,
9089  &kZoneContext /*zoneContext*/,
9090  9 /*numEras*/,
9091  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
9092  nullptr /*targetInfo*/,
9093 };
9094 
9095 //---------------------------------------------------------------------------
9096 // Zone name: America/Kentucky/Monticello
9097 // Eras: 5
9098 //---------------------------------------------------------------------------
9099 
9100 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
9101  // -5:39:24 - LMT 1883 Nov 18 18:00u
9102  {
9103  nullptr /*zonePolicy*/,
9104  "LMT" /*format*/,
9105  -1358 /*offsetCode (-20364/15)*/,
9106  6 /*offsetRemainder (-20364%15)*/,
9107  0 /*deltaMinutes*/,
9108  1883 /*untilYear*/,
9109  11 /*untilMonth*/,
9110  18 /*untilDay*/,
9111  4320 /*untilTimeCode (64800/15)*/,
9112  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9113  },
9114  // -6:00 US C%sT 1946
9115  {
9116  &kZonePolicyUS /*zonePolicy*/,
9117  "C%T" /*format*/,
9118  -1440 /*offsetCode (-21600/15)*/,
9119  0 /*offsetRemainder (-21600%15)*/,
9120  0 /*deltaMinutes*/,
9121  1946 /*untilYear*/,
9122  1 /*untilMonth*/,
9123  1 /*untilDay*/,
9124  0 /*untilTimeCode (0/15)*/,
9125  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9126  },
9127  // -6:00 - CST 1968
9128  {
9129  nullptr /*zonePolicy*/,
9130  "CST" /*format*/,
9131  -1440 /*offsetCode (-21600/15)*/,
9132  0 /*offsetRemainder (-21600%15)*/,
9133  0 /*deltaMinutes*/,
9134  1968 /*untilYear*/,
9135  1 /*untilMonth*/,
9136  1 /*untilDay*/,
9137  0 /*untilTimeCode (0/15)*/,
9138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9139  },
9140  // -6:00 US C%sT 2000 Oct 29 2:00
9141  {
9142  &kZonePolicyUS /*zonePolicy*/,
9143  "C%T" /*format*/,
9144  -1440 /*offsetCode (-21600/15)*/,
9145  0 /*offsetRemainder (-21600%15)*/,
9146  0 /*deltaMinutes*/,
9147  2000 /*untilYear*/,
9148  10 /*untilMonth*/,
9149  29 /*untilDay*/,
9150  480 /*untilTimeCode (7200/15)*/,
9151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9152  },
9153  // -5:00 US E%sT
9154  {
9155  &kZonePolicyUS /*zonePolicy*/,
9156  "E%T" /*format*/,
9157  -1200 /*offsetCode (-18000/15)*/,
9158  0 /*offsetRemainder (-18000%15)*/,
9159  0 /*deltaMinutes*/,
9160  32767 /*untilYear*/,
9161  1 /*untilMonth*/,
9162  1 /*untilDay*/,
9163  0 /*untilTimeCode (0/15)*/,
9164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9165  },
9166 
9167 };
9168 
9169 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Monticello";
9170 
9171 const complete::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
9172  kZoneNameAmerica_Kentucky_Monticello /*name*/,
9173  0xde71c439 /*zoneId*/,
9174  &kZoneContext /*zoneContext*/,
9175  5 /*numEras*/,
9176  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
9177  nullptr /*targetInfo*/,
9178 };
9179 
9180 //---------------------------------------------------------------------------
9181 // Zone name: America/La_Paz
9182 // Eras: 4
9183 //---------------------------------------------------------------------------
9184 
9185 static const complete::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
9186  // -4:32:36 - LMT 1890
9187  {
9188  nullptr /*zonePolicy*/,
9189  "LMT" /*format*/,
9190  -1091 /*offsetCode (-16356/15)*/,
9191  9 /*offsetRemainder (-16356%15)*/,
9192  0 /*deltaMinutes*/,
9193  1890 /*untilYear*/,
9194  1 /*untilMonth*/,
9195  1 /*untilDay*/,
9196  0 /*untilTimeCode (0/15)*/,
9197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9198  },
9199  // -4:32:36 - CMT 1931 Oct 15
9200  {
9201  nullptr /*zonePolicy*/,
9202  "CMT" /*format*/,
9203  -1091 /*offsetCode (-16356/15)*/,
9204  9 /*offsetRemainder (-16356%15)*/,
9205  0 /*deltaMinutes*/,
9206  1931 /*untilYear*/,
9207  10 /*untilMonth*/,
9208  15 /*untilDay*/,
9209  0 /*untilTimeCode (0/15)*/,
9210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9211  },
9212  // -4:32:36 1:00 BST 1932 Mar 21
9213  {
9214  nullptr /*zonePolicy*/,
9215  "BST" /*format*/,
9216  -1091 /*offsetCode (-16356/15)*/,
9217  9 /*offsetRemainder (-16356%15)*/,
9218  60 /*deltaMinutes*/,
9219  1932 /*untilYear*/,
9220  3 /*untilMonth*/,
9221  21 /*untilDay*/,
9222  0 /*untilTimeCode (0/15)*/,
9223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9224  },
9225  // -4:00 - %z
9226  {
9227  nullptr /*zonePolicy*/,
9228  "" /*format*/,
9229  -960 /*offsetCode (-14400/15)*/,
9230  0 /*offsetRemainder (-14400%15)*/,
9231  0 /*deltaMinutes*/,
9232  32767 /*untilYear*/,
9233  1 /*untilMonth*/,
9234  1 /*untilDay*/,
9235  0 /*untilTimeCode (0/15)*/,
9236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9237  },
9238 
9239 };
9240 
9241 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";
9242 
9243 const complete::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
9244  kZoneNameAmerica_La_Paz /*name*/,
9245  0xaa29125d /*zoneId*/,
9246  &kZoneContext /*zoneContext*/,
9247  4 /*numEras*/,
9248  kZoneEraAmerica_La_Paz /*eras*/,
9249  nullptr /*targetInfo*/,
9250 };
9251 
9252 //---------------------------------------------------------------------------
9253 // Zone name: America/Lima
9254 // Eras: 3
9255 //---------------------------------------------------------------------------
9256 
9257 static const complete::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
9258  // -5:08:12 - LMT 1890
9259  {
9260  nullptr /*zonePolicy*/,
9261  "LMT" /*format*/,
9262  -1233 /*offsetCode (-18492/15)*/,
9263  3 /*offsetRemainder (-18492%15)*/,
9264  0 /*deltaMinutes*/,
9265  1890 /*untilYear*/,
9266  1 /*untilMonth*/,
9267  1 /*untilDay*/,
9268  0 /*untilTimeCode (0/15)*/,
9269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9270  },
9271  // -5:08:36 - LMT 1908 Jul 28
9272  {
9273  nullptr /*zonePolicy*/,
9274  "LMT" /*format*/,
9275  -1235 /*offsetCode (-18516/15)*/,
9276  9 /*offsetRemainder (-18516%15)*/,
9277  0 /*deltaMinutes*/,
9278  1908 /*untilYear*/,
9279  7 /*untilMonth*/,
9280  28 /*untilDay*/,
9281  0 /*untilTimeCode (0/15)*/,
9282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9283  },
9284  // -5:00 Peru %z
9285  {
9286  &kZonePolicyPeru /*zonePolicy*/,
9287  "" /*format*/,
9288  -1200 /*offsetCode (-18000/15)*/,
9289  0 /*offsetRemainder (-18000%15)*/,
9290  0 /*deltaMinutes*/,
9291  32767 /*untilYear*/,
9292  1 /*untilMonth*/,
9293  1 /*untilDay*/,
9294  0 /*untilTimeCode (0/15)*/,
9295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9296  },
9297 
9298 };
9299 
9300 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";
9301 
9302 const complete::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
9303  kZoneNameAmerica_Lima /*name*/,
9304  0x980468c9 /*zoneId*/,
9305  &kZoneContext /*zoneContext*/,
9306  3 /*numEras*/,
9307  kZoneEraAmerica_Lima /*eras*/,
9308  nullptr /*targetInfo*/,
9309 };
9310 
9311 //---------------------------------------------------------------------------
9312 // Zone name: America/Los_Angeles
9313 // Eras: 4
9314 //---------------------------------------------------------------------------
9315 
9316 static const complete::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
9317  // -7:52:58 - LMT 1883 Nov 18 20:00u
9318  {
9319  nullptr /*zonePolicy*/,
9320  "LMT" /*format*/,
9321  -1892 /*offsetCode (-28378/15)*/,
9322  2 /*offsetRemainder (-28378%15)*/,
9323  0 /*deltaMinutes*/,
9324  1883 /*untilYear*/,
9325  11 /*untilMonth*/,
9326  18 /*untilDay*/,
9327  4800 /*untilTimeCode (72000/15)*/,
9328  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9329  },
9330  // -8:00 US P%sT 1946
9331  {
9332  &kZonePolicyUS /*zonePolicy*/,
9333  "P%T" /*format*/,
9334  -1920 /*offsetCode (-28800/15)*/,
9335  0 /*offsetRemainder (-28800%15)*/,
9336  0 /*deltaMinutes*/,
9337  1946 /*untilYear*/,
9338  1 /*untilMonth*/,
9339  1 /*untilDay*/,
9340  0 /*untilTimeCode (0/15)*/,
9341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9342  },
9343  // -8:00 CA P%sT 1967
9344  {
9345  &kZonePolicyCA /*zonePolicy*/,
9346  "P%T" /*format*/,
9347  -1920 /*offsetCode (-28800/15)*/,
9348  0 /*offsetRemainder (-28800%15)*/,
9349  0 /*deltaMinutes*/,
9350  1967 /*untilYear*/,
9351  1 /*untilMonth*/,
9352  1 /*untilDay*/,
9353  0 /*untilTimeCode (0/15)*/,
9354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9355  },
9356  // -8:00 US P%sT
9357  {
9358  &kZonePolicyUS /*zonePolicy*/,
9359  "P%T" /*format*/,
9360  -1920 /*offsetCode (-28800/15)*/,
9361  0 /*offsetRemainder (-28800%15)*/,
9362  0 /*deltaMinutes*/,
9363  32767 /*untilYear*/,
9364  1 /*untilMonth*/,
9365  1 /*untilDay*/,
9366  0 /*untilTimeCode (0/15)*/,
9367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9368  },
9369 
9370 };
9371 
9372 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";
9373 
9374 const complete::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
9375  kZoneNameAmerica_Los_Angeles /*name*/,
9376  0xb7f7e8f2 /*zoneId*/,
9377  &kZoneContext /*zoneContext*/,
9378  4 /*numEras*/,
9379  kZoneEraAmerica_Los_Angeles /*eras*/,
9380  nullptr /*targetInfo*/,
9381 };
9382 
9383 //---------------------------------------------------------------------------
9384 // Zone name: America/Maceio
9385 // Eras: 9
9386 //---------------------------------------------------------------------------
9387 
9388 static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
9389  // -2:22:52 - LMT 1914
9390  {
9391  nullptr /*zonePolicy*/,
9392  "LMT" /*format*/,
9393  -572 /*offsetCode (-8572/15)*/,
9394  8 /*offsetRemainder (-8572%15)*/,
9395  0 /*deltaMinutes*/,
9396  1914 /*untilYear*/,
9397  1 /*untilMonth*/,
9398  1 /*untilDay*/,
9399  0 /*untilTimeCode (0/15)*/,
9400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9401  },
9402  // -3:00 Brazil %z 1990 Sep 17
9403  {
9404  &kZonePolicyBrazil /*zonePolicy*/,
9405  "" /*format*/,
9406  -720 /*offsetCode (-10800/15)*/,
9407  0 /*offsetRemainder (-10800%15)*/,
9408  0 /*deltaMinutes*/,
9409  1990 /*untilYear*/,
9410  9 /*untilMonth*/,
9411  17 /*untilDay*/,
9412  0 /*untilTimeCode (0/15)*/,
9413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9414  },
9415  // -3:00 - %z 1995 Oct 13
9416  {
9417  nullptr /*zonePolicy*/,
9418  "" /*format*/,
9419  -720 /*offsetCode (-10800/15)*/,
9420  0 /*offsetRemainder (-10800%15)*/,
9421  0 /*deltaMinutes*/,
9422  1995 /*untilYear*/,
9423  10 /*untilMonth*/,
9424  13 /*untilDay*/,
9425  0 /*untilTimeCode (0/15)*/,
9426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9427  },
9428  // -3:00 Brazil %z 1996 Sep 4
9429  {
9430  &kZonePolicyBrazil /*zonePolicy*/,
9431  "" /*format*/,
9432  -720 /*offsetCode (-10800/15)*/,
9433  0 /*offsetRemainder (-10800%15)*/,
9434  0 /*deltaMinutes*/,
9435  1996 /*untilYear*/,
9436  9 /*untilMonth*/,
9437  4 /*untilDay*/,
9438  0 /*untilTimeCode (0/15)*/,
9439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9440  },
9441  // -3:00 - %z 1999 Sep 30
9442  {
9443  nullptr /*zonePolicy*/,
9444  "" /*format*/,
9445  -720 /*offsetCode (-10800/15)*/,
9446  0 /*offsetRemainder (-10800%15)*/,
9447  0 /*deltaMinutes*/,
9448  1999 /*untilYear*/,
9449  9 /*untilMonth*/,
9450  30 /*untilDay*/,
9451  0 /*untilTimeCode (0/15)*/,
9452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9453  },
9454  // -3:00 Brazil %z 2000 Oct 22
9455  {
9456  &kZonePolicyBrazil /*zonePolicy*/,
9457  "" /*format*/,
9458  -720 /*offsetCode (-10800/15)*/,
9459  0 /*offsetRemainder (-10800%15)*/,
9460  0 /*deltaMinutes*/,
9461  2000 /*untilYear*/,
9462  10 /*untilMonth*/,
9463  22 /*untilDay*/,
9464  0 /*untilTimeCode (0/15)*/,
9465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9466  },
9467  // -3:00 - %z 2001 Sep 13
9468  {
9469  nullptr /*zonePolicy*/,
9470  "" /*format*/,
9471  -720 /*offsetCode (-10800/15)*/,
9472  0 /*offsetRemainder (-10800%15)*/,
9473  0 /*deltaMinutes*/,
9474  2001 /*untilYear*/,
9475  9 /*untilMonth*/,
9476  13 /*untilDay*/,
9477  0 /*untilTimeCode (0/15)*/,
9478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9479  },
9480  // -3:00 Brazil %z 2002 Oct 1
9481  {
9482  &kZonePolicyBrazil /*zonePolicy*/,
9483  "" /*format*/,
9484  -720 /*offsetCode (-10800/15)*/,
9485  0 /*offsetRemainder (-10800%15)*/,
9486  0 /*deltaMinutes*/,
9487  2002 /*untilYear*/,
9488  10 /*untilMonth*/,
9489  1 /*untilDay*/,
9490  0 /*untilTimeCode (0/15)*/,
9491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9492  },
9493  // -3:00 - %z
9494  {
9495  nullptr /*zonePolicy*/,
9496  "" /*format*/,
9497  -720 /*offsetCode (-10800/15)*/,
9498  0 /*offsetRemainder (-10800%15)*/,
9499  0 /*deltaMinutes*/,
9500  32767 /*untilYear*/,
9501  1 /*untilMonth*/,
9502  1 /*untilDay*/,
9503  0 /*untilTimeCode (0/15)*/,
9504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9505  },
9506 
9507 };
9508 
9509 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "\x02" "Maceio";
9510 
9511 const complete::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
9512  kZoneNameAmerica_Maceio /*name*/,
9513  0xac80c6d4 /*zoneId*/,
9514  &kZoneContext /*zoneContext*/,
9515  9 /*numEras*/,
9516  kZoneEraAmerica_Maceio /*eras*/,
9517  nullptr /*targetInfo*/,
9518 };
9519 
9520 //---------------------------------------------------------------------------
9521 // Zone name: America/Managua
9522 // Eras: 9
9523 //---------------------------------------------------------------------------
9524 
9525 static const complete::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
9526  // -5:45:08 - LMT 1890
9527  {
9528  nullptr /*zonePolicy*/,
9529  "LMT" /*format*/,
9530  -1381 /*offsetCode (-20708/15)*/,
9531  7 /*offsetRemainder (-20708%15)*/,
9532  0 /*deltaMinutes*/,
9533  1890 /*untilYear*/,
9534  1 /*untilMonth*/,
9535  1 /*untilDay*/,
9536  0 /*untilTimeCode (0/15)*/,
9537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9538  },
9539  // -5:45:12 - MMT 1934 Jun 23
9540  {
9541  nullptr /*zonePolicy*/,
9542  "MMT" /*format*/,
9543  -1381 /*offsetCode (-20712/15)*/,
9544  3 /*offsetRemainder (-20712%15)*/,
9545  0 /*deltaMinutes*/,
9546  1934 /*untilYear*/,
9547  6 /*untilMonth*/,
9548  23 /*untilDay*/,
9549  0 /*untilTimeCode (0/15)*/,
9550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9551  },
9552  // -6:00 - CST 1973 May
9553  {
9554  nullptr /*zonePolicy*/,
9555  "CST" /*format*/,
9556  -1440 /*offsetCode (-21600/15)*/,
9557  0 /*offsetRemainder (-21600%15)*/,
9558  0 /*deltaMinutes*/,
9559  1973 /*untilYear*/,
9560  5 /*untilMonth*/,
9561  1 /*untilDay*/,
9562  0 /*untilTimeCode (0/15)*/,
9563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9564  },
9565  // -5:00 - EST 1975 Feb 16
9566  {
9567  nullptr /*zonePolicy*/,
9568  "EST" /*format*/,
9569  -1200 /*offsetCode (-18000/15)*/,
9570  0 /*offsetRemainder (-18000%15)*/,
9571  0 /*deltaMinutes*/,
9572  1975 /*untilYear*/,
9573  2 /*untilMonth*/,
9574  16 /*untilDay*/,
9575  0 /*untilTimeCode (0/15)*/,
9576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9577  },
9578  // -6:00 Nic C%sT 1992 Jan 1 4:00
9579  {
9580  &kZonePolicyNic /*zonePolicy*/,
9581  "C%T" /*format*/,
9582  -1440 /*offsetCode (-21600/15)*/,
9583  0 /*offsetRemainder (-21600%15)*/,
9584  0 /*deltaMinutes*/,
9585  1992 /*untilYear*/,
9586  1 /*untilMonth*/,
9587  1 /*untilDay*/,
9588  960 /*untilTimeCode (14400/15)*/,
9589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9590  },
9591  // -5:00 - EST 1992 Sep 24
9592  {
9593  nullptr /*zonePolicy*/,
9594  "EST" /*format*/,
9595  -1200 /*offsetCode (-18000/15)*/,
9596  0 /*offsetRemainder (-18000%15)*/,
9597  0 /*deltaMinutes*/,
9598  1992 /*untilYear*/,
9599  9 /*untilMonth*/,
9600  24 /*untilDay*/,
9601  0 /*untilTimeCode (0/15)*/,
9602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9603  },
9604  // -6:00 - CST 1993
9605  {
9606  nullptr /*zonePolicy*/,
9607  "CST" /*format*/,
9608  -1440 /*offsetCode (-21600/15)*/,
9609  0 /*offsetRemainder (-21600%15)*/,
9610  0 /*deltaMinutes*/,
9611  1993 /*untilYear*/,
9612  1 /*untilMonth*/,
9613  1 /*untilDay*/,
9614  0 /*untilTimeCode (0/15)*/,
9615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9616  },
9617  // -5:00 - EST 1997
9618  {
9619  nullptr /*zonePolicy*/,
9620  "EST" /*format*/,
9621  -1200 /*offsetCode (-18000/15)*/,
9622  0 /*offsetRemainder (-18000%15)*/,
9623  0 /*deltaMinutes*/,
9624  1997 /*untilYear*/,
9625  1 /*untilMonth*/,
9626  1 /*untilDay*/,
9627  0 /*untilTimeCode (0/15)*/,
9628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9629  },
9630  // -6:00 Nic C%sT
9631  {
9632  &kZonePolicyNic /*zonePolicy*/,
9633  "C%T" /*format*/,
9634  -1440 /*offsetCode (-21600/15)*/,
9635  0 /*offsetRemainder (-21600%15)*/,
9636  0 /*deltaMinutes*/,
9637  32767 /*untilYear*/,
9638  1 /*untilMonth*/,
9639  1 /*untilDay*/,
9640  0 /*untilTimeCode (0/15)*/,
9641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9642  },
9643 
9644 };
9645 
9646 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";
9647 
9648 const complete::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
9649  kZoneNameAmerica_Managua /*name*/,
9650  0x3d5e7600 /*zoneId*/,
9651  &kZoneContext /*zoneContext*/,
9652  9 /*numEras*/,
9653  kZoneEraAmerica_Managua /*eras*/,
9654  nullptr /*targetInfo*/,
9655 };
9656 
9657 //---------------------------------------------------------------------------
9658 // Zone name: America/Manaus
9659 // Eras: 5
9660 //---------------------------------------------------------------------------
9661 
9662 static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
9663  // -4:00:04 - LMT 1914
9664  {
9665  nullptr /*zonePolicy*/,
9666  "LMT" /*format*/,
9667  -961 /*offsetCode (-14404/15)*/,
9668  11 /*offsetRemainder (-14404%15)*/,
9669  0 /*deltaMinutes*/,
9670  1914 /*untilYear*/,
9671  1 /*untilMonth*/,
9672  1 /*untilDay*/,
9673  0 /*untilTimeCode (0/15)*/,
9674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9675  },
9676  // -4:00 Brazil %z 1988 Sep 12
9677  {
9678  &kZonePolicyBrazil /*zonePolicy*/,
9679  "" /*format*/,
9680  -960 /*offsetCode (-14400/15)*/,
9681  0 /*offsetRemainder (-14400%15)*/,
9682  0 /*deltaMinutes*/,
9683  1988 /*untilYear*/,
9684  9 /*untilMonth*/,
9685  12 /*untilDay*/,
9686  0 /*untilTimeCode (0/15)*/,
9687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9688  },
9689  // -4:00 - %z 1993 Sep 28
9690  {
9691  nullptr /*zonePolicy*/,
9692  "" /*format*/,
9693  -960 /*offsetCode (-14400/15)*/,
9694  0 /*offsetRemainder (-14400%15)*/,
9695  0 /*deltaMinutes*/,
9696  1993 /*untilYear*/,
9697  9 /*untilMonth*/,
9698  28 /*untilDay*/,
9699  0 /*untilTimeCode (0/15)*/,
9700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9701  },
9702  // -4:00 Brazil %z 1994 Sep 22
9703  {
9704  &kZonePolicyBrazil /*zonePolicy*/,
9705  "" /*format*/,
9706  -960 /*offsetCode (-14400/15)*/,
9707  0 /*offsetRemainder (-14400%15)*/,
9708  0 /*deltaMinutes*/,
9709  1994 /*untilYear*/,
9710  9 /*untilMonth*/,
9711  22 /*untilDay*/,
9712  0 /*untilTimeCode (0/15)*/,
9713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9714  },
9715  // -4:00 - %z
9716  {
9717  nullptr /*zonePolicy*/,
9718  "" /*format*/,
9719  -960 /*offsetCode (-14400/15)*/,
9720  0 /*offsetRemainder (-14400%15)*/,
9721  0 /*deltaMinutes*/,
9722  32767 /*untilYear*/,
9723  1 /*untilMonth*/,
9724  1 /*untilDay*/,
9725  0 /*untilTimeCode (0/15)*/,
9726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9727  },
9728 
9729 };
9730 
9731 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";
9732 
9733 const complete::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
9734  kZoneNameAmerica_Manaus /*name*/,
9735  0xac86bf8b /*zoneId*/,
9736  &kZoneContext /*zoneContext*/,
9737  5 /*numEras*/,
9738  kZoneEraAmerica_Manaus /*eras*/,
9739  nullptr /*targetInfo*/,
9740 };
9741 
9742 //---------------------------------------------------------------------------
9743 // Zone name: America/Martinique
9744 // Eras: 5
9745 //---------------------------------------------------------------------------
9746 
9747 static const complete::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
9748  // -4:04:20 - LMT 1890
9749  {
9750  nullptr /*zonePolicy*/,
9751  "LMT" /*format*/,
9752  -978 /*offsetCode (-14660/15)*/,
9753  10 /*offsetRemainder (-14660%15)*/,
9754  0 /*deltaMinutes*/,
9755  1890 /*untilYear*/,
9756  1 /*untilMonth*/,
9757  1 /*untilDay*/,
9758  0 /*untilTimeCode (0/15)*/,
9759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9760  },
9761  // -4:04:20 - FFMT 1911 May 1
9762  {
9763  nullptr /*zonePolicy*/,
9764  "FFMT" /*format*/,
9765  -978 /*offsetCode (-14660/15)*/,
9766  10 /*offsetRemainder (-14660%15)*/,
9767  0 /*deltaMinutes*/,
9768  1911 /*untilYear*/,
9769  5 /*untilMonth*/,
9770  1 /*untilDay*/,
9771  0 /*untilTimeCode (0/15)*/,
9772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9773  },
9774  // -4:00 - AST 1980 Apr 6
9775  {
9776  nullptr /*zonePolicy*/,
9777  "AST" /*format*/,
9778  -960 /*offsetCode (-14400/15)*/,
9779  0 /*offsetRemainder (-14400%15)*/,
9780  0 /*deltaMinutes*/,
9781  1980 /*untilYear*/,
9782  4 /*untilMonth*/,
9783  6 /*untilDay*/,
9784  0 /*untilTimeCode (0/15)*/,
9785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9786  },
9787  // -4:00 1:00 ADT 1980 Sep 28
9788  {
9789  nullptr /*zonePolicy*/,
9790  "ADT" /*format*/,
9791  -960 /*offsetCode (-14400/15)*/,
9792  0 /*offsetRemainder (-14400%15)*/,
9793  60 /*deltaMinutes*/,
9794  1980 /*untilYear*/,
9795  9 /*untilMonth*/,
9796  28 /*untilDay*/,
9797  0 /*untilTimeCode (0/15)*/,
9798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9799  },
9800  // -4:00 - AST
9801  {
9802  nullptr /*zonePolicy*/,
9803  "AST" /*format*/,
9804  -960 /*offsetCode (-14400/15)*/,
9805  0 /*offsetRemainder (-14400%15)*/,
9806  0 /*deltaMinutes*/,
9807  32767 /*untilYear*/,
9808  1 /*untilMonth*/,
9809  1 /*untilDay*/,
9810  0 /*untilTimeCode (0/15)*/,
9811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9812  },
9813 
9814 };
9815 
9816 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";
9817 
9818 const complete::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
9819  kZoneNameAmerica_Martinique /*name*/,
9820  0x551e84c5 /*zoneId*/,
9821  &kZoneContext /*zoneContext*/,
9822  5 /*numEras*/,
9823  kZoneEraAmerica_Martinique /*eras*/,
9824  nullptr /*targetInfo*/,
9825 };
9826 
9827 //---------------------------------------------------------------------------
9828 // Zone name: America/Matamoros
9829 // Eras: 5
9830 //---------------------------------------------------------------------------
9831 
9832 static const complete::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
9833  // -6:30:00 - LMT 1922 Jan 1 6:00u
9834  {
9835  nullptr /*zonePolicy*/,
9836  "LMT" /*format*/,
9837  -1560 /*offsetCode (-23400/15)*/,
9838  0 /*offsetRemainder (-23400%15)*/,
9839  0 /*deltaMinutes*/,
9840  1922 /*untilYear*/,
9841  1 /*untilMonth*/,
9842  1 /*untilDay*/,
9843  1440 /*untilTimeCode (21600/15)*/,
9844  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9845  },
9846  // -6:00 - CST 1988
9847  {
9848  nullptr /*zonePolicy*/,
9849  "CST" /*format*/,
9850  -1440 /*offsetCode (-21600/15)*/,
9851  0 /*offsetRemainder (-21600%15)*/,
9852  0 /*deltaMinutes*/,
9853  1988 /*untilYear*/,
9854  1 /*untilMonth*/,
9855  1 /*untilDay*/,
9856  0 /*untilTimeCode (0/15)*/,
9857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9858  },
9859  // -6:00 US C%sT 1989
9860  {
9861  &kZonePolicyUS /*zonePolicy*/,
9862  "C%T" /*format*/,
9863  -1440 /*offsetCode (-21600/15)*/,
9864  0 /*offsetRemainder (-21600%15)*/,
9865  0 /*deltaMinutes*/,
9866  1989 /*untilYear*/,
9867  1 /*untilMonth*/,
9868  1 /*untilDay*/,
9869  0 /*untilTimeCode (0/15)*/,
9870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9871  },
9872  // -6:00 Mexico C%sT 2010
9873  {
9874  &kZonePolicyMexico /*zonePolicy*/,
9875  "C%T" /*format*/,
9876  -1440 /*offsetCode (-21600/15)*/,
9877  0 /*offsetRemainder (-21600%15)*/,
9878  0 /*deltaMinutes*/,
9879  2010 /*untilYear*/,
9880  1 /*untilMonth*/,
9881  1 /*untilDay*/,
9882  0 /*untilTimeCode (0/15)*/,
9883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9884  },
9885  // -6:00 US C%sT
9886  {
9887  &kZonePolicyUS /*zonePolicy*/,
9888  "C%T" /*format*/,
9889  -1440 /*offsetCode (-21600/15)*/,
9890  0 /*offsetRemainder (-21600%15)*/,
9891  0 /*deltaMinutes*/,
9892  32767 /*untilYear*/,
9893  1 /*untilMonth*/,
9894  1 /*untilDay*/,
9895  0 /*untilTimeCode (0/15)*/,
9896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9897  },
9898 
9899 };
9900 
9901 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";
9902 
9903 const complete::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
9904  kZoneNameAmerica_Matamoros /*name*/,
9905  0xdd1b0259 /*zoneId*/,
9906  &kZoneContext /*zoneContext*/,
9907  5 /*numEras*/,
9908  kZoneEraAmerica_Matamoros /*eras*/,
9909  nullptr /*targetInfo*/,
9910 };
9911 
9912 //---------------------------------------------------------------------------
9913 // Zone name: America/Mazatlan
9914 // Eras: 7
9915 //---------------------------------------------------------------------------
9916 
9917 static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
9918  // -7:05:40 - LMT 1922 Jan 1 7:00u
9919  {
9920  nullptr /*zonePolicy*/,
9921  "LMT" /*format*/,
9922  -1703 /*offsetCode (-25540/15)*/,
9923  5 /*offsetRemainder (-25540%15)*/,
9924  0 /*deltaMinutes*/,
9925  1922 /*untilYear*/,
9926  1 /*untilMonth*/,
9927  1 /*untilDay*/,
9928  1680 /*untilTimeCode (25200/15)*/,
9929  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9930  },
9931  // -7:00 - MST 1927 Jun 10
9932  {
9933  nullptr /*zonePolicy*/,
9934  "MST" /*format*/,
9935  -1680 /*offsetCode (-25200/15)*/,
9936  0 /*offsetRemainder (-25200%15)*/,
9937  0 /*deltaMinutes*/,
9938  1927 /*untilYear*/,
9939  6 /*untilMonth*/,
9940  10 /*untilDay*/,
9941  0 /*untilTimeCode (0/15)*/,
9942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9943  },
9944  // -6:00 - CST 1930 Nov 15
9945  {
9946  nullptr /*zonePolicy*/,
9947  "CST" /*format*/,
9948  -1440 /*offsetCode (-21600/15)*/,
9949  0 /*offsetRemainder (-21600%15)*/,
9950  0 /*deltaMinutes*/,
9951  1930 /*untilYear*/,
9952  11 /*untilMonth*/,
9953  15 /*untilDay*/,
9954  0 /*untilTimeCode (0/15)*/,
9955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9956  },
9957  // -7:00 Mexico M%sT 1932 Apr 1
9958  {
9959  &kZonePolicyMexico /*zonePolicy*/,
9960  "M%T" /*format*/,
9961  -1680 /*offsetCode (-25200/15)*/,
9962  0 /*offsetRemainder (-25200%15)*/,
9963  0 /*deltaMinutes*/,
9964  1932 /*untilYear*/,
9965  4 /*untilMonth*/,
9966  1 /*untilDay*/,
9967  0 /*untilTimeCode (0/15)*/,
9968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9969  },
9970  // -6:00 - CST 1942 Apr 24
9971  {
9972  nullptr /*zonePolicy*/,
9973  "CST" /*format*/,
9974  -1440 /*offsetCode (-21600/15)*/,
9975  0 /*offsetRemainder (-21600%15)*/,
9976  0 /*deltaMinutes*/,
9977  1942 /*untilYear*/,
9978  4 /*untilMonth*/,
9979  24 /*untilDay*/,
9980  0 /*untilTimeCode (0/15)*/,
9981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9982  },
9983  // -7:00 - MST 1970
9984  {
9985  nullptr /*zonePolicy*/,
9986  "MST" /*format*/,
9987  -1680 /*offsetCode (-25200/15)*/,
9988  0 /*offsetRemainder (-25200%15)*/,
9989  0 /*deltaMinutes*/,
9990  1970 /*untilYear*/,
9991  1 /*untilMonth*/,
9992  1 /*untilDay*/,
9993  0 /*untilTimeCode (0/15)*/,
9994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9995  },
9996  // -7:00 Mexico M%sT
9997  {
9998  &kZonePolicyMexico /*zonePolicy*/,
9999  "M%T" /*format*/,
10000  -1680 /*offsetCode (-25200/15)*/,
10001  0 /*offsetRemainder (-25200%15)*/,
10002  0 /*deltaMinutes*/,
10003  32767 /*untilYear*/,
10004  1 /*untilMonth*/,
10005  1 /*untilDay*/,
10006  0 /*untilTimeCode (0/15)*/,
10007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10008  },
10009 
10010 };
10011 
10012 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";
10013 
10014 const complete::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
10015  kZoneNameAmerica_Mazatlan /*name*/,
10016  0x0532189e /*zoneId*/,
10017  &kZoneContext /*zoneContext*/,
10018  7 /*numEras*/,
10019  kZoneEraAmerica_Mazatlan /*eras*/,
10020  nullptr /*targetInfo*/,
10021 };
10022 
10023 //---------------------------------------------------------------------------
10024 // Zone name: America/Menominee
10025 // Eras: 5
10026 //---------------------------------------------------------------------------
10027 
10028 static const complete::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
10029  // -5:50:27 - LMT 1885 Sep 18 12:00
10030  {
10031  nullptr /*zonePolicy*/,
10032  "LMT" /*format*/,
10033  -1402 /*offsetCode (-21027/15)*/,
10034  3 /*offsetRemainder (-21027%15)*/,
10035  0 /*deltaMinutes*/,
10036  1885 /*untilYear*/,
10037  9 /*untilMonth*/,
10038  18 /*untilDay*/,
10039  2880 /*untilTimeCode (43200/15)*/,
10040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10041  },
10042  // -6:00 US C%sT 1946
10043  {
10044  &kZonePolicyUS /*zonePolicy*/,
10045  "C%T" /*format*/,
10046  -1440 /*offsetCode (-21600/15)*/,
10047  0 /*offsetRemainder (-21600%15)*/,
10048  0 /*deltaMinutes*/,
10049  1946 /*untilYear*/,
10050  1 /*untilMonth*/,
10051  1 /*untilDay*/,
10052  0 /*untilTimeCode (0/15)*/,
10053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10054  },
10055  // -6:00 Menominee C%sT 1969 Apr 27 2:00
10056  {
10057  &kZonePolicyMenominee /*zonePolicy*/,
10058  "C%T" /*format*/,
10059  -1440 /*offsetCode (-21600/15)*/,
10060  0 /*offsetRemainder (-21600%15)*/,
10061  0 /*deltaMinutes*/,
10062  1969 /*untilYear*/,
10063  4 /*untilMonth*/,
10064  27 /*untilDay*/,
10065  480 /*untilTimeCode (7200/15)*/,
10066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10067  },
10068  // -5:00 - EST 1973 Apr 29 2:00
10069  {
10070  nullptr /*zonePolicy*/,
10071  "EST" /*format*/,
10072  -1200 /*offsetCode (-18000/15)*/,
10073  0 /*offsetRemainder (-18000%15)*/,
10074  0 /*deltaMinutes*/,
10075  1973 /*untilYear*/,
10076  4 /*untilMonth*/,
10077  29 /*untilDay*/,
10078  480 /*untilTimeCode (7200/15)*/,
10079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10080  },
10081  // -6:00 US C%sT
10082  {
10083  &kZonePolicyUS /*zonePolicy*/,
10084  "C%T" /*format*/,
10085  -1440 /*offsetCode (-21600/15)*/,
10086  0 /*offsetRemainder (-21600%15)*/,
10087  0 /*deltaMinutes*/,
10088  32767 /*untilYear*/,
10089  1 /*untilMonth*/,
10090  1 /*untilDay*/,
10091  0 /*untilTimeCode (0/15)*/,
10092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10093  },
10094 
10095 };
10096 
10097 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";
10098 
10099 const complete::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
10100  kZoneNameAmerica_Menominee /*name*/,
10101  0xe0e9c583 /*zoneId*/,
10102  &kZoneContext /*zoneContext*/,
10103  5 /*numEras*/,
10104  kZoneEraAmerica_Menominee /*eras*/,
10105  nullptr /*targetInfo*/,
10106 };
10107 
10108 //---------------------------------------------------------------------------
10109 // Zone name: America/Merida
10110 // Eras: 4
10111 //---------------------------------------------------------------------------
10112 
10113 static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
10114  // -5:58:28 - LMT 1922 Jan 1 6:00u
10115  {
10116  nullptr /*zonePolicy*/,
10117  "LMT" /*format*/,
10118  -1434 /*offsetCode (-21508/15)*/,
10119  2 /*offsetRemainder (-21508%15)*/,
10120  0 /*deltaMinutes*/,
10121  1922 /*untilYear*/,
10122  1 /*untilMonth*/,
10123  1 /*untilDay*/,
10124  1440 /*untilTimeCode (21600/15)*/,
10125  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10126  },
10127  // -6:00 - CST 1981 Dec 26 2:00
10128  {
10129  nullptr /*zonePolicy*/,
10130  "CST" /*format*/,
10131  -1440 /*offsetCode (-21600/15)*/,
10132  0 /*offsetRemainder (-21600%15)*/,
10133  0 /*deltaMinutes*/,
10134  1981 /*untilYear*/,
10135  12 /*untilMonth*/,
10136  26 /*untilDay*/,
10137  480 /*untilTimeCode (7200/15)*/,
10138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10139  },
10140  // -5:00 - EST 1982 Nov 2 2:00
10141  {
10142  nullptr /*zonePolicy*/,
10143  "EST" /*format*/,
10144  -1200 /*offsetCode (-18000/15)*/,
10145  0 /*offsetRemainder (-18000%15)*/,
10146  0 /*deltaMinutes*/,
10147  1982 /*untilYear*/,
10148  11 /*untilMonth*/,
10149  2 /*untilDay*/,
10150  480 /*untilTimeCode (7200/15)*/,
10151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10152  },
10153  // -6:00 Mexico C%sT
10154  {
10155  &kZonePolicyMexico /*zonePolicy*/,
10156  "C%T" /*format*/,
10157  -1440 /*offsetCode (-21600/15)*/,
10158  0 /*offsetRemainder (-21600%15)*/,
10159  0 /*deltaMinutes*/,
10160  32767 /*untilYear*/,
10161  1 /*untilMonth*/,
10162  1 /*untilDay*/,
10163  0 /*untilTimeCode (0/15)*/,
10164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10165  },
10166 
10167 };
10168 
10169 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";
10170 
10171 const complete::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
10172  kZoneNameAmerica_Merida /*name*/,
10173  0xacd172d8 /*zoneId*/,
10174  &kZoneContext /*zoneContext*/,
10175  4 /*numEras*/,
10176  kZoneEraAmerica_Merida /*eras*/,
10177  nullptr /*targetInfo*/,
10178 };
10179 
10180 //---------------------------------------------------------------------------
10181 // Zone name: America/Metlakatla
10182 // Eras: 10
10183 //---------------------------------------------------------------------------
10184 
10185 static const complete::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
10186  // 15:13:42 - LMT 1867 Oct 19 15:44:55
10187  {
10188  nullptr /*zonePolicy*/,
10189  "LMT" /*format*/,
10190  3654 /*offsetCode (54822/15)*/,
10191  12 /*offsetRemainder (54822%15)*/,
10192  0 /*deltaMinutes*/,
10193  1867 /*untilYear*/,
10194  10 /*untilMonth*/,
10195  19 /*untilDay*/,
10196  3779 /*untilTimeCode (56695/15)*/,
10197  10 /*untilTimeModifier (kAtcSuffixW + seconds=10)*/,
10198  },
10199  // -8:46:18 - LMT 1900 Aug 20 12:00
10200  {
10201  nullptr /*zonePolicy*/,
10202  "LMT" /*format*/,
10203  -2106 /*offsetCode (-31578/15)*/,
10204  12 /*offsetRemainder (-31578%15)*/,
10205  0 /*deltaMinutes*/,
10206  1900 /*untilYear*/,
10207  8 /*untilMonth*/,
10208  20 /*untilDay*/,
10209  2880 /*untilTimeCode (43200/15)*/,
10210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10211  },
10212  // -8:00 - PST 1942
10213  {
10214  nullptr /*zonePolicy*/,
10215  "PST" /*format*/,
10216  -1920 /*offsetCode (-28800/15)*/,
10217  0 /*offsetRemainder (-28800%15)*/,
10218  0 /*deltaMinutes*/,
10219  1942 /*untilYear*/,
10220  1 /*untilMonth*/,
10221  1 /*untilDay*/,
10222  0 /*untilTimeCode (0/15)*/,
10223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10224  },
10225  // -8:00 US P%sT 1946
10226  {
10227  &kZonePolicyUS /*zonePolicy*/,
10228  "P%T" /*format*/,
10229  -1920 /*offsetCode (-28800/15)*/,
10230  0 /*offsetRemainder (-28800%15)*/,
10231  0 /*deltaMinutes*/,
10232  1946 /*untilYear*/,
10233  1 /*untilMonth*/,
10234  1 /*untilDay*/,
10235  0 /*untilTimeCode (0/15)*/,
10236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10237  },
10238  // -8:00 - PST 1969
10239  {
10240  nullptr /*zonePolicy*/,
10241  "PST" /*format*/,
10242  -1920 /*offsetCode (-28800/15)*/,
10243  0 /*offsetRemainder (-28800%15)*/,
10244  0 /*deltaMinutes*/,
10245  1969 /*untilYear*/,
10246  1 /*untilMonth*/,
10247  1 /*untilDay*/,
10248  0 /*untilTimeCode (0/15)*/,
10249  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10250  },
10251  // -8:00 US P%sT 1983 Oct 30 2:00
10252  {
10253  &kZonePolicyUS /*zonePolicy*/,
10254  "P%T" /*format*/,
10255  -1920 /*offsetCode (-28800/15)*/,
10256  0 /*offsetRemainder (-28800%15)*/,
10257  0 /*deltaMinutes*/,
10258  1983 /*untilYear*/,
10259  10 /*untilMonth*/,
10260  30 /*untilDay*/,
10261  480 /*untilTimeCode (7200/15)*/,
10262  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10263  },
10264  // -8:00 - PST 2015 Nov 1 2:00
10265  {
10266  nullptr /*zonePolicy*/,
10267  "PST" /*format*/,
10268  -1920 /*offsetCode (-28800/15)*/,
10269  0 /*offsetRemainder (-28800%15)*/,
10270  0 /*deltaMinutes*/,
10271  2015 /*untilYear*/,
10272  11 /*untilMonth*/,
10273  1 /*untilDay*/,
10274  480 /*untilTimeCode (7200/15)*/,
10275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10276  },
10277  // -9:00 US AK%sT 2018 Nov 4 2:00
10278  {
10279  &kZonePolicyUS /*zonePolicy*/,
10280  "AK%T" /*format*/,
10281  -2160 /*offsetCode (-32400/15)*/,
10282  0 /*offsetRemainder (-32400%15)*/,
10283  0 /*deltaMinutes*/,
10284  2018 /*untilYear*/,
10285  11 /*untilMonth*/,
10286  4 /*untilDay*/,
10287  480 /*untilTimeCode (7200/15)*/,
10288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10289  },
10290  // -8:00 - PST 2019 Jan 20 2:00
10291  {
10292  nullptr /*zonePolicy*/,
10293  "PST" /*format*/,
10294  -1920 /*offsetCode (-28800/15)*/,
10295  0 /*offsetRemainder (-28800%15)*/,
10296  0 /*deltaMinutes*/,
10297  2019 /*untilYear*/,
10298  1 /*untilMonth*/,
10299  20 /*untilDay*/,
10300  480 /*untilTimeCode (7200/15)*/,
10301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10302  },
10303  // -9:00 US AK%sT
10304  {
10305  &kZonePolicyUS /*zonePolicy*/,
10306  "AK%T" /*format*/,
10307  -2160 /*offsetCode (-32400/15)*/,
10308  0 /*offsetRemainder (-32400%15)*/,
10309  0 /*deltaMinutes*/,
10310  32767 /*untilYear*/,
10311  1 /*untilMonth*/,
10312  1 /*untilDay*/,
10313  0 /*untilTimeCode (0/15)*/,
10314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10315  },
10316 
10317 };
10318 
10319 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "\x02" "Metlakatla";
10320 
10321 const complete::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
10322  kZoneNameAmerica_Metlakatla /*name*/,
10323  0x84de2686 /*zoneId*/,
10324  &kZoneContext /*zoneContext*/,
10325  10 /*numEras*/,
10326  kZoneEraAmerica_Metlakatla /*eras*/,
10327  nullptr /*targetInfo*/,
10328 };
10329 
10330 //---------------------------------------------------------------------------
10331 // Zone name: America/Mexico_City
10332 // Eras: 7
10333 //---------------------------------------------------------------------------
10334 
10335 static const complete::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
10336  // -6:36:36 - LMT 1922 Jan 1 7:00u
10337  {
10338  nullptr /*zonePolicy*/,
10339  "LMT" /*format*/,
10340  -1587 /*offsetCode (-23796/15)*/,
10341  9 /*offsetRemainder (-23796%15)*/,
10342  0 /*deltaMinutes*/,
10343  1922 /*untilYear*/,
10344  1 /*untilMonth*/,
10345  1 /*untilDay*/,
10346  1680 /*untilTimeCode (25200/15)*/,
10347  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10348  },
10349  // -7:00 - MST 1927 Jun 10
10350  {
10351  nullptr /*zonePolicy*/,
10352  "MST" /*format*/,
10353  -1680 /*offsetCode (-25200/15)*/,
10354  0 /*offsetRemainder (-25200%15)*/,
10355  0 /*deltaMinutes*/,
10356  1927 /*untilYear*/,
10357  6 /*untilMonth*/,
10358  10 /*untilDay*/,
10359  0 /*untilTimeCode (0/15)*/,
10360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10361  },
10362  // -6:00 - CST 1930 Nov 15
10363  {
10364  nullptr /*zonePolicy*/,
10365  "CST" /*format*/,
10366  -1440 /*offsetCode (-21600/15)*/,
10367  0 /*offsetRemainder (-21600%15)*/,
10368  0 /*deltaMinutes*/,
10369  1930 /*untilYear*/,
10370  11 /*untilMonth*/,
10371  15 /*untilDay*/,
10372  0 /*untilTimeCode (0/15)*/,
10373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10374  },
10375  // -7:00 Mexico M%sT 1932 Apr 1
10376  {
10377  &kZonePolicyMexico /*zonePolicy*/,
10378  "M%T" /*format*/,
10379  -1680 /*offsetCode (-25200/15)*/,
10380  0 /*offsetRemainder (-25200%15)*/,
10381  0 /*deltaMinutes*/,
10382  1932 /*untilYear*/,
10383  4 /*untilMonth*/,
10384  1 /*untilDay*/,
10385  0 /*untilTimeCode (0/15)*/,
10386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10387  },
10388  // -6:00 Mexico C%sT 2001 Sep 30 2:00
10389  {
10390  &kZonePolicyMexico /*zonePolicy*/,
10391  "C%T" /*format*/,
10392  -1440 /*offsetCode (-21600/15)*/,
10393  0 /*offsetRemainder (-21600%15)*/,
10394  0 /*deltaMinutes*/,
10395  2001 /*untilYear*/,
10396  9 /*untilMonth*/,
10397  30 /*untilDay*/,
10398  480 /*untilTimeCode (7200/15)*/,
10399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10400  },
10401  // -6:00 - CST 2002 Feb 20
10402  {
10403  nullptr /*zonePolicy*/,
10404  "CST" /*format*/,
10405  -1440 /*offsetCode (-21600/15)*/,
10406  0 /*offsetRemainder (-21600%15)*/,
10407  0 /*deltaMinutes*/,
10408  2002 /*untilYear*/,
10409  2 /*untilMonth*/,
10410  20 /*untilDay*/,
10411  0 /*untilTimeCode (0/15)*/,
10412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10413  },
10414  // -6:00 Mexico C%sT
10415  {
10416  &kZonePolicyMexico /*zonePolicy*/,
10417  "C%T" /*format*/,
10418  -1440 /*offsetCode (-21600/15)*/,
10419  0 /*offsetRemainder (-21600%15)*/,
10420  0 /*deltaMinutes*/,
10421  32767 /*untilYear*/,
10422  1 /*untilMonth*/,
10423  1 /*untilDay*/,
10424  0 /*untilTimeCode (0/15)*/,
10425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10426  },
10427 
10428 };
10429 
10430 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "\x02" "Mexico_City";
10431 
10432 const complete::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
10433  kZoneNameAmerica_Mexico_City /*name*/,
10434  0xd0d93f43 /*zoneId*/,
10435  &kZoneContext /*zoneContext*/,
10436  7 /*numEras*/,
10437  kZoneEraAmerica_Mexico_City /*eras*/,
10438  nullptr /*targetInfo*/,
10439 };
10440 
10441 //---------------------------------------------------------------------------
10442 // Zone name: America/Miquelon
10443 // Eras: 4
10444 //---------------------------------------------------------------------------
10445 
10446 static const complete::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
10447  // -3:44:40 - LMT 1911 Jun 15
10448  {
10449  nullptr /*zonePolicy*/,
10450  "LMT" /*format*/,
10451  -899 /*offsetCode (-13480/15)*/,
10452  5 /*offsetRemainder (-13480%15)*/,
10453  0 /*deltaMinutes*/,
10454  1911 /*untilYear*/,
10455  6 /*untilMonth*/,
10456  15 /*untilDay*/,
10457  0 /*untilTimeCode (0/15)*/,
10458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10459  },
10460  // -4:00 - AST 1980 May
10461  {
10462  nullptr /*zonePolicy*/,
10463  "AST" /*format*/,
10464  -960 /*offsetCode (-14400/15)*/,
10465  0 /*offsetRemainder (-14400%15)*/,
10466  0 /*deltaMinutes*/,
10467  1980 /*untilYear*/,
10468  5 /*untilMonth*/,
10469  1 /*untilDay*/,
10470  0 /*untilTimeCode (0/15)*/,
10471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10472  },
10473  // -3:00 - %z 1987
10474  {
10475  nullptr /*zonePolicy*/,
10476  "" /*format*/,
10477  -720 /*offsetCode (-10800/15)*/,
10478  0 /*offsetRemainder (-10800%15)*/,
10479  0 /*deltaMinutes*/,
10480  1987 /*untilYear*/,
10481  1 /*untilMonth*/,
10482  1 /*untilDay*/,
10483  0 /*untilTimeCode (0/15)*/,
10484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10485  },
10486  // -3:00 Canada %z
10487  {
10488  &kZonePolicyCanada /*zonePolicy*/,
10489  "" /*format*/,
10490  -720 /*offsetCode (-10800/15)*/,
10491  0 /*offsetRemainder (-10800%15)*/,
10492  0 /*deltaMinutes*/,
10493  32767 /*untilYear*/,
10494  1 /*untilMonth*/,
10495  1 /*untilDay*/,
10496  0 /*untilTimeCode (0/15)*/,
10497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10498  },
10499 
10500 };
10501 
10502 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";
10503 
10504 const complete::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
10505  kZoneNameAmerica_Miquelon /*name*/,
10506  0x59674330 /*zoneId*/,
10507  &kZoneContext /*zoneContext*/,
10508  4 /*numEras*/,
10509  kZoneEraAmerica_Miquelon /*eras*/,
10510  nullptr /*targetInfo*/,
10511 };
10512 
10513 //---------------------------------------------------------------------------
10514 // Zone name: America/Moncton
10515 // Eras: 9
10516 //---------------------------------------------------------------------------
10517 
10518 static const complete::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
10519  // -4:19:08 - LMT 1883 Dec 9
10520  {
10521  nullptr /*zonePolicy*/,
10522  "LMT" /*format*/,
10523  -1037 /*offsetCode (-15548/15)*/,
10524  7 /*offsetRemainder (-15548%15)*/,
10525  0 /*deltaMinutes*/,
10526  1883 /*untilYear*/,
10527  12 /*untilMonth*/,
10528  9 /*untilDay*/,
10529  0 /*untilTimeCode (0/15)*/,
10530  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10531  },
10532  // -5:00 - EST 1902 Jun 15
10533  {
10534  nullptr /*zonePolicy*/,
10535  "EST" /*format*/,
10536  -1200 /*offsetCode (-18000/15)*/,
10537  0 /*offsetRemainder (-18000%15)*/,
10538  0 /*deltaMinutes*/,
10539  1902 /*untilYear*/,
10540  6 /*untilMonth*/,
10541  15 /*untilDay*/,
10542  0 /*untilTimeCode (0/15)*/,
10543  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10544  },
10545  // -4:00 Canada A%sT 1933
10546  {
10547  &kZonePolicyCanada /*zonePolicy*/,
10548  "A%T" /*format*/,
10549  -960 /*offsetCode (-14400/15)*/,
10550  0 /*offsetRemainder (-14400%15)*/,
10551  0 /*deltaMinutes*/,
10552  1933 /*untilYear*/,
10553  1 /*untilMonth*/,
10554  1 /*untilDay*/,
10555  0 /*untilTimeCode (0/15)*/,
10556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10557  },
10558  // -4:00 Moncton A%sT 1942
10559  {
10560  &kZonePolicyMoncton /*zonePolicy*/,
10561  "A%T" /*format*/,
10562  -960 /*offsetCode (-14400/15)*/,
10563  0 /*offsetRemainder (-14400%15)*/,
10564  0 /*deltaMinutes*/,
10565  1942 /*untilYear*/,
10566  1 /*untilMonth*/,
10567  1 /*untilDay*/,
10568  0 /*untilTimeCode (0/15)*/,
10569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10570  },
10571  // -4:00 Canada A%sT 1946
10572  {
10573  &kZonePolicyCanada /*zonePolicy*/,
10574  "A%T" /*format*/,
10575  -960 /*offsetCode (-14400/15)*/,
10576  0 /*offsetRemainder (-14400%15)*/,
10577  0 /*deltaMinutes*/,
10578  1946 /*untilYear*/,
10579  1 /*untilMonth*/,
10580  1 /*untilDay*/,
10581  0 /*untilTimeCode (0/15)*/,
10582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10583  },
10584  // -4:00 Moncton A%sT 1973
10585  {
10586  &kZonePolicyMoncton /*zonePolicy*/,
10587  "A%T" /*format*/,
10588  -960 /*offsetCode (-14400/15)*/,
10589  0 /*offsetRemainder (-14400%15)*/,
10590  0 /*deltaMinutes*/,
10591  1973 /*untilYear*/,
10592  1 /*untilMonth*/,
10593  1 /*untilDay*/,
10594  0 /*untilTimeCode (0/15)*/,
10595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10596  },
10597  // -4:00 Canada A%sT 1993
10598  {
10599  &kZonePolicyCanada /*zonePolicy*/,
10600  "A%T" /*format*/,
10601  -960 /*offsetCode (-14400/15)*/,
10602  0 /*offsetRemainder (-14400%15)*/,
10603  0 /*deltaMinutes*/,
10604  1993 /*untilYear*/,
10605  1 /*untilMonth*/,
10606  1 /*untilDay*/,
10607  0 /*untilTimeCode (0/15)*/,
10608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10609  },
10610  // -4:00 Moncton A%sT 2007
10611  {
10612  &kZonePolicyMoncton /*zonePolicy*/,
10613  "A%T" /*format*/,
10614  -960 /*offsetCode (-14400/15)*/,
10615  0 /*offsetRemainder (-14400%15)*/,
10616  0 /*deltaMinutes*/,
10617  2007 /*untilYear*/,
10618  1 /*untilMonth*/,
10619  1 /*untilDay*/,
10620  0 /*untilTimeCode (0/15)*/,
10621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10622  },
10623  // -4:00 Canada A%sT
10624  {
10625  &kZonePolicyCanada /*zonePolicy*/,
10626  "A%T" /*format*/,
10627  -960 /*offsetCode (-14400/15)*/,
10628  0 /*offsetRemainder (-14400%15)*/,
10629  0 /*deltaMinutes*/,
10630  32767 /*untilYear*/,
10631  1 /*untilMonth*/,
10632  1 /*untilDay*/,
10633  0 /*untilTimeCode (0/15)*/,
10634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10635  },
10636 
10637 };
10638 
10639 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";
10640 
10641 const complete::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
10642  kZoneNameAmerica_Moncton /*name*/,
10643  0x5e07fe24 /*zoneId*/,
10644  &kZoneContext /*zoneContext*/,
10645  9 /*numEras*/,
10646  kZoneEraAmerica_Moncton /*eras*/,
10647  nullptr /*targetInfo*/,
10648 };
10649 
10650 //---------------------------------------------------------------------------
10651 // Zone name: America/Monterrey
10652 // Eras: 7
10653 //---------------------------------------------------------------------------
10654 
10655 static const complete::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
10656  // -6:41:16 - LMT 1922 Jan 1 6:00u
10657  {
10658  nullptr /*zonePolicy*/,
10659  "LMT" /*format*/,
10660  -1606 /*offsetCode (-24076/15)*/,
10661  14 /*offsetRemainder (-24076%15)*/,
10662  0 /*deltaMinutes*/,
10663  1922 /*untilYear*/,
10664  1 /*untilMonth*/,
10665  1 /*untilDay*/,
10666  1440 /*untilTimeCode (21600/15)*/,
10667  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10668  },
10669  // -7:00 - MST 1927 Jun 10
10670  {
10671  nullptr /*zonePolicy*/,
10672  "MST" /*format*/,
10673  -1680 /*offsetCode (-25200/15)*/,
10674  0 /*offsetRemainder (-25200%15)*/,
10675  0 /*deltaMinutes*/,
10676  1927 /*untilYear*/,
10677  6 /*untilMonth*/,
10678  10 /*untilDay*/,
10679  0 /*untilTimeCode (0/15)*/,
10680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10681  },
10682  // -6:00 - CST 1930 Nov 15
10683  {
10684  nullptr /*zonePolicy*/,
10685  "CST" /*format*/,
10686  -1440 /*offsetCode (-21600/15)*/,
10687  0 /*offsetRemainder (-21600%15)*/,
10688  0 /*deltaMinutes*/,
10689  1930 /*untilYear*/,
10690  11 /*untilMonth*/,
10691  15 /*untilDay*/,
10692  0 /*untilTimeCode (0/15)*/,
10693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10694  },
10695  // -7:00 Mexico M%sT 1932 Apr 1
10696  {
10697  &kZonePolicyMexico /*zonePolicy*/,
10698  "M%T" /*format*/,
10699  -1680 /*offsetCode (-25200/15)*/,
10700  0 /*offsetRemainder (-25200%15)*/,
10701  0 /*deltaMinutes*/,
10702  1932 /*untilYear*/,
10703  4 /*untilMonth*/,
10704  1 /*untilDay*/,
10705  0 /*untilTimeCode (0/15)*/,
10706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10707  },
10708  // -6:00 - CST 1988
10709  {
10710  nullptr /*zonePolicy*/,
10711  "CST" /*format*/,
10712  -1440 /*offsetCode (-21600/15)*/,
10713  0 /*offsetRemainder (-21600%15)*/,
10714  0 /*deltaMinutes*/,
10715  1988 /*untilYear*/,
10716  1 /*untilMonth*/,
10717  1 /*untilDay*/,
10718  0 /*untilTimeCode (0/15)*/,
10719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10720  },
10721  // -6:00 US C%sT 1989
10722  {
10723  &kZonePolicyUS /*zonePolicy*/,
10724  "C%T" /*format*/,
10725  -1440 /*offsetCode (-21600/15)*/,
10726  0 /*offsetRemainder (-21600%15)*/,
10727  0 /*deltaMinutes*/,
10728  1989 /*untilYear*/,
10729  1 /*untilMonth*/,
10730  1 /*untilDay*/,
10731  0 /*untilTimeCode (0/15)*/,
10732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10733  },
10734  // -6:00 Mexico C%sT
10735  {
10736  &kZonePolicyMexico /*zonePolicy*/,
10737  "C%T" /*format*/,
10738  -1440 /*offsetCode (-21600/15)*/,
10739  0 /*offsetRemainder (-21600%15)*/,
10740  0 /*deltaMinutes*/,
10741  32767 /*untilYear*/,
10742  1 /*untilMonth*/,
10743  1 /*untilDay*/,
10744  0 /*untilTimeCode (0/15)*/,
10745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10746  },
10747 
10748 };
10749 
10750 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";
10751 
10752 const complete::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
10753  kZoneNameAmerica_Monterrey /*name*/,
10754  0x269a1deb /*zoneId*/,
10755  &kZoneContext /*zoneContext*/,
10756  7 /*numEras*/,
10757  kZoneEraAmerica_Monterrey /*eras*/,
10758  nullptr /*targetInfo*/,
10759 };
10760 
10761 //---------------------------------------------------------------------------
10762 // Zone name: America/Montevideo
10763 // Eras: 11
10764 //---------------------------------------------------------------------------
10765 
10766 static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
10767  // -3:44:51 - LMT 1908 Jun 10
10768  {
10769  nullptr /*zonePolicy*/,
10770  "LMT" /*format*/,
10771  -900 /*offsetCode (-13491/15)*/,
10772  9 /*offsetRemainder (-13491%15)*/,
10773  0 /*deltaMinutes*/,
10774  1908 /*untilYear*/,
10775  6 /*untilMonth*/,
10776  10 /*untilDay*/,
10777  0 /*untilTimeCode (0/15)*/,
10778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10779  },
10780  // -3:44:51 - MMT 1920 May 1
10781  {
10782  nullptr /*zonePolicy*/,
10783  "MMT" /*format*/,
10784  -900 /*offsetCode (-13491/15)*/,
10785  9 /*offsetRemainder (-13491%15)*/,
10786  0 /*deltaMinutes*/,
10787  1920 /*untilYear*/,
10788  5 /*untilMonth*/,
10789  1 /*untilDay*/,
10790  0 /*untilTimeCode (0/15)*/,
10791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10792  },
10793  // -4:00 - %z 1923 Oct 1
10794  {
10795  nullptr /*zonePolicy*/,
10796  "" /*format*/,
10797  -960 /*offsetCode (-14400/15)*/,
10798  0 /*offsetRemainder (-14400%15)*/,
10799  0 /*deltaMinutes*/,
10800  1923 /*untilYear*/,
10801  10 /*untilMonth*/,
10802  1 /*untilDay*/,
10803  0 /*untilTimeCode (0/15)*/,
10804  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10805  },
10806  // -3:30 Uruguay %z 1942 Dec 14
10807  {
10808  &kZonePolicyUruguay /*zonePolicy*/,
10809  "" /*format*/,
10810  -840 /*offsetCode (-12600/15)*/,
10811  0 /*offsetRemainder (-12600%15)*/,
10812  0 /*deltaMinutes*/,
10813  1942 /*untilYear*/,
10814  12 /*untilMonth*/,
10815  14 /*untilDay*/,
10816  0 /*untilTimeCode (0/15)*/,
10817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10818  },
10819  // -3:00 Uruguay %z 1960
10820  {
10821  &kZonePolicyUruguay /*zonePolicy*/,
10822  "" /*format*/,
10823  -720 /*offsetCode (-10800/15)*/,
10824  0 /*offsetRemainder (-10800%15)*/,
10825  0 /*deltaMinutes*/,
10826  1960 /*untilYear*/,
10827  1 /*untilMonth*/,
10828  1 /*untilDay*/,
10829  0 /*untilTimeCode (0/15)*/,
10830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10831  },
10832  // -3:00 Uruguay %z 1968
10833  {
10834  &kZonePolicyUruguay /*zonePolicy*/,
10835  "" /*format*/,
10836  -720 /*offsetCode (-10800/15)*/,
10837  0 /*offsetRemainder (-10800%15)*/,
10838  0 /*deltaMinutes*/,
10839  1968 /*untilYear*/,
10840  1 /*untilMonth*/,
10841  1 /*untilDay*/,
10842  0 /*untilTimeCode (0/15)*/,
10843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10844  },
10845  // -3:00 Uruguay %z 1970
10846  {
10847  &kZonePolicyUruguay /*zonePolicy*/,
10848  "" /*format*/,
10849  -720 /*offsetCode (-10800/15)*/,
10850  0 /*offsetRemainder (-10800%15)*/,
10851  0 /*deltaMinutes*/,
10852  1970 /*untilYear*/,
10853  1 /*untilMonth*/,
10854  1 /*untilDay*/,
10855  0 /*untilTimeCode (0/15)*/,
10856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10857  },
10858  // -3:00 Uruguay %z 1974
10859  {
10860  &kZonePolicyUruguay /*zonePolicy*/,
10861  "" /*format*/,
10862  -720 /*offsetCode (-10800/15)*/,
10863  0 /*offsetRemainder (-10800%15)*/,
10864  0 /*deltaMinutes*/,
10865  1974 /*untilYear*/,
10866  1 /*untilMonth*/,
10867  1 /*untilDay*/,
10868  0 /*untilTimeCode (0/15)*/,
10869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10870  },
10871  // -3:00 Uruguay %z 1974 Mar 10
10872  {
10873  &kZonePolicyUruguay /*zonePolicy*/,
10874  "" /*format*/,
10875  -720 /*offsetCode (-10800/15)*/,
10876  0 /*offsetRemainder (-10800%15)*/,
10877  0 /*deltaMinutes*/,
10878  1974 /*untilYear*/,
10879  3 /*untilMonth*/,
10880  10 /*untilDay*/,
10881  0 /*untilTimeCode (0/15)*/,
10882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10883  },
10884  // -3:00 Uruguay %z 1974 Dec 22
10885  {
10886  &kZonePolicyUruguay /*zonePolicy*/,
10887  "" /*format*/,
10888  -720 /*offsetCode (-10800/15)*/,
10889  0 /*offsetRemainder (-10800%15)*/,
10890  0 /*deltaMinutes*/,
10891  1974 /*untilYear*/,
10892  12 /*untilMonth*/,
10893  22 /*untilDay*/,
10894  0 /*untilTimeCode (0/15)*/,
10895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10896  },
10897  // -3:00 Uruguay %z
10898  {
10899  &kZonePolicyUruguay /*zonePolicy*/,
10900  "" /*format*/,
10901  -720 /*offsetCode (-10800/15)*/,
10902  0 /*offsetRemainder (-10800%15)*/,
10903  0 /*deltaMinutes*/,
10904  32767 /*untilYear*/,
10905  1 /*untilMonth*/,
10906  1 /*untilDay*/,
10907  0 /*untilTimeCode (0/15)*/,
10908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10909  },
10910 
10911 };
10912 
10913 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";
10914 
10915 const complete::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
10916  kZoneNameAmerica_Montevideo /*name*/,
10917  0xfa214780 /*zoneId*/,
10918  &kZoneContext /*zoneContext*/,
10919  11 /*numEras*/,
10920  kZoneEraAmerica_Montevideo /*eras*/,
10921  nullptr /*targetInfo*/,
10922 };
10923 
10924 //---------------------------------------------------------------------------
10925 // Zone name: America/New_York
10926 // Eras: 6
10927 //---------------------------------------------------------------------------
10928 
10929 static const complete::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
10930  // -4:56:02 - LMT 1883 Nov 18 17:00u
10931  {
10932  nullptr /*zonePolicy*/,
10933  "LMT" /*format*/,
10934  -1185 /*offsetCode (-17762/15)*/,
10935  13 /*offsetRemainder (-17762%15)*/,
10936  0 /*deltaMinutes*/,
10937  1883 /*untilYear*/,
10938  11 /*untilMonth*/,
10939  18 /*untilDay*/,
10940  4080 /*untilTimeCode (61200/15)*/,
10941  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10942  },
10943  // -5:00 US E%sT 1920
10944  {
10945  &kZonePolicyUS /*zonePolicy*/,
10946  "E%T" /*format*/,
10947  -1200 /*offsetCode (-18000/15)*/,
10948  0 /*offsetRemainder (-18000%15)*/,
10949  0 /*deltaMinutes*/,
10950  1920 /*untilYear*/,
10951  1 /*untilMonth*/,
10952  1 /*untilDay*/,
10953  0 /*untilTimeCode (0/15)*/,
10954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10955  },
10956  // -5:00 NYC E%sT 1942
10957  {
10958  &kZonePolicyNYC /*zonePolicy*/,
10959  "E%T" /*format*/,
10960  -1200 /*offsetCode (-18000/15)*/,
10961  0 /*offsetRemainder (-18000%15)*/,
10962  0 /*deltaMinutes*/,
10963  1942 /*untilYear*/,
10964  1 /*untilMonth*/,
10965  1 /*untilDay*/,
10966  0 /*untilTimeCode (0/15)*/,
10967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10968  },
10969  // -5:00 US E%sT 1946
10970  {
10971  &kZonePolicyUS /*zonePolicy*/,
10972  "E%T" /*format*/,
10973  -1200 /*offsetCode (-18000/15)*/,
10974  0 /*offsetRemainder (-18000%15)*/,
10975  0 /*deltaMinutes*/,
10976  1946 /*untilYear*/,
10977  1 /*untilMonth*/,
10978  1 /*untilDay*/,
10979  0 /*untilTimeCode (0/15)*/,
10980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10981  },
10982  // -5:00 NYC E%sT 1967
10983  {
10984  &kZonePolicyNYC /*zonePolicy*/,
10985  "E%T" /*format*/,
10986  -1200 /*offsetCode (-18000/15)*/,
10987  0 /*offsetRemainder (-18000%15)*/,
10988  0 /*deltaMinutes*/,
10989  1967 /*untilYear*/,
10990  1 /*untilMonth*/,
10991  1 /*untilDay*/,
10992  0 /*untilTimeCode (0/15)*/,
10993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10994  },
10995  // -5:00 US E%sT
10996  {
10997  &kZonePolicyUS /*zonePolicy*/,
10998  "E%T" /*format*/,
10999  -1200 /*offsetCode (-18000/15)*/,
11000  0 /*offsetRemainder (-18000%15)*/,
11001  0 /*deltaMinutes*/,
11002  32767 /*untilYear*/,
11003  1 /*untilMonth*/,
11004  1 /*untilDay*/,
11005  0 /*untilTimeCode (0/15)*/,
11006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11007  },
11008 
11009 };
11010 
11011 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";
11012 
11013 const complete::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
11014  kZoneNameAmerica_New_York /*name*/,
11015  0x1e2a7654 /*zoneId*/,
11016  &kZoneContext /*zoneContext*/,
11017  6 /*numEras*/,
11018  kZoneEraAmerica_New_York /*eras*/,
11019  nullptr /*targetInfo*/,
11020 };
11021 
11022 //---------------------------------------------------------------------------
11023 // Zone name: America/Nome
11024 // Eras: 9
11025 //---------------------------------------------------------------------------
11026 
11027 static const complete::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
11028  // 12:58:22 - LMT 1867 Oct 19 13:29:35
11029  {
11030  nullptr /*zonePolicy*/,
11031  "LMT" /*format*/,
11032  3113 /*offsetCode (46702/15)*/,
11033  7 /*offsetRemainder (46702%15)*/,
11034  0 /*deltaMinutes*/,
11035  1867 /*untilYear*/,
11036  10 /*untilMonth*/,
11037  19 /*untilDay*/,
11038  3238 /*untilTimeCode (48575/15)*/,
11039  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
11040  },
11041  // -11:01:38 - LMT 1900 Aug 20 12:00
11042  {
11043  nullptr /*zonePolicy*/,
11044  "LMT" /*format*/,
11045  -2647 /*offsetCode (-39698/15)*/,
11046  7 /*offsetRemainder (-39698%15)*/,
11047  0 /*deltaMinutes*/,
11048  1900 /*untilYear*/,
11049  8 /*untilMonth*/,
11050  20 /*untilDay*/,
11051  2880 /*untilTimeCode (43200/15)*/,
11052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11053  },
11054  // -11:00 - NST 1942
11055  {
11056  nullptr /*zonePolicy*/,
11057  "NST" /*format*/,
11058  -2640 /*offsetCode (-39600/15)*/,
11059  0 /*offsetRemainder (-39600%15)*/,
11060  0 /*deltaMinutes*/,
11061  1942 /*untilYear*/,
11062  1 /*untilMonth*/,
11063  1 /*untilDay*/,
11064  0 /*untilTimeCode (0/15)*/,
11065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11066  },
11067  // -11:00 US N%sT 1946
11068  {
11069  &kZonePolicyUS /*zonePolicy*/,
11070  "N%T" /*format*/,
11071  -2640 /*offsetCode (-39600/15)*/,
11072  0 /*offsetRemainder (-39600%15)*/,
11073  0 /*deltaMinutes*/,
11074  1946 /*untilYear*/,
11075  1 /*untilMonth*/,
11076  1 /*untilDay*/,
11077  0 /*untilTimeCode (0/15)*/,
11078  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11079  },
11080  // -11:00 - NST 1967 Apr
11081  {
11082  nullptr /*zonePolicy*/,
11083  "NST" /*format*/,
11084  -2640 /*offsetCode (-39600/15)*/,
11085  0 /*offsetRemainder (-39600%15)*/,
11086  0 /*deltaMinutes*/,
11087  1967 /*untilYear*/,
11088  4 /*untilMonth*/,
11089  1 /*untilDay*/,
11090  0 /*untilTimeCode (0/15)*/,
11091  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11092  },
11093  // -11:00 - BST 1969
11094  {
11095  nullptr /*zonePolicy*/,
11096  "BST" /*format*/,
11097  -2640 /*offsetCode (-39600/15)*/,
11098  0 /*offsetRemainder (-39600%15)*/,
11099  0 /*deltaMinutes*/,
11100  1969 /*untilYear*/,
11101  1 /*untilMonth*/,
11102  1 /*untilDay*/,
11103  0 /*untilTimeCode (0/15)*/,
11104  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11105  },
11106  // -11:00 US B%sT 1983 Oct 30 2:00
11107  {
11108  &kZonePolicyUS /*zonePolicy*/,
11109  "B%T" /*format*/,
11110  -2640 /*offsetCode (-39600/15)*/,
11111  0 /*offsetRemainder (-39600%15)*/,
11112  0 /*deltaMinutes*/,
11113  1983 /*untilYear*/,
11114  10 /*untilMonth*/,
11115  30 /*untilDay*/,
11116  480 /*untilTimeCode (7200/15)*/,
11117  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11118  },
11119  // -9:00 US Y%sT 1983 Nov 30
11120  {
11121  &kZonePolicyUS /*zonePolicy*/,
11122  "Y%T" /*format*/,
11123  -2160 /*offsetCode (-32400/15)*/,
11124  0 /*offsetRemainder (-32400%15)*/,
11125  0 /*deltaMinutes*/,
11126  1983 /*untilYear*/,
11127  11 /*untilMonth*/,
11128  30 /*untilDay*/,
11129  0 /*untilTimeCode (0/15)*/,
11130  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11131  },
11132  // -9:00 US AK%sT
11133  {
11134  &kZonePolicyUS /*zonePolicy*/,
11135  "AK%T" /*format*/,
11136  -2160 /*offsetCode (-32400/15)*/,
11137  0 /*offsetRemainder (-32400%15)*/,
11138  0 /*deltaMinutes*/,
11139  32767 /*untilYear*/,
11140  1 /*untilMonth*/,
11141  1 /*untilDay*/,
11142  0 /*untilTimeCode (0/15)*/,
11143  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11144  },
11145 
11146 };
11147 
11148 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";
11149 
11150 const complete::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
11151  kZoneNameAmerica_Nome /*name*/,
11152  0x98059b15 /*zoneId*/,
11153  &kZoneContext /*zoneContext*/,
11154  9 /*numEras*/,
11155  kZoneEraAmerica_Nome /*eras*/,
11156  nullptr /*targetInfo*/,
11157 };
11158 
11159 //---------------------------------------------------------------------------
11160 // Zone name: America/Noronha
11161 // Eras: 7
11162 //---------------------------------------------------------------------------
11163 
11164 static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
11165  // -2:09:40 - LMT 1914
11166  {
11167  nullptr /*zonePolicy*/,
11168  "LMT" /*format*/,
11169  -519 /*offsetCode (-7780/15)*/,
11170  5 /*offsetRemainder (-7780%15)*/,
11171  0 /*deltaMinutes*/,
11172  1914 /*untilYear*/,
11173  1 /*untilMonth*/,
11174  1 /*untilDay*/,
11175  0 /*untilTimeCode (0/15)*/,
11176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11177  },
11178  // -2:00 Brazil %z 1990 Sep 17
11179  {
11180  &kZonePolicyBrazil /*zonePolicy*/,
11181  "" /*format*/,
11182  -480 /*offsetCode (-7200/15)*/,
11183  0 /*offsetRemainder (-7200%15)*/,
11184  0 /*deltaMinutes*/,
11185  1990 /*untilYear*/,
11186  9 /*untilMonth*/,
11187  17 /*untilDay*/,
11188  0 /*untilTimeCode (0/15)*/,
11189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11190  },
11191  // -2:00 - %z 1999 Sep 30
11192  {
11193  nullptr /*zonePolicy*/,
11194  "" /*format*/,
11195  -480 /*offsetCode (-7200/15)*/,
11196  0 /*offsetRemainder (-7200%15)*/,
11197  0 /*deltaMinutes*/,
11198  1999 /*untilYear*/,
11199  9 /*untilMonth*/,
11200  30 /*untilDay*/,
11201  0 /*untilTimeCode (0/15)*/,
11202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11203  },
11204  // -2:00 Brazil %z 2000 Oct 15
11205  {
11206  &kZonePolicyBrazil /*zonePolicy*/,
11207  "" /*format*/,
11208  -480 /*offsetCode (-7200/15)*/,
11209  0 /*offsetRemainder (-7200%15)*/,
11210  0 /*deltaMinutes*/,
11211  2000 /*untilYear*/,
11212  10 /*untilMonth*/,
11213  15 /*untilDay*/,
11214  0 /*untilTimeCode (0/15)*/,
11215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11216  },
11217  // -2:00 - %z 2001 Sep 13
11218  {
11219  nullptr /*zonePolicy*/,
11220  "" /*format*/,
11221  -480 /*offsetCode (-7200/15)*/,
11222  0 /*offsetRemainder (-7200%15)*/,
11223  0 /*deltaMinutes*/,
11224  2001 /*untilYear*/,
11225  9 /*untilMonth*/,
11226  13 /*untilDay*/,
11227  0 /*untilTimeCode (0/15)*/,
11228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11229  },
11230  // -2:00 Brazil %z 2002 Oct 1
11231  {
11232  &kZonePolicyBrazil /*zonePolicy*/,
11233  "" /*format*/,
11234  -480 /*offsetCode (-7200/15)*/,
11235  0 /*offsetRemainder (-7200%15)*/,
11236  0 /*deltaMinutes*/,
11237  2002 /*untilYear*/,
11238  10 /*untilMonth*/,
11239  1 /*untilDay*/,
11240  0 /*untilTimeCode (0/15)*/,
11241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11242  },
11243  // -2:00 - %z
11244  {
11245  nullptr /*zonePolicy*/,
11246  "" /*format*/,
11247  -480 /*offsetCode (-7200/15)*/,
11248  0 /*offsetRemainder (-7200%15)*/,
11249  0 /*deltaMinutes*/,
11250  32767 /*untilYear*/,
11251  1 /*untilMonth*/,
11252  1 /*untilDay*/,
11253  0 /*untilTimeCode (0/15)*/,
11254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11255  },
11256 
11257 };
11258 
11259 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "\x02" "Noronha";
11260 
11261 const complete::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
11262  kZoneNameAmerica_Noronha /*name*/,
11263  0xab5116fb /*zoneId*/,
11264  &kZoneContext /*zoneContext*/,
11265  7 /*numEras*/,
11266  kZoneEraAmerica_Noronha /*eras*/,
11267  nullptr /*targetInfo*/,
11268 };
11269 
11270 //---------------------------------------------------------------------------
11271 // Zone name: America/North_Dakota/Beulah
11272 // Eras: 3
11273 //---------------------------------------------------------------------------
11274 
11275 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
11276  // -6:47:07 - LMT 1883 Nov 18 19:00u
11277  {
11278  nullptr /*zonePolicy*/,
11279  "LMT" /*format*/,
11280  -1629 /*offsetCode (-24427/15)*/,
11281  8 /*offsetRemainder (-24427%15)*/,
11282  0 /*deltaMinutes*/,
11283  1883 /*untilYear*/,
11284  11 /*untilMonth*/,
11285  18 /*untilDay*/,
11286  4560 /*untilTimeCode (68400/15)*/,
11287  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11288  },
11289  // -7:00 US M%sT 2010 Nov 7 2:00
11290  {
11291  &kZonePolicyUS /*zonePolicy*/,
11292  "M%T" /*format*/,
11293  -1680 /*offsetCode (-25200/15)*/,
11294  0 /*offsetRemainder (-25200%15)*/,
11295  0 /*deltaMinutes*/,
11296  2010 /*untilYear*/,
11297  11 /*untilMonth*/,
11298  7 /*untilDay*/,
11299  480 /*untilTimeCode (7200/15)*/,
11300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11301  },
11302  // -6:00 US C%sT
11303  {
11304  &kZonePolicyUS /*zonePolicy*/,
11305  "C%T" /*format*/,
11306  -1440 /*offsetCode (-21600/15)*/,
11307  0 /*offsetRemainder (-21600%15)*/,
11308  0 /*deltaMinutes*/,
11309  32767 /*untilYear*/,
11310  1 /*untilMonth*/,
11311  1 /*untilDay*/,
11312  0 /*untilTimeCode (0/15)*/,
11313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11314  },
11315 
11316 };
11317 
11318 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Beulah";
11319 
11320 const complete::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
11321  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
11322  0x9b52b384 /*zoneId*/,
11323  &kZoneContext /*zoneContext*/,
11324  3 /*numEras*/,
11325  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
11326  nullptr /*targetInfo*/,
11327 };
11328 
11329 //---------------------------------------------------------------------------
11330 // Zone name: America/North_Dakota/Center
11331 // Eras: 3
11332 //---------------------------------------------------------------------------
11333 
11334 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
11335  // -6:45:12 - LMT 1883 Nov 18 19:00u
11336  {
11337  nullptr /*zonePolicy*/,
11338  "LMT" /*format*/,
11339  -1621 /*offsetCode (-24312/15)*/,
11340  3 /*offsetRemainder (-24312%15)*/,
11341  0 /*deltaMinutes*/,
11342  1883 /*untilYear*/,
11343  11 /*untilMonth*/,
11344  18 /*untilDay*/,
11345  4560 /*untilTimeCode (68400/15)*/,
11346  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11347  },
11348  // -7:00 US M%sT 1992 Oct 25 2:00
11349  {
11350  &kZonePolicyUS /*zonePolicy*/,
11351  "M%T" /*format*/,
11352  -1680 /*offsetCode (-25200/15)*/,
11353  0 /*offsetRemainder (-25200%15)*/,
11354  0 /*deltaMinutes*/,
11355  1992 /*untilYear*/,
11356  10 /*untilMonth*/,
11357  25 /*untilDay*/,
11358  480 /*untilTimeCode (7200/15)*/,
11359  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11360  },
11361  // -6:00 US C%sT
11362  {
11363  &kZonePolicyUS /*zonePolicy*/,
11364  "C%T" /*format*/,
11365  -1440 /*offsetCode (-21600/15)*/,
11366  0 /*offsetRemainder (-21600%15)*/,
11367  0 /*deltaMinutes*/,
11368  32767 /*untilYear*/,
11369  1 /*untilMonth*/,
11370  1 /*untilDay*/,
11371  0 /*untilTimeCode (0/15)*/,
11372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11373  },
11374 
11375 };
11376 
11377 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";
11378 
11379 const complete::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
11380  kZoneNameAmerica_North_Dakota_Center /*name*/,
11381  0x9da42814 /*zoneId*/,
11382  &kZoneContext /*zoneContext*/,
11383  3 /*numEras*/,
11384  kZoneEraAmerica_North_Dakota_Center /*eras*/,
11385  nullptr /*targetInfo*/,
11386 };
11387 
11388 //---------------------------------------------------------------------------
11389 // Zone name: America/North_Dakota/New_Salem
11390 // Eras: 3
11391 //---------------------------------------------------------------------------
11392 
11393 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
11394  // -6:45:39 - LMT 1883 Nov 18 19:00u
11395  {
11396  nullptr /*zonePolicy*/,
11397  "LMT" /*format*/,
11398  -1623 /*offsetCode (-24339/15)*/,
11399  6 /*offsetRemainder (-24339%15)*/,
11400  0 /*deltaMinutes*/,
11401  1883 /*untilYear*/,
11402  11 /*untilMonth*/,
11403  18 /*untilDay*/,
11404  4560 /*untilTimeCode (68400/15)*/,
11405  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11406  },
11407  // -7:00 US M%sT 2003 Oct 26 2:00
11408  {
11409  &kZonePolicyUS /*zonePolicy*/,
11410  "M%T" /*format*/,
11411  -1680 /*offsetCode (-25200/15)*/,
11412  0 /*offsetRemainder (-25200%15)*/,
11413  0 /*deltaMinutes*/,
11414  2003 /*untilYear*/,
11415  10 /*untilMonth*/,
11416  26 /*untilDay*/,
11417  480 /*untilTimeCode (7200/15)*/,
11418  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11419  },
11420  // -6:00 US C%sT
11421  {
11422  &kZonePolicyUS /*zonePolicy*/,
11423  "C%T" /*format*/,
11424  -1440 /*offsetCode (-21600/15)*/,
11425  0 /*offsetRemainder (-21600%15)*/,
11426  0 /*deltaMinutes*/,
11427  32767 /*untilYear*/,
11428  1 /*untilMonth*/,
11429  1 /*untilDay*/,
11430  0 /*untilTimeCode (0/15)*/,
11431  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11432  },
11433 
11434 };
11435 
11436 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/New_Salem";
11437 
11438 const complete::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
11439  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
11440  0x04f9958e /*zoneId*/,
11441  &kZoneContext /*zoneContext*/,
11442  3 /*numEras*/,
11443  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
11444  nullptr /*targetInfo*/,
11445 };
11446 
11447 //---------------------------------------------------------------------------
11448 // Zone name: America/Nuuk
11449 // Eras: 5
11450 //---------------------------------------------------------------------------
11451 
11452 static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
11453  // -3:26:56 - LMT 1916 Jul 28
11454  {
11455  nullptr /*zonePolicy*/,
11456  "LMT" /*format*/,
11457  -828 /*offsetCode (-12416/15)*/,
11458  4 /*offsetRemainder (-12416%15)*/,
11459  0 /*deltaMinutes*/,
11460  1916 /*untilYear*/,
11461  7 /*untilMonth*/,
11462  28 /*untilDay*/,
11463  0 /*untilTimeCode (0/15)*/,
11464  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11465  },
11466  // -3:00 - %z 1980 Apr 6 2:00
11467  {
11468  nullptr /*zonePolicy*/,
11469  "" /*format*/,
11470  -720 /*offsetCode (-10800/15)*/,
11471  0 /*offsetRemainder (-10800%15)*/,
11472  0 /*deltaMinutes*/,
11473  1980 /*untilYear*/,
11474  4 /*untilMonth*/,
11475  6 /*untilDay*/,
11476  480 /*untilTimeCode (7200/15)*/,
11477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11478  },
11479  // -3:00 EU %z 2023 Mar 26 1:00u
11480  {
11481  &kZonePolicyEU /*zonePolicy*/,
11482  "" /*format*/,
11483  -720 /*offsetCode (-10800/15)*/,
11484  0 /*offsetRemainder (-10800%15)*/,
11485  0 /*deltaMinutes*/,
11486  2023 /*untilYear*/,
11487  3 /*untilMonth*/,
11488  26 /*untilDay*/,
11489  240 /*untilTimeCode (3600/15)*/,
11490  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11491  },
11492  // -2:00 - %z 2023 Oct 29 1:00u
11493  {
11494  nullptr /*zonePolicy*/,
11495  "" /*format*/,
11496  -480 /*offsetCode (-7200/15)*/,
11497  0 /*offsetRemainder (-7200%15)*/,
11498  0 /*deltaMinutes*/,
11499  2023 /*untilYear*/,
11500  10 /*untilMonth*/,
11501  29 /*untilDay*/,
11502  240 /*untilTimeCode (3600/15)*/,
11503  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11504  },
11505  // -2:00 EU %z
11506  {
11507  &kZonePolicyEU /*zonePolicy*/,
11508  "" /*format*/,
11509  -480 /*offsetCode (-7200/15)*/,
11510  0 /*offsetRemainder (-7200%15)*/,
11511  0 /*deltaMinutes*/,
11512  32767 /*untilYear*/,
11513  1 /*untilMonth*/,
11514  1 /*untilDay*/,
11515  0 /*untilTimeCode (0/15)*/,
11516  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11517  },
11518 
11519 };
11520 
11521 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "\x02" "Nuuk";
11522 
11523 const complete::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
11524  kZoneNameAmerica_Nuuk /*name*/,
11525  0x9805b5a9 /*zoneId*/,
11526  &kZoneContext /*zoneContext*/,
11527  5 /*numEras*/,
11528  kZoneEraAmerica_Nuuk /*eras*/,
11529  nullptr /*targetInfo*/,
11530 };
11531 
11532 //---------------------------------------------------------------------------
11533 // Zone name: America/Ojinaga
11534 // Eras: 11
11535 //---------------------------------------------------------------------------
11536 
11537 static const complete::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
11538  // -6:57:40 - LMT 1922 Jan 1 7:00u
11539  {
11540  nullptr /*zonePolicy*/,
11541  "LMT" /*format*/,
11542  -1671 /*offsetCode (-25060/15)*/,
11543  5 /*offsetRemainder (-25060%15)*/,
11544  0 /*deltaMinutes*/,
11545  1922 /*untilYear*/,
11546  1 /*untilMonth*/,
11547  1 /*untilDay*/,
11548  1680 /*untilTimeCode (25200/15)*/,
11549  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11550  },
11551  // -7:00 - MST 1927 Jun 10
11552  {
11553  nullptr /*zonePolicy*/,
11554  "MST" /*format*/,
11555  -1680 /*offsetCode (-25200/15)*/,
11556  0 /*offsetRemainder (-25200%15)*/,
11557  0 /*deltaMinutes*/,
11558  1927 /*untilYear*/,
11559  6 /*untilMonth*/,
11560  10 /*untilDay*/,
11561  0 /*untilTimeCode (0/15)*/,
11562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11563  },
11564  // -6:00 - CST 1930 Nov 15
11565  {
11566  nullptr /*zonePolicy*/,
11567  "CST" /*format*/,
11568  -1440 /*offsetCode (-21600/15)*/,
11569  0 /*offsetRemainder (-21600%15)*/,
11570  0 /*deltaMinutes*/,
11571  1930 /*untilYear*/,
11572  11 /*untilMonth*/,
11573  15 /*untilDay*/,
11574  0 /*untilTimeCode (0/15)*/,
11575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11576  },
11577  // -7:00 Mexico M%sT 1932 Apr 1
11578  {
11579  &kZonePolicyMexico /*zonePolicy*/,
11580  "M%T" /*format*/,
11581  -1680 /*offsetCode (-25200/15)*/,
11582  0 /*offsetRemainder (-25200%15)*/,
11583  0 /*deltaMinutes*/,
11584  1932 /*untilYear*/,
11585  4 /*untilMonth*/,
11586  1 /*untilDay*/,
11587  0 /*untilTimeCode (0/15)*/,
11588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11589  },
11590  // -6:00 - CST 1996
11591  {
11592  nullptr /*zonePolicy*/,
11593  "CST" /*format*/,
11594  -1440 /*offsetCode (-21600/15)*/,
11595  0 /*offsetRemainder (-21600%15)*/,
11596  0 /*deltaMinutes*/,
11597  1996 /*untilYear*/,
11598  1 /*untilMonth*/,
11599  1 /*untilDay*/,
11600  0 /*untilTimeCode (0/15)*/,
11601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11602  },
11603  // -6:00 Mexico C%sT 1998
11604  {
11605  &kZonePolicyMexico /*zonePolicy*/,
11606  "C%T" /*format*/,
11607  -1440 /*offsetCode (-21600/15)*/,
11608  0 /*offsetRemainder (-21600%15)*/,
11609  0 /*deltaMinutes*/,
11610  1998 /*untilYear*/,
11611  1 /*untilMonth*/,
11612  1 /*untilDay*/,
11613  0 /*untilTimeCode (0/15)*/,
11614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11615  },
11616  // -6:00 - CST 1998 Apr Sun>=1 3:00
11617  {
11618  nullptr /*zonePolicy*/,
11619  "CST" /*format*/,
11620  -1440 /*offsetCode (-21600/15)*/,
11621  0 /*offsetRemainder (-21600%15)*/,
11622  0 /*deltaMinutes*/,
11623  1998 /*untilYear*/,
11624  4 /*untilMonth*/,
11625  5 /*untilDay*/,
11626  720 /*untilTimeCode (10800/15)*/,
11627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11628  },
11629  // -7:00 Mexico M%sT 2010
11630  {
11631  &kZonePolicyMexico /*zonePolicy*/,
11632  "M%T" /*format*/,
11633  -1680 /*offsetCode (-25200/15)*/,
11634  0 /*offsetRemainder (-25200%15)*/,
11635  0 /*deltaMinutes*/,
11636  2010 /*untilYear*/,
11637  1 /*untilMonth*/,
11638  1 /*untilDay*/,
11639  0 /*untilTimeCode (0/15)*/,
11640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11641  },
11642  // -7:00 US M%sT 2022 Oct 30 2:00
11643  {
11644  &kZonePolicyUS /*zonePolicy*/,
11645  "M%T" /*format*/,
11646  -1680 /*offsetCode (-25200/15)*/,
11647  0 /*offsetRemainder (-25200%15)*/,
11648  0 /*deltaMinutes*/,
11649  2022 /*untilYear*/,
11650  10 /*untilMonth*/,
11651  30 /*untilDay*/,
11652  480 /*untilTimeCode (7200/15)*/,
11653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11654  },
11655  // -6:00 - CST 2022 Nov 30 0:00
11656  {
11657  nullptr /*zonePolicy*/,
11658  "CST" /*format*/,
11659  -1440 /*offsetCode (-21600/15)*/,
11660  0 /*offsetRemainder (-21600%15)*/,
11661  0 /*deltaMinutes*/,
11662  2022 /*untilYear*/,
11663  11 /*untilMonth*/,
11664  30 /*untilDay*/,
11665  0 /*untilTimeCode (0/15)*/,
11666  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11667  },
11668  // -6:00 US C%sT
11669  {
11670  &kZonePolicyUS /*zonePolicy*/,
11671  "C%T" /*format*/,
11672  -1440 /*offsetCode (-21600/15)*/,
11673  0 /*offsetRemainder (-21600%15)*/,
11674  0 /*deltaMinutes*/,
11675  32767 /*untilYear*/,
11676  1 /*untilMonth*/,
11677  1 /*untilDay*/,
11678  0 /*untilTimeCode (0/15)*/,
11679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11680  },
11681 
11682 };
11683 
11684 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "\x02" "Ojinaga";
11685 
11686 const complete::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
11687  kZoneNameAmerica_Ojinaga /*name*/,
11688  0xebfde83f /*zoneId*/,
11689  &kZoneContext /*zoneContext*/,
11690  11 /*numEras*/,
11691  kZoneEraAmerica_Ojinaga /*eras*/,
11692  nullptr /*targetInfo*/,
11693 };
11694 
11695 //---------------------------------------------------------------------------
11696 // Zone name: America/Panama
11697 // Eras: 3
11698 //---------------------------------------------------------------------------
11699 
11700 static const complete::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
11701  // -5:18:08 - LMT 1890
11702  {
11703  nullptr /*zonePolicy*/,
11704  "LMT" /*format*/,
11705  -1273 /*offsetCode (-19088/15)*/,
11706  7 /*offsetRemainder (-19088%15)*/,
11707  0 /*deltaMinutes*/,
11708  1890 /*untilYear*/,
11709  1 /*untilMonth*/,
11710  1 /*untilDay*/,
11711  0 /*untilTimeCode (0/15)*/,
11712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11713  },
11714  // -5:19:36 - CMT 1908 Apr 22
11715  {
11716  nullptr /*zonePolicy*/,
11717  "CMT" /*format*/,
11718  -1279 /*offsetCode (-19176/15)*/,
11719  9 /*offsetRemainder (-19176%15)*/,
11720  0 /*deltaMinutes*/,
11721  1908 /*untilYear*/,
11722  4 /*untilMonth*/,
11723  22 /*untilDay*/,
11724  0 /*untilTimeCode (0/15)*/,
11725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11726  },
11727  // -5:00 - EST
11728  {
11729  nullptr /*zonePolicy*/,
11730  "EST" /*format*/,
11731  -1200 /*offsetCode (-18000/15)*/,
11732  0 /*offsetRemainder (-18000%15)*/,
11733  0 /*deltaMinutes*/,
11734  32767 /*untilYear*/,
11735  1 /*untilMonth*/,
11736  1 /*untilDay*/,
11737  0 /*untilTimeCode (0/15)*/,
11738  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11739  },
11740 
11741 };
11742 
11743 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";
11744 
11745 const complete::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
11746  kZoneNameAmerica_Panama /*name*/,
11747  0xb3863854 /*zoneId*/,
11748  &kZoneContext /*zoneContext*/,
11749  3 /*numEras*/,
11750  kZoneEraAmerica_Panama /*eras*/,
11751  nullptr /*targetInfo*/,
11752 };
11753 
11754 //---------------------------------------------------------------------------
11755 // Zone name: America/Paramaribo
11756 // Eras: 5
11757 //---------------------------------------------------------------------------
11758 
11759 static const complete::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
11760  // -3:40:40 - LMT 1911
11761  {
11762  nullptr /*zonePolicy*/,
11763  "LMT" /*format*/,
11764  -883 /*offsetCode (-13240/15)*/,
11765  5 /*offsetRemainder (-13240%15)*/,
11766  0 /*deltaMinutes*/,
11767  1911 /*untilYear*/,
11768  1 /*untilMonth*/,
11769  1 /*untilDay*/,
11770  0 /*untilTimeCode (0/15)*/,
11771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11772  },
11773  // -3:40:52 - PMT 1935
11774  {
11775  nullptr /*zonePolicy*/,
11776  "PMT" /*format*/,
11777  -884 /*offsetCode (-13252/15)*/,
11778  8 /*offsetRemainder (-13252%15)*/,
11779  0 /*deltaMinutes*/,
11780  1935 /*untilYear*/,
11781  1 /*untilMonth*/,
11782  1 /*untilDay*/,
11783  0 /*untilTimeCode (0/15)*/,
11784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11785  },
11786  // -3:40:36 - PMT 1945 Oct
11787  {
11788  nullptr /*zonePolicy*/,
11789  "PMT" /*format*/,
11790  -883 /*offsetCode (-13236/15)*/,
11791  9 /*offsetRemainder (-13236%15)*/,
11792  0 /*deltaMinutes*/,
11793  1945 /*untilYear*/,
11794  10 /*untilMonth*/,
11795  1 /*untilDay*/,
11796  0 /*untilTimeCode (0/15)*/,
11797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11798  },
11799  // -3:30 - %z 1984 Oct
11800  {
11801  nullptr /*zonePolicy*/,
11802  "" /*format*/,
11803  -840 /*offsetCode (-12600/15)*/,
11804  0 /*offsetRemainder (-12600%15)*/,
11805  0 /*deltaMinutes*/,
11806  1984 /*untilYear*/,
11807  10 /*untilMonth*/,
11808  1 /*untilDay*/,
11809  0 /*untilTimeCode (0/15)*/,
11810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11811  },
11812  // -3:00 - %z
11813  {
11814  nullptr /*zonePolicy*/,
11815  "" /*format*/,
11816  -720 /*offsetCode (-10800/15)*/,
11817  0 /*offsetRemainder (-10800%15)*/,
11818  0 /*deltaMinutes*/,
11819  32767 /*untilYear*/,
11820  1 /*untilMonth*/,
11821  1 /*untilDay*/,
11822  0 /*untilTimeCode (0/15)*/,
11823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11824  },
11825 
11826 };
11827 
11828 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";
11829 
11830 const complete::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
11831  kZoneNameAmerica_Paramaribo /*name*/,
11832  0xb319e4c4 /*zoneId*/,
11833  &kZoneContext /*zoneContext*/,
11834  5 /*numEras*/,
11835  kZoneEraAmerica_Paramaribo /*eras*/,
11836  nullptr /*targetInfo*/,
11837 };
11838 
11839 //---------------------------------------------------------------------------
11840 // Zone name: America/Phoenix
11841 // Eras: 7
11842 //---------------------------------------------------------------------------
11843 
11844 static const complete::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
11845  // -7:28:18 - LMT 1883 Nov 18 19:00u
11846  {
11847  nullptr /*zonePolicy*/,
11848  "LMT" /*format*/,
11849  -1794 /*offsetCode (-26898/15)*/,
11850  12 /*offsetRemainder (-26898%15)*/,
11851  0 /*deltaMinutes*/,
11852  1883 /*untilYear*/,
11853  11 /*untilMonth*/,
11854  18 /*untilDay*/,
11855  4560 /*untilTimeCode (68400/15)*/,
11856  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11857  },
11858  // -7:00 US M%sT 1944 Jan 1 0:01
11859  {
11860  &kZonePolicyUS /*zonePolicy*/,
11861  "M%T" /*format*/,
11862  -1680 /*offsetCode (-25200/15)*/,
11863  0 /*offsetRemainder (-25200%15)*/,
11864  0 /*deltaMinutes*/,
11865  1944 /*untilYear*/,
11866  1 /*untilMonth*/,
11867  1 /*untilDay*/,
11868  4 /*untilTimeCode (60/15)*/,
11869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11870  },
11871  // -7:00 - MST 1944 Apr 1 0:01
11872  {
11873  nullptr /*zonePolicy*/,
11874  "MST" /*format*/,
11875  -1680 /*offsetCode (-25200/15)*/,
11876  0 /*offsetRemainder (-25200%15)*/,
11877  0 /*deltaMinutes*/,
11878  1944 /*untilYear*/,
11879  4 /*untilMonth*/,
11880  1 /*untilDay*/,
11881  4 /*untilTimeCode (60/15)*/,
11882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11883  },
11884  // -7:00 US M%sT 1944 Oct 1 0:01
11885  {
11886  &kZonePolicyUS /*zonePolicy*/,
11887  "M%T" /*format*/,
11888  -1680 /*offsetCode (-25200/15)*/,
11889  0 /*offsetRemainder (-25200%15)*/,
11890  0 /*deltaMinutes*/,
11891  1944 /*untilYear*/,
11892  10 /*untilMonth*/,
11893  1 /*untilDay*/,
11894  4 /*untilTimeCode (60/15)*/,
11895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11896  },
11897  // -7:00 - MST 1967
11898  {
11899  nullptr /*zonePolicy*/,
11900  "MST" /*format*/,
11901  -1680 /*offsetCode (-25200/15)*/,
11902  0 /*offsetRemainder (-25200%15)*/,
11903  0 /*deltaMinutes*/,
11904  1967 /*untilYear*/,
11905  1 /*untilMonth*/,
11906  1 /*untilDay*/,
11907  0 /*untilTimeCode (0/15)*/,
11908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11909  },
11910  // -7:00 US M%sT 1968 Mar 21
11911  {
11912  &kZonePolicyUS /*zonePolicy*/,
11913  "M%T" /*format*/,
11914  -1680 /*offsetCode (-25200/15)*/,
11915  0 /*offsetRemainder (-25200%15)*/,
11916  0 /*deltaMinutes*/,
11917  1968 /*untilYear*/,
11918  3 /*untilMonth*/,
11919  21 /*untilDay*/,
11920  0 /*untilTimeCode (0/15)*/,
11921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11922  },
11923  // -7:00 - MST
11924  {
11925  nullptr /*zonePolicy*/,
11926  "MST" /*format*/,
11927  -1680 /*offsetCode (-25200/15)*/,
11928  0 /*offsetRemainder (-25200%15)*/,
11929  0 /*deltaMinutes*/,
11930  32767 /*untilYear*/,
11931  1 /*untilMonth*/,
11932  1 /*untilDay*/,
11933  0 /*untilTimeCode (0/15)*/,
11934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11935  },
11936 
11937 };
11938 
11939 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";
11940 
11941 const complete::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
11942  kZoneNameAmerica_Phoenix /*name*/,
11943  0x34b5af01 /*zoneId*/,
11944  &kZoneContext /*zoneContext*/,
11945  7 /*numEras*/,
11946  kZoneEraAmerica_Phoenix /*eras*/,
11947  nullptr /*targetInfo*/,
11948 };
11949 
11950 //---------------------------------------------------------------------------
11951 // Zone name: America/Port-au-Prince
11952 // Eras: 3
11953 //---------------------------------------------------------------------------
11954 
11955 static const complete::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
11956  // -4:49:20 - LMT 1890
11957  {
11958  nullptr /*zonePolicy*/,
11959  "LMT" /*format*/,
11960  -1158 /*offsetCode (-17360/15)*/,
11961  10 /*offsetRemainder (-17360%15)*/,
11962  0 /*deltaMinutes*/,
11963  1890 /*untilYear*/,
11964  1 /*untilMonth*/,
11965  1 /*untilDay*/,
11966  0 /*untilTimeCode (0/15)*/,
11967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11968  },
11969  // -4:49 - PPMT 1917 Jan 24 12:00
11970  {
11971  nullptr /*zonePolicy*/,
11972  "PPMT" /*format*/,
11973  -1156 /*offsetCode (-17340/15)*/,
11974  0 /*offsetRemainder (-17340%15)*/,
11975  0 /*deltaMinutes*/,
11976  1917 /*untilYear*/,
11977  1 /*untilMonth*/,
11978  24 /*untilDay*/,
11979  2880 /*untilTimeCode (43200/15)*/,
11980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11981  },
11982  // -5:00 Haiti E%sT
11983  {
11984  &kZonePolicyHaiti /*zonePolicy*/,
11985  "E%T" /*format*/,
11986  -1200 /*offsetCode (-18000/15)*/,
11987  0 /*offsetRemainder (-18000%15)*/,
11988  0 /*deltaMinutes*/,
11989  32767 /*untilYear*/,
11990  1 /*untilMonth*/,
11991  1 /*untilDay*/,
11992  0 /*untilTimeCode (0/15)*/,
11993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11994  },
11995 
11996 };
11997 
11998 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";
11999 
12000 const complete::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
12001  kZoneNameAmerica_Port_au_Prince /*name*/,
12002  0x8e4a7bdc /*zoneId*/,
12003  &kZoneContext /*zoneContext*/,
12004  3 /*numEras*/,
12005  kZoneEraAmerica_Port_au_Prince /*eras*/,
12006  nullptr /*targetInfo*/,
12007 };
12008 
12009 //---------------------------------------------------------------------------
12010 // Zone name: America/Porto_Velho
12011 // Eras: 3
12012 //---------------------------------------------------------------------------
12013 
12014 static const complete::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
12015  // -4:15:36 - LMT 1914
12016  {
12017  nullptr /*zonePolicy*/,
12018  "LMT" /*format*/,
12019  -1023 /*offsetCode (-15336/15)*/,
12020  9 /*offsetRemainder (-15336%15)*/,
12021  0 /*deltaMinutes*/,
12022  1914 /*untilYear*/,
12023  1 /*untilMonth*/,
12024  1 /*untilDay*/,
12025  0 /*untilTimeCode (0/15)*/,
12026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12027  },
12028  // -4:00 Brazil %z 1988 Sep 12
12029  {
12030  &kZonePolicyBrazil /*zonePolicy*/,
12031  "" /*format*/,
12032  -960 /*offsetCode (-14400/15)*/,
12033  0 /*offsetRemainder (-14400%15)*/,
12034  0 /*deltaMinutes*/,
12035  1988 /*untilYear*/,
12036  9 /*untilMonth*/,
12037  12 /*untilDay*/,
12038  0 /*untilTimeCode (0/15)*/,
12039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12040  },
12041  // -4:00 - %z
12042  {
12043  nullptr /*zonePolicy*/,
12044  "" /*format*/,
12045  -960 /*offsetCode (-14400/15)*/,
12046  0 /*offsetRemainder (-14400%15)*/,
12047  0 /*deltaMinutes*/,
12048  32767 /*untilYear*/,
12049  1 /*untilMonth*/,
12050  1 /*untilDay*/,
12051  0 /*untilTimeCode (0/15)*/,
12052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12053  },
12054 
12055 };
12056 
12057 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";
12058 
12059 const complete::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
12060  kZoneNameAmerica_Porto_Velho /*name*/,
12061  0x6b1aac77 /*zoneId*/,
12062  &kZoneContext /*zoneContext*/,
12063  3 /*numEras*/,
12064  kZoneEraAmerica_Porto_Velho /*eras*/,
12065  nullptr /*targetInfo*/,
12066 };
12067 
12068 //---------------------------------------------------------------------------
12069 // Zone name: America/Puerto_Rico
12070 // Eras: 4
12071 //---------------------------------------------------------------------------
12072 
12073 static const complete::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
12074  // -4:24:25 - LMT 1899 Mar 28 12:00
12075  {
12076  nullptr /*zonePolicy*/,
12077  "LMT" /*format*/,
12078  -1058 /*offsetCode (-15865/15)*/,
12079  5 /*offsetRemainder (-15865%15)*/,
12080  0 /*deltaMinutes*/,
12081  1899 /*untilYear*/,
12082  3 /*untilMonth*/,
12083  28 /*untilDay*/,
12084  2880 /*untilTimeCode (43200/15)*/,
12085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12086  },
12087  // -4:00 - AST 1942 May 3
12088  {
12089  nullptr /*zonePolicy*/,
12090  "AST" /*format*/,
12091  -960 /*offsetCode (-14400/15)*/,
12092  0 /*offsetRemainder (-14400%15)*/,
12093  0 /*deltaMinutes*/,
12094  1942 /*untilYear*/,
12095  5 /*untilMonth*/,
12096  3 /*untilDay*/,
12097  0 /*untilTimeCode (0/15)*/,
12098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12099  },
12100  // -4:00 US A%sT 1946
12101  {
12102  &kZonePolicyUS /*zonePolicy*/,
12103  "A%T" /*format*/,
12104  -960 /*offsetCode (-14400/15)*/,
12105  0 /*offsetRemainder (-14400%15)*/,
12106  0 /*deltaMinutes*/,
12107  1946 /*untilYear*/,
12108  1 /*untilMonth*/,
12109  1 /*untilDay*/,
12110  0 /*untilTimeCode (0/15)*/,
12111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12112  },
12113  // -4:00 - AST
12114  {
12115  nullptr /*zonePolicy*/,
12116  "AST" /*format*/,
12117  -960 /*offsetCode (-14400/15)*/,
12118  0 /*offsetRemainder (-14400%15)*/,
12119  0 /*deltaMinutes*/,
12120  32767 /*untilYear*/,
12121  1 /*untilMonth*/,
12122  1 /*untilDay*/,
12123  0 /*untilTimeCode (0/15)*/,
12124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12125  },
12126 
12127 };
12128 
12129 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";
12130 
12131 const complete::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
12132  kZoneNameAmerica_Puerto_Rico /*name*/,
12133  0x6752ca31 /*zoneId*/,
12134  &kZoneContext /*zoneContext*/,
12135  4 /*numEras*/,
12136  kZoneEraAmerica_Puerto_Rico /*eras*/,
12137  nullptr /*targetInfo*/,
12138 };
12139 
12140 //---------------------------------------------------------------------------
12141 // Zone name: America/Punta_Arenas
12142 // Eras: 14
12143 //---------------------------------------------------------------------------
12144 
12145 static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
12146  // -4:43:40 - LMT 1890
12147  {
12148  nullptr /*zonePolicy*/,
12149  "LMT" /*format*/,
12150  -1135 /*offsetCode (-17020/15)*/,
12151  5 /*offsetRemainder (-17020%15)*/,
12152  0 /*deltaMinutes*/,
12153  1890 /*untilYear*/,
12154  1 /*untilMonth*/,
12155  1 /*untilDay*/,
12156  0 /*untilTimeCode (0/15)*/,
12157  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12158  },
12159  // -4:42:45 - SMT 1910 Jan 10
12160  {
12161  nullptr /*zonePolicy*/,
12162  "SMT" /*format*/,
12163  -1131 /*offsetCode (-16965/15)*/,
12164  0 /*offsetRemainder (-16965%15)*/,
12165  0 /*deltaMinutes*/,
12166  1910 /*untilYear*/,
12167  1 /*untilMonth*/,
12168  10 /*untilDay*/,
12169  0 /*untilTimeCode (0/15)*/,
12170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12171  },
12172  // -5:00 - %z 1916 Jul 1
12173  {
12174  nullptr /*zonePolicy*/,
12175  "" /*format*/,
12176  -1200 /*offsetCode (-18000/15)*/,
12177  0 /*offsetRemainder (-18000%15)*/,
12178  0 /*deltaMinutes*/,
12179  1916 /*untilYear*/,
12180  7 /*untilMonth*/,
12181  1 /*untilDay*/,
12182  0 /*untilTimeCode (0/15)*/,
12183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12184  },
12185  // -4:42:45 - SMT 1918 Sep 10
12186  {
12187  nullptr /*zonePolicy*/,
12188  "SMT" /*format*/,
12189  -1131 /*offsetCode (-16965/15)*/,
12190  0 /*offsetRemainder (-16965%15)*/,
12191  0 /*deltaMinutes*/,
12192  1918 /*untilYear*/,
12193  9 /*untilMonth*/,
12194  10 /*untilDay*/,
12195  0 /*untilTimeCode (0/15)*/,
12196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12197  },
12198  // -4:00 - %z 1919 Jul 1
12199  {
12200  nullptr /*zonePolicy*/,
12201  "" /*format*/,
12202  -960 /*offsetCode (-14400/15)*/,
12203  0 /*offsetRemainder (-14400%15)*/,
12204  0 /*deltaMinutes*/,
12205  1919 /*untilYear*/,
12206  7 /*untilMonth*/,
12207  1 /*untilDay*/,
12208  0 /*untilTimeCode (0/15)*/,
12209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12210  },
12211  // -4:42:45 - SMT 1927 Sep 1
12212  {
12213  nullptr /*zonePolicy*/,
12214  "SMT" /*format*/,
12215  -1131 /*offsetCode (-16965/15)*/,
12216  0 /*offsetRemainder (-16965%15)*/,
12217  0 /*deltaMinutes*/,
12218  1927 /*untilYear*/,
12219  9 /*untilMonth*/,
12220  1 /*untilDay*/,
12221  0 /*untilTimeCode (0/15)*/,
12222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12223  },
12224  // -5:00 Chile %z 1932 Sep 1
12225  {
12226  &kZonePolicyChile /*zonePolicy*/,
12227  "" /*format*/,
12228  -1200 /*offsetCode (-18000/15)*/,
12229  0 /*offsetRemainder (-18000%15)*/,
12230  0 /*deltaMinutes*/,
12231  1932 /*untilYear*/,
12232  9 /*untilMonth*/,
12233  1 /*untilDay*/,
12234  0 /*untilTimeCode (0/15)*/,
12235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12236  },
12237  // -4:00 - %z 1942 Jun 1
12238  {
12239  nullptr /*zonePolicy*/,
12240  "" /*format*/,
12241  -960 /*offsetCode (-14400/15)*/,
12242  0 /*offsetRemainder (-14400%15)*/,
12243  0 /*deltaMinutes*/,
12244  1942 /*untilYear*/,
12245  6 /*untilMonth*/,
12246  1 /*untilDay*/,
12247  0 /*untilTimeCode (0/15)*/,
12248  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12249  },
12250  // -5:00 - %z 1942 Aug 1
12251  {
12252  nullptr /*zonePolicy*/,
12253  "" /*format*/,
12254  -1200 /*offsetCode (-18000/15)*/,
12255  0 /*offsetRemainder (-18000%15)*/,
12256  0 /*deltaMinutes*/,
12257  1942 /*untilYear*/,
12258  8 /*untilMonth*/,
12259  1 /*untilDay*/,
12260  0 /*untilTimeCode (0/15)*/,
12261  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12262  },
12263  // -4:00 - %z 1946 Aug 28 24:00
12264  {
12265  nullptr /*zonePolicy*/,
12266  "" /*format*/,
12267  -960 /*offsetCode (-14400/15)*/,
12268  0 /*offsetRemainder (-14400%15)*/,
12269  0 /*deltaMinutes*/,
12270  1946 /*untilYear*/,
12271  8 /*untilMonth*/,
12272  28 /*untilDay*/,
12273  5760 /*untilTimeCode (86400/15)*/,
12274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12275  },
12276  // -5:00 1:00 %z 1947 Mar 31 24:00
12277  {
12278  nullptr /*zonePolicy*/,
12279  "" /*format*/,
12280  -1200 /*offsetCode (-18000/15)*/,
12281  0 /*offsetRemainder (-18000%15)*/,
12282  60 /*deltaMinutes*/,
12283  1947 /*untilYear*/,
12284  3 /*untilMonth*/,
12285  31 /*untilDay*/,
12286  5760 /*untilTimeCode (86400/15)*/,
12287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12288  },
12289  // -5:00 - %z 1947 May 21 23:00
12290  {
12291  nullptr /*zonePolicy*/,
12292  "" /*format*/,
12293  -1200 /*offsetCode (-18000/15)*/,
12294  0 /*offsetRemainder (-18000%15)*/,
12295  0 /*deltaMinutes*/,
12296  1947 /*untilYear*/,
12297  5 /*untilMonth*/,
12298  21 /*untilDay*/,
12299  5520 /*untilTimeCode (82800/15)*/,
12300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12301  },
12302  // -4:00 Chile %z 2016 Dec 4
12303  {
12304  &kZonePolicyChile /*zonePolicy*/,
12305  "" /*format*/,
12306  -960 /*offsetCode (-14400/15)*/,
12307  0 /*offsetRemainder (-14400%15)*/,
12308  0 /*deltaMinutes*/,
12309  2016 /*untilYear*/,
12310  12 /*untilMonth*/,
12311  4 /*untilDay*/,
12312  0 /*untilTimeCode (0/15)*/,
12313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12314  },
12315  // -3:00 - %z
12316  {
12317  nullptr /*zonePolicy*/,
12318  "" /*format*/,
12319  -720 /*offsetCode (-10800/15)*/,
12320  0 /*offsetRemainder (-10800%15)*/,
12321  0 /*deltaMinutes*/,
12322  32767 /*untilYear*/,
12323  1 /*untilMonth*/,
12324  1 /*untilDay*/,
12325  0 /*untilTimeCode (0/15)*/,
12326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12327  },
12328 
12329 };
12330 
12331 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "\x02" "Punta_Arenas";
12332 
12333 const complete::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
12334  kZoneNameAmerica_Punta_Arenas /*name*/,
12335  0xc2c3bce7 /*zoneId*/,
12336  &kZoneContext /*zoneContext*/,
12337  14 /*numEras*/,
12338  kZoneEraAmerica_Punta_Arenas /*eras*/,
12339  nullptr /*targetInfo*/,
12340 };
12341 
12342 //---------------------------------------------------------------------------
12343 // Zone name: America/Rankin_Inlet
12344 // Eras: 4
12345 //---------------------------------------------------------------------------
12346 
12347 static const complete::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
12348  // 0 - -00 1957
12349  {
12350  nullptr /*zonePolicy*/,
12351  "-00" /*format*/,
12352  0 /*offsetCode (0/15)*/,
12353  0 /*offsetRemainder (0%15)*/,
12354  0 /*deltaMinutes*/,
12355  1957 /*untilYear*/,
12356  1 /*untilMonth*/,
12357  1 /*untilDay*/,
12358  0 /*untilTimeCode (0/15)*/,
12359  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12360  },
12361  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12362  {
12363  &kZonePolicyNT_YK /*zonePolicy*/,
12364  "C%T" /*format*/,
12365  -1440 /*offsetCode (-21600/15)*/,
12366  0 /*offsetRemainder (-21600%15)*/,
12367  0 /*deltaMinutes*/,
12368  2000 /*untilYear*/,
12369  10 /*untilMonth*/,
12370  29 /*untilDay*/,
12371  480 /*untilTimeCode (7200/15)*/,
12372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12373  },
12374  // -5:00 - EST 2001 Apr 1 3:00
12375  {
12376  nullptr /*zonePolicy*/,
12377  "EST" /*format*/,
12378  -1200 /*offsetCode (-18000/15)*/,
12379  0 /*offsetRemainder (-18000%15)*/,
12380  0 /*deltaMinutes*/,
12381  2001 /*untilYear*/,
12382  4 /*untilMonth*/,
12383  1 /*untilDay*/,
12384  720 /*untilTimeCode (10800/15)*/,
12385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12386  },
12387  // -6:00 Canada C%sT
12388  {
12389  &kZonePolicyCanada /*zonePolicy*/,
12390  "C%T" /*format*/,
12391  -1440 /*offsetCode (-21600/15)*/,
12392  0 /*offsetRemainder (-21600%15)*/,
12393  0 /*deltaMinutes*/,
12394  32767 /*untilYear*/,
12395  1 /*untilMonth*/,
12396  1 /*untilDay*/,
12397  0 /*untilTimeCode (0/15)*/,
12398  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12399  },
12400 
12401 };
12402 
12403 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "\x02" "Rankin_Inlet";
12404 
12405 const complete::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
12406  kZoneNameAmerica_Rankin_Inlet /*name*/,
12407  0xc8de4984 /*zoneId*/,
12408  &kZoneContext /*zoneContext*/,
12409  4 /*numEras*/,
12410  kZoneEraAmerica_Rankin_Inlet /*eras*/,
12411  nullptr /*targetInfo*/,
12412 };
12413 
12414 //---------------------------------------------------------------------------
12415 // Zone name: America/Recife
12416 // Eras: 7
12417 //---------------------------------------------------------------------------
12418 
12419 static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
12420  // -2:19:36 - LMT 1914
12421  {
12422  nullptr /*zonePolicy*/,
12423  "LMT" /*format*/,
12424  -559 /*offsetCode (-8376/15)*/,
12425  9 /*offsetRemainder (-8376%15)*/,
12426  0 /*deltaMinutes*/,
12427  1914 /*untilYear*/,
12428  1 /*untilMonth*/,
12429  1 /*untilDay*/,
12430  0 /*untilTimeCode (0/15)*/,
12431  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12432  },
12433  // -3:00 Brazil %z 1990 Sep 17
12434  {
12435  &kZonePolicyBrazil /*zonePolicy*/,
12436  "" /*format*/,
12437  -720 /*offsetCode (-10800/15)*/,
12438  0 /*offsetRemainder (-10800%15)*/,
12439  0 /*deltaMinutes*/,
12440  1990 /*untilYear*/,
12441  9 /*untilMonth*/,
12442  17 /*untilDay*/,
12443  0 /*untilTimeCode (0/15)*/,
12444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12445  },
12446  // -3:00 - %z 1999 Sep 30
12447  {
12448  nullptr /*zonePolicy*/,
12449  "" /*format*/,
12450  -720 /*offsetCode (-10800/15)*/,
12451  0 /*offsetRemainder (-10800%15)*/,
12452  0 /*deltaMinutes*/,
12453  1999 /*untilYear*/,
12454  9 /*untilMonth*/,
12455  30 /*untilDay*/,
12456  0 /*untilTimeCode (0/15)*/,
12457  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12458  },
12459  // -3:00 Brazil %z 2000 Oct 15
12460  {
12461  &kZonePolicyBrazil /*zonePolicy*/,
12462  "" /*format*/,
12463  -720 /*offsetCode (-10800/15)*/,
12464  0 /*offsetRemainder (-10800%15)*/,
12465  0 /*deltaMinutes*/,
12466  2000 /*untilYear*/,
12467  10 /*untilMonth*/,
12468  15 /*untilDay*/,
12469  0 /*untilTimeCode (0/15)*/,
12470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12471  },
12472  // -3:00 - %z 2001 Sep 13
12473  {
12474  nullptr /*zonePolicy*/,
12475  "" /*format*/,
12476  -720 /*offsetCode (-10800/15)*/,
12477  0 /*offsetRemainder (-10800%15)*/,
12478  0 /*deltaMinutes*/,
12479  2001 /*untilYear*/,
12480  9 /*untilMonth*/,
12481  13 /*untilDay*/,
12482  0 /*untilTimeCode (0/15)*/,
12483  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12484  },
12485  // -3:00 Brazil %z 2002 Oct 1
12486  {
12487  &kZonePolicyBrazil /*zonePolicy*/,
12488  "" /*format*/,
12489  -720 /*offsetCode (-10800/15)*/,
12490  0 /*offsetRemainder (-10800%15)*/,
12491  0 /*deltaMinutes*/,
12492  2002 /*untilYear*/,
12493  10 /*untilMonth*/,
12494  1 /*untilDay*/,
12495  0 /*untilTimeCode (0/15)*/,
12496  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12497  },
12498  // -3:00 - %z
12499  {
12500  nullptr /*zonePolicy*/,
12501  "" /*format*/,
12502  -720 /*offsetCode (-10800/15)*/,
12503  0 /*offsetRemainder (-10800%15)*/,
12504  0 /*deltaMinutes*/,
12505  32767 /*untilYear*/,
12506  1 /*untilMonth*/,
12507  1 /*untilDay*/,
12508  0 /*untilTimeCode (0/15)*/,
12509  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12510  },
12511 
12512 };
12513 
12514 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "\x02" "Recife";
12515 
12516 const complete::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
12517  kZoneNameAmerica_Recife /*name*/,
12518  0xb8730494 /*zoneId*/,
12519  &kZoneContext /*zoneContext*/,
12520  7 /*numEras*/,
12521  kZoneEraAmerica_Recife /*eras*/,
12522  nullptr /*targetInfo*/,
12523 };
12524 
12525 //---------------------------------------------------------------------------
12526 // Zone name: America/Regina
12527 // Eras: 3
12528 //---------------------------------------------------------------------------
12529 
12530 static const complete::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
12531  // -6:58:36 - LMT 1905 Sep
12532  {
12533  nullptr /*zonePolicy*/,
12534  "LMT" /*format*/,
12535  -1675 /*offsetCode (-25116/15)*/,
12536  9 /*offsetRemainder (-25116%15)*/,
12537  0 /*deltaMinutes*/,
12538  1905 /*untilYear*/,
12539  9 /*untilMonth*/,
12540  1 /*untilDay*/,
12541  0 /*untilTimeCode (0/15)*/,
12542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12543  },
12544  // -7:00 Regina M%sT 1960 Apr lastSun 2:00
12545  {
12546  &kZonePolicyRegina /*zonePolicy*/,
12547  "M%T" /*format*/,
12548  -1680 /*offsetCode (-25200/15)*/,
12549  0 /*offsetRemainder (-25200%15)*/,
12550  0 /*deltaMinutes*/,
12551  1960 /*untilYear*/,
12552  4 /*untilMonth*/,
12553  24 /*untilDay*/,
12554  480 /*untilTimeCode (7200/15)*/,
12555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12556  },
12557  // -6:00 - CST
12558  {
12559  nullptr /*zonePolicy*/,
12560  "CST" /*format*/,
12561  -1440 /*offsetCode (-21600/15)*/,
12562  0 /*offsetRemainder (-21600%15)*/,
12563  0 /*deltaMinutes*/,
12564  32767 /*untilYear*/,
12565  1 /*untilMonth*/,
12566  1 /*untilDay*/,
12567  0 /*untilTimeCode (0/15)*/,
12568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12569  },
12570 
12571 };
12572 
12573 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";
12574 
12575 const complete::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
12576  kZoneNameAmerica_Regina /*name*/,
12577  0xb875371c /*zoneId*/,
12578  &kZoneContext /*zoneContext*/,
12579  3 /*numEras*/,
12580  kZoneEraAmerica_Regina /*eras*/,
12581  nullptr /*targetInfo*/,
12582 };
12583 
12584 //---------------------------------------------------------------------------
12585 // Zone name: America/Resolute
12586 // Eras: 6
12587 //---------------------------------------------------------------------------
12588 
12589 static const complete::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
12590  // 0 - -00 1947 Aug 31
12591  {
12592  nullptr /*zonePolicy*/,
12593  "-00" /*format*/,
12594  0 /*offsetCode (0/15)*/,
12595  0 /*offsetRemainder (0%15)*/,
12596  0 /*deltaMinutes*/,
12597  1947 /*untilYear*/,
12598  8 /*untilMonth*/,
12599  31 /*untilDay*/,
12600  0 /*untilTimeCode (0/15)*/,
12601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12602  },
12603  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12604  {
12605  &kZonePolicyNT_YK /*zonePolicy*/,
12606  "C%T" /*format*/,
12607  -1440 /*offsetCode (-21600/15)*/,
12608  0 /*offsetRemainder (-21600%15)*/,
12609  0 /*deltaMinutes*/,
12610  2000 /*untilYear*/,
12611  10 /*untilMonth*/,
12612  29 /*untilDay*/,
12613  480 /*untilTimeCode (7200/15)*/,
12614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12615  },
12616  // -5:00 - EST 2001 Apr 1 3:00
12617  {
12618  nullptr /*zonePolicy*/,
12619  "EST" /*format*/,
12620  -1200 /*offsetCode (-18000/15)*/,
12621  0 /*offsetRemainder (-18000%15)*/,
12622  0 /*deltaMinutes*/,
12623  2001 /*untilYear*/,
12624  4 /*untilMonth*/,
12625  1 /*untilDay*/,
12626  720 /*untilTimeCode (10800/15)*/,
12627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12628  },
12629  // -6:00 Canada C%sT 2006 Oct 29 2:00
12630  {
12631  &kZonePolicyCanada /*zonePolicy*/,
12632  "C%T" /*format*/,
12633  -1440 /*offsetCode (-21600/15)*/,
12634  0 /*offsetRemainder (-21600%15)*/,
12635  0 /*deltaMinutes*/,
12636  2006 /*untilYear*/,
12637  10 /*untilMonth*/,
12638  29 /*untilDay*/,
12639  480 /*untilTimeCode (7200/15)*/,
12640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12641  },
12642  // -5:00 - EST 2007 Mar 11 3:00
12643  {
12644  nullptr /*zonePolicy*/,
12645  "EST" /*format*/,
12646  -1200 /*offsetCode (-18000/15)*/,
12647  0 /*offsetRemainder (-18000%15)*/,
12648  0 /*deltaMinutes*/,
12649  2007 /*untilYear*/,
12650  3 /*untilMonth*/,
12651  11 /*untilDay*/,
12652  720 /*untilTimeCode (10800/15)*/,
12653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12654  },
12655  // -6:00 Canada C%sT
12656  {
12657  &kZonePolicyCanada /*zonePolicy*/,
12658  "C%T" /*format*/,
12659  -1440 /*offsetCode (-21600/15)*/,
12660  0 /*offsetRemainder (-21600%15)*/,
12661  0 /*deltaMinutes*/,
12662  32767 /*untilYear*/,
12663  1 /*untilMonth*/,
12664  1 /*untilDay*/,
12665  0 /*untilTimeCode (0/15)*/,
12666  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12667  },
12668 
12669 };
12670 
12671 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "\x02" "Resolute";
12672 
12673 const complete::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
12674  kZoneNameAmerica_Resolute /*name*/,
12675  0xc7093459 /*zoneId*/,
12676  &kZoneContext /*zoneContext*/,
12677  6 /*numEras*/,
12678  kZoneEraAmerica_Resolute /*eras*/,
12679  nullptr /*targetInfo*/,
12680 };
12681 
12682 //---------------------------------------------------------------------------
12683 // Zone name: America/Rio_Branco
12684 // Eras: 5
12685 //---------------------------------------------------------------------------
12686 
12687 static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
12688  // -4:31:12 - LMT 1914
12689  {
12690  nullptr /*zonePolicy*/,
12691  "LMT" /*format*/,
12692  -1085 /*offsetCode (-16272/15)*/,
12693  3 /*offsetRemainder (-16272%15)*/,
12694  0 /*deltaMinutes*/,
12695  1914 /*untilYear*/,
12696  1 /*untilMonth*/,
12697  1 /*untilDay*/,
12698  0 /*untilTimeCode (0/15)*/,
12699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12700  },
12701  // -5:00 Brazil %z 1988 Sep 12
12702  {
12703  &kZonePolicyBrazil /*zonePolicy*/,
12704  "" /*format*/,
12705  -1200 /*offsetCode (-18000/15)*/,
12706  0 /*offsetRemainder (-18000%15)*/,
12707  0 /*deltaMinutes*/,
12708  1988 /*untilYear*/,
12709  9 /*untilMonth*/,
12710  12 /*untilDay*/,
12711  0 /*untilTimeCode (0/15)*/,
12712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12713  },
12714  // -5:00 - %z 2008 Jun 24 0:00
12715  {
12716  nullptr /*zonePolicy*/,
12717  "" /*format*/,
12718  -1200 /*offsetCode (-18000/15)*/,
12719  0 /*offsetRemainder (-18000%15)*/,
12720  0 /*deltaMinutes*/,
12721  2008 /*untilYear*/,
12722  6 /*untilMonth*/,
12723  24 /*untilDay*/,
12724  0 /*untilTimeCode (0/15)*/,
12725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12726  },
12727  // -4:00 - %z 2013 Nov 10
12728  {
12729  nullptr /*zonePolicy*/,
12730  "" /*format*/,
12731  -960 /*offsetCode (-14400/15)*/,
12732  0 /*offsetRemainder (-14400%15)*/,
12733  0 /*deltaMinutes*/,
12734  2013 /*untilYear*/,
12735  11 /*untilMonth*/,
12736  10 /*untilDay*/,
12737  0 /*untilTimeCode (0/15)*/,
12738  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12739  },
12740  // -5:00 - %z
12741  {
12742  nullptr /*zonePolicy*/,
12743  "" /*format*/,
12744  -1200 /*offsetCode (-18000/15)*/,
12745  0 /*offsetRemainder (-18000%15)*/,
12746  0 /*deltaMinutes*/,
12747  32767 /*untilYear*/,
12748  1 /*untilMonth*/,
12749  1 /*untilDay*/,
12750  0 /*untilTimeCode (0/15)*/,
12751  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12752  },
12753 
12754 };
12755 
12756 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "\x02" "Rio_Branco";
12757 
12758 const complete::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
12759  kZoneNameAmerica_Rio_Branco /*name*/,
12760  0x9d352764 /*zoneId*/,
12761  &kZoneContext /*zoneContext*/,
12762  5 /*numEras*/,
12763  kZoneEraAmerica_Rio_Branco /*eras*/,
12764  nullptr /*targetInfo*/,
12765 };
12766 
12767 //---------------------------------------------------------------------------
12768 // Zone name: America/Santarem
12769 // Eras: 4
12770 //---------------------------------------------------------------------------
12771 
12772 static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
12773  // -3:38:48 - LMT 1914
12774  {
12775  nullptr /*zonePolicy*/,
12776  "LMT" /*format*/,
12777  -876 /*offsetCode (-13128/15)*/,
12778  12 /*offsetRemainder (-13128%15)*/,
12779  0 /*deltaMinutes*/,
12780  1914 /*untilYear*/,
12781  1 /*untilMonth*/,
12782  1 /*untilDay*/,
12783  0 /*untilTimeCode (0/15)*/,
12784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12785  },
12786  // -4:00 Brazil %z 1988 Sep 12
12787  {
12788  &kZonePolicyBrazil /*zonePolicy*/,
12789  "" /*format*/,
12790  -960 /*offsetCode (-14400/15)*/,
12791  0 /*offsetRemainder (-14400%15)*/,
12792  0 /*deltaMinutes*/,
12793  1988 /*untilYear*/,
12794  9 /*untilMonth*/,
12795  12 /*untilDay*/,
12796  0 /*untilTimeCode (0/15)*/,
12797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12798  },
12799  // -4:00 - %z 2008 Jun 24 0:00
12800  {
12801  nullptr /*zonePolicy*/,
12802  "" /*format*/,
12803  -960 /*offsetCode (-14400/15)*/,
12804  0 /*offsetRemainder (-14400%15)*/,
12805  0 /*deltaMinutes*/,
12806  2008 /*untilYear*/,
12807  6 /*untilMonth*/,
12808  24 /*untilDay*/,
12809  0 /*untilTimeCode (0/15)*/,
12810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12811  },
12812  // -3:00 - %z
12813  {
12814  nullptr /*zonePolicy*/,
12815  "" /*format*/,
12816  -720 /*offsetCode (-10800/15)*/,
12817  0 /*offsetRemainder (-10800%15)*/,
12818  0 /*deltaMinutes*/,
12819  32767 /*untilYear*/,
12820  1 /*untilMonth*/,
12821  1 /*untilDay*/,
12822  0 /*untilTimeCode (0/15)*/,
12823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12824  },
12825 
12826 };
12827 
12828 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "\x02" "Santarem";
12829 
12830 const complete::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
12831  kZoneNameAmerica_Santarem /*name*/,
12832  0x740caec1 /*zoneId*/,
12833  &kZoneContext /*zoneContext*/,
12834  4 /*numEras*/,
12835  kZoneEraAmerica_Santarem /*eras*/,
12836  nullptr /*targetInfo*/,
12837 };
12838 
12839 //---------------------------------------------------------------------------
12840 // Zone name: America/Santiago
12841 // Eras: 14
12842 //---------------------------------------------------------------------------
12843 
12844 static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
12845  // -4:42:45 - LMT 1890
12846  {
12847  nullptr /*zonePolicy*/,
12848  "LMT" /*format*/,
12849  -1131 /*offsetCode (-16965/15)*/,
12850  0 /*offsetRemainder (-16965%15)*/,
12851  0 /*deltaMinutes*/,
12852  1890 /*untilYear*/,
12853  1 /*untilMonth*/,
12854  1 /*untilDay*/,
12855  0 /*untilTimeCode (0/15)*/,
12856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12857  },
12858  // -4:42:45 - SMT 1910 Jan 10
12859  {
12860  nullptr /*zonePolicy*/,
12861  "SMT" /*format*/,
12862  -1131 /*offsetCode (-16965/15)*/,
12863  0 /*offsetRemainder (-16965%15)*/,
12864  0 /*deltaMinutes*/,
12865  1910 /*untilYear*/,
12866  1 /*untilMonth*/,
12867  10 /*untilDay*/,
12868  0 /*untilTimeCode (0/15)*/,
12869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12870  },
12871  // -5:00 - %z 1916 Jul 1
12872  {
12873  nullptr /*zonePolicy*/,
12874  "" /*format*/,
12875  -1200 /*offsetCode (-18000/15)*/,
12876  0 /*offsetRemainder (-18000%15)*/,
12877  0 /*deltaMinutes*/,
12878  1916 /*untilYear*/,
12879  7 /*untilMonth*/,
12880  1 /*untilDay*/,
12881  0 /*untilTimeCode (0/15)*/,
12882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12883  },
12884  // -4:42:45 - SMT 1918 Sep 10
12885  {
12886  nullptr /*zonePolicy*/,
12887  "SMT" /*format*/,
12888  -1131 /*offsetCode (-16965/15)*/,
12889  0 /*offsetRemainder (-16965%15)*/,
12890  0 /*deltaMinutes*/,
12891  1918 /*untilYear*/,
12892  9 /*untilMonth*/,
12893  10 /*untilDay*/,
12894  0 /*untilTimeCode (0/15)*/,
12895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12896  },
12897  // -4:00 - %z 1919 Jul 1
12898  {
12899  nullptr /*zonePolicy*/,
12900  "" /*format*/,
12901  -960 /*offsetCode (-14400/15)*/,
12902  0 /*offsetRemainder (-14400%15)*/,
12903  0 /*deltaMinutes*/,
12904  1919 /*untilYear*/,
12905  7 /*untilMonth*/,
12906  1 /*untilDay*/,
12907  0 /*untilTimeCode (0/15)*/,
12908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12909  },
12910  // -4:42:45 - SMT 1927 Sep 1
12911  {
12912  nullptr /*zonePolicy*/,
12913  "SMT" /*format*/,
12914  -1131 /*offsetCode (-16965/15)*/,
12915  0 /*offsetRemainder (-16965%15)*/,
12916  0 /*deltaMinutes*/,
12917  1927 /*untilYear*/,
12918  9 /*untilMonth*/,
12919  1 /*untilDay*/,
12920  0 /*untilTimeCode (0/15)*/,
12921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12922  },
12923  // -5:00 Chile %z 1932 Sep 1
12924  {
12925  &kZonePolicyChile /*zonePolicy*/,
12926  "" /*format*/,
12927  -1200 /*offsetCode (-18000/15)*/,
12928  0 /*offsetRemainder (-18000%15)*/,
12929  0 /*deltaMinutes*/,
12930  1932 /*untilYear*/,
12931  9 /*untilMonth*/,
12932  1 /*untilDay*/,
12933  0 /*untilTimeCode (0/15)*/,
12934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12935  },
12936  // -4:00 - %z 1942 Jun 1
12937  {
12938  nullptr /*zonePolicy*/,
12939  "" /*format*/,
12940  -960 /*offsetCode (-14400/15)*/,
12941  0 /*offsetRemainder (-14400%15)*/,
12942  0 /*deltaMinutes*/,
12943  1942 /*untilYear*/,
12944  6 /*untilMonth*/,
12945  1 /*untilDay*/,
12946  0 /*untilTimeCode (0/15)*/,
12947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12948  },
12949  // -5:00 - %z 1942 Aug 1
12950  {
12951  nullptr /*zonePolicy*/,
12952  "" /*format*/,
12953  -1200 /*offsetCode (-18000/15)*/,
12954  0 /*offsetRemainder (-18000%15)*/,
12955  0 /*deltaMinutes*/,
12956  1942 /*untilYear*/,
12957  8 /*untilMonth*/,
12958  1 /*untilDay*/,
12959  0 /*untilTimeCode (0/15)*/,
12960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12961  },
12962  // -4:00 - %z 1946 Jul 14 24:00
12963  {
12964  nullptr /*zonePolicy*/,
12965  "" /*format*/,
12966  -960 /*offsetCode (-14400/15)*/,
12967  0 /*offsetRemainder (-14400%15)*/,
12968  0 /*deltaMinutes*/,
12969  1946 /*untilYear*/,
12970  7 /*untilMonth*/,
12971  14 /*untilDay*/,
12972  5760 /*untilTimeCode (86400/15)*/,
12973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12974  },
12975  // -4:00 1:00 %z 1946 Aug 28 24:00
12976  {
12977  nullptr /*zonePolicy*/,
12978  "" /*format*/,
12979  -960 /*offsetCode (-14400/15)*/,
12980  0 /*offsetRemainder (-14400%15)*/,
12981  60 /*deltaMinutes*/,
12982  1946 /*untilYear*/,
12983  8 /*untilMonth*/,
12984  28 /*untilDay*/,
12985  5760 /*untilTimeCode (86400/15)*/,
12986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12987  },
12988  // -5:00 1:00 %z 1947 Mar 31 24:00
12989  {
12990  nullptr /*zonePolicy*/,
12991  "" /*format*/,
12992  -1200 /*offsetCode (-18000/15)*/,
12993  0 /*offsetRemainder (-18000%15)*/,
12994  60 /*deltaMinutes*/,
12995  1947 /*untilYear*/,
12996  3 /*untilMonth*/,
12997  31 /*untilDay*/,
12998  5760 /*untilTimeCode (86400/15)*/,
12999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13000  },
13001  // -5:00 - %z 1947 May 21 23:00
13002  {
13003  nullptr /*zonePolicy*/,
13004  "" /*format*/,
13005  -1200 /*offsetCode (-18000/15)*/,
13006  0 /*offsetRemainder (-18000%15)*/,
13007  0 /*deltaMinutes*/,
13008  1947 /*untilYear*/,
13009  5 /*untilMonth*/,
13010  21 /*untilDay*/,
13011  5520 /*untilTimeCode (82800/15)*/,
13012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13013  },
13014  // -4:00 Chile %z
13015  {
13016  &kZonePolicyChile /*zonePolicy*/,
13017  "" /*format*/,
13018  -960 /*offsetCode (-14400/15)*/,
13019  0 /*offsetRemainder (-14400%15)*/,
13020  0 /*deltaMinutes*/,
13021  32767 /*untilYear*/,
13022  1 /*untilMonth*/,
13023  1 /*untilDay*/,
13024  0 /*untilTimeCode (0/15)*/,
13025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13026  },
13027 
13028 };
13029 
13030 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";
13031 
13032 const complete::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
13033  kZoneNameAmerica_Santiago /*name*/,
13034  0x7410c9bc /*zoneId*/,
13035  &kZoneContext /*zoneContext*/,
13036  14 /*numEras*/,
13037  kZoneEraAmerica_Santiago /*eras*/,
13038  nullptr /*targetInfo*/,
13039 };
13040 
13041 //---------------------------------------------------------------------------
13042 // Zone name: America/Santo_Domingo
13043 // Eras: 6
13044 //---------------------------------------------------------------------------
13045 
13046 static const complete::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
13047  // -4:39:36 - LMT 1890
13048  {
13049  nullptr /*zonePolicy*/,
13050  "LMT" /*format*/,
13051  -1119 /*offsetCode (-16776/15)*/,
13052  9 /*offsetRemainder (-16776%15)*/,
13053  0 /*deltaMinutes*/,
13054  1890 /*untilYear*/,
13055  1 /*untilMonth*/,
13056  1 /*untilDay*/,
13057  0 /*untilTimeCode (0/15)*/,
13058  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13059  },
13060  // -4:40 - SDMT 1933 Apr 1 12:00
13061  {
13062  nullptr /*zonePolicy*/,
13063  "SDMT" /*format*/,
13064  -1120 /*offsetCode (-16800/15)*/,
13065  0 /*offsetRemainder (-16800%15)*/,
13066  0 /*deltaMinutes*/,
13067  1933 /*untilYear*/,
13068  4 /*untilMonth*/,
13069  1 /*untilDay*/,
13070  2880 /*untilTimeCode (43200/15)*/,
13071  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13072  },
13073  // -5:00 DR %s 1974 Oct 27
13074  {
13075  &kZonePolicyDR /*zonePolicy*/,
13076  "%" /*format*/,
13077  -1200 /*offsetCode (-18000/15)*/,
13078  0 /*offsetRemainder (-18000%15)*/,
13079  0 /*deltaMinutes*/,
13080  1974 /*untilYear*/,
13081  10 /*untilMonth*/,
13082  27 /*untilDay*/,
13083  0 /*untilTimeCode (0/15)*/,
13084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13085  },
13086  // -4:00 - AST 2000 Oct 29 2:00
13087  {
13088  nullptr /*zonePolicy*/,
13089  "AST" /*format*/,
13090  -960 /*offsetCode (-14400/15)*/,
13091  0 /*offsetRemainder (-14400%15)*/,
13092  0 /*deltaMinutes*/,
13093  2000 /*untilYear*/,
13094  10 /*untilMonth*/,
13095  29 /*untilDay*/,
13096  480 /*untilTimeCode (7200/15)*/,
13097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13098  },
13099  // -5:00 US E%sT 2000 Dec 3 1:00
13100  {
13101  &kZonePolicyUS /*zonePolicy*/,
13102  "E%T" /*format*/,
13103  -1200 /*offsetCode (-18000/15)*/,
13104  0 /*offsetRemainder (-18000%15)*/,
13105  0 /*deltaMinutes*/,
13106  2000 /*untilYear*/,
13107  12 /*untilMonth*/,
13108  3 /*untilDay*/,
13109  240 /*untilTimeCode (3600/15)*/,
13110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13111  },
13112  // -4:00 - AST
13113  {
13114  nullptr /*zonePolicy*/,
13115  "AST" /*format*/,
13116  -960 /*offsetCode (-14400/15)*/,
13117  0 /*offsetRemainder (-14400%15)*/,
13118  0 /*deltaMinutes*/,
13119  32767 /*untilYear*/,
13120  1 /*untilMonth*/,
13121  1 /*untilDay*/,
13122  0 /*untilTimeCode (0/15)*/,
13123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13124  },
13125 
13126 };
13127 
13128 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "\x02" "Santo_Domingo";
13129 
13130 const complete::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
13131  kZoneNameAmerica_Santo_Domingo /*name*/,
13132  0x75a0d177 /*zoneId*/,
13133  &kZoneContext /*zoneContext*/,
13134  6 /*numEras*/,
13135  kZoneEraAmerica_Santo_Domingo /*eras*/,
13136  nullptr /*targetInfo*/,
13137 };
13138 
13139 //---------------------------------------------------------------------------
13140 // Zone name: America/Sao_Paulo
13141 // Eras: 4
13142 //---------------------------------------------------------------------------
13143 
13144 static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
13145  // -3:06:28 - LMT 1914
13146  {
13147  nullptr /*zonePolicy*/,
13148  "LMT" /*format*/,
13149  -746 /*offsetCode (-11188/15)*/,
13150  2 /*offsetRemainder (-11188%15)*/,
13151  0 /*deltaMinutes*/,
13152  1914 /*untilYear*/,
13153  1 /*untilMonth*/,
13154  1 /*untilDay*/,
13155  0 /*untilTimeCode (0/15)*/,
13156  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13157  },
13158  // -3:00 Brazil %z 1963 Oct 23 0:00
13159  {
13160  &kZonePolicyBrazil /*zonePolicy*/,
13161  "" /*format*/,
13162  -720 /*offsetCode (-10800/15)*/,
13163  0 /*offsetRemainder (-10800%15)*/,
13164  0 /*deltaMinutes*/,
13165  1963 /*untilYear*/,
13166  10 /*untilMonth*/,
13167  23 /*untilDay*/,
13168  0 /*untilTimeCode (0/15)*/,
13169  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13170  },
13171  // -3:00 1:00 %z 1964
13172  {
13173  nullptr /*zonePolicy*/,
13174  "" /*format*/,
13175  -720 /*offsetCode (-10800/15)*/,
13176  0 /*offsetRemainder (-10800%15)*/,
13177  60 /*deltaMinutes*/,
13178  1964 /*untilYear*/,
13179  1 /*untilMonth*/,
13180  1 /*untilDay*/,
13181  0 /*untilTimeCode (0/15)*/,
13182  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13183  },
13184  // -3:00 Brazil %z
13185  {
13186  &kZonePolicyBrazil /*zonePolicy*/,
13187  "" /*format*/,
13188  -720 /*offsetCode (-10800/15)*/,
13189  0 /*offsetRemainder (-10800%15)*/,
13190  0 /*deltaMinutes*/,
13191  32767 /*untilYear*/,
13192  1 /*untilMonth*/,
13193  1 /*untilDay*/,
13194  0 /*untilTimeCode (0/15)*/,
13195  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13196  },
13197 
13198 };
13199 
13200 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";
13201 
13202 const complete::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
13203  kZoneNameAmerica_Sao_Paulo /*name*/,
13204  0x1063bfc9 /*zoneId*/,
13205  &kZoneContext /*zoneContext*/,
13206  4 /*numEras*/,
13207  kZoneEraAmerica_Sao_Paulo /*eras*/,
13208  nullptr /*targetInfo*/,
13209 };
13210 
13211 //---------------------------------------------------------------------------
13212 // Zone name: America/Scoresbysund
13213 // Eras: 5
13214 //---------------------------------------------------------------------------
13215 
13216 static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
13217  // -1:27:52 - LMT 1916 Jul 28
13218  {
13219  nullptr /*zonePolicy*/,
13220  "LMT" /*format*/,
13221  -352 /*offsetCode (-5272/15)*/,
13222  8 /*offsetRemainder (-5272%15)*/,
13223  0 /*deltaMinutes*/,
13224  1916 /*untilYear*/,
13225  7 /*untilMonth*/,
13226  28 /*untilDay*/,
13227  0 /*untilTimeCode (0/15)*/,
13228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13229  },
13230  // -2:00 - %z 1980 Apr 6 2:00
13231  {
13232  nullptr /*zonePolicy*/,
13233  "" /*format*/,
13234  -480 /*offsetCode (-7200/15)*/,
13235  0 /*offsetRemainder (-7200%15)*/,
13236  0 /*deltaMinutes*/,
13237  1980 /*untilYear*/,
13238  4 /*untilMonth*/,
13239  6 /*untilDay*/,
13240  480 /*untilTimeCode (7200/15)*/,
13241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13242  },
13243  // -2:00 C-Eur %z 1981 Mar 29
13244  {
13245  &kZonePolicyC_Eur /*zonePolicy*/,
13246  "" /*format*/,
13247  -480 /*offsetCode (-7200/15)*/,
13248  0 /*offsetRemainder (-7200%15)*/,
13249  0 /*deltaMinutes*/,
13250  1981 /*untilYear*/,
13251  3 /*untilMonth*/,
13252  29 /*untilDay*/,
13253  0 /*untilTimeCode (0/15)*/,
13254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13255  },
13256  // -1:00 EU %z 2024 Mar 31
13257  {
13258  &kZonePolicyEU /*zonePolicy*/,
13259  "" /*format*/,
13260  -240 /*offsetCode (-3600/15)*/,
13261  0 /*offsetRemainder (-3600%15)*/,
13262  0 /*deltaMinutes*/,
13263  2024 /*untilYear*/,
13264  3 /*untilMonth*/,
13265  31 /*untilDay*/,
13266  0 /*untilTimeCode (0/15)*/,
13267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13268  },
13269  // -2:00 EU %z
13270  {
13271  &kZonePolicyEU /*zonePolicy*/,
13272  "" /*format*/,
13273  -480 /*offsetCode (-7200/15)*/,
13274  0 /*offsetRemainder (-7200%15)*/,
13275  0 /*deltaMinutes*/,
13276  32767 /*untilYear*/,
13277  1 /*untilMonth*/,
13278  1 /*untilDay*/,
13279  0 /*untilTimeCode (0/15)*/,
13280  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13281  },
13282 
13283 };
13284 
13285 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "\x02" "Scoresbysund";
13286 
13287 const complete::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
13288  kZoneNameAmerica_Scoresbysund /*name*/,
13289  0x123f8d2a /*zoneId*/,
13290  &kZoneContext /*zoneContext*/,
13291  5 /*numEras*/,
13292  kZoneEraAmerica_Scoresbysund /*eras*/,
13293  nullptr /*targetInfo*/,
13294 };
13295 
13296 //---------------------------------------------------------------------------
13297 // Zone name: America/Sitka
13298 // Eras: 8
13299 //---------------------------------------------------------------------------
13300 
13301 static const complete::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
13302  // 14:58:47 - LMT 1867 Oct 19 15:30
13303  {
13304  nullptr /*zonePolicy*/,
13305  "LMT" /*format*/,
13306  3595 /*offsetCode (53927/15)*/,
13307  2 /*offsetRemainder (53927%15)*/,
13308  0 /*deltaMinutes*/,
13309  1867 /*untilYear*/,
13310  10 /*untilMonth*/,
13311  19 /*untilDay*/,
13312  3720 /*untilTimeCode (55800/15)*/,
13313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13314  },
13315  // -9:01:13 - LMT 1900 Aug 20 12:00
13316  {
13317  nullptr /*zonePolicy*/,
13318  "LMT" /*format*/,
13319  -2165 /*offsetCode (-32473/15)*/,
13320  2 /*offsetRemainder (-32473%15)*/,
13321  0 /*deltaMinutes*/,
13322  1900 /*untilYear*/,
13323  8 /*untilMonth*/,
13324  20 /*untilDay*/,
13325  2880 /*untilTimeCode (43200/15)*/,
13326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13327  },
13328  // -8:00 - PST 1942
13329  {
13330  nullptr /*zonePolicy*/,
13331  "PST" /*format*/,
13332  -1920 /*offsetCode (-28800/15)*/,
13333  0 /*offsetRemainder (-28800%15)*/,
13334  0 /*deltaMinutes*/,
13335  1942 /*untilYear*/,
13336  1 /*untilMonth*/,
13337  1 /*untilDay*/,
13338  0 /*untilTimeCode (0/15)*/,
13339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13340  },
13341  // -8:00 US P%sT 1946
13342  {
13343  &kZonePolicyUS /*zonePolicy*/,
13344  "P%T" /*format*/,
13345  -1920 /*offsetCode (-28800/15)*/,
13346  0 /*offsetRemainder (-28800%15)*/,
13347  0 /*deltaMinutes*/,
13348  1946 /*untilYear*/,
13349  1 /*untilMonth*/,
13350  1 /*untilDay*/,
13351  0 /*untilTimeCode (0/15)*/,
13352  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13353  },
13354  // -8:00 - PST 1969
13355  {
13356  nullptr /*zonePolicy*/,
13357  "PST" /*format*/,
13358  -1920 /*offsetCode (-28800/15)*/,
13359  0 /*offsetRemainder (-28800%15)*/,
13360  0 /*deltaMinutes*/,
13361  1969 /*untilYear*/,
13362  1 /*untilMonth*/,
13363  1 /*untilDay*/,
13364  0 /*untilTimeCode (0/15)*/,
13365  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13366  },
13367  // -8:00 US P%sT 1983 Oct 30 2:00
13368  {
13369  &kZonePolicyUS /*zonePolicy*/,
13370  "P%T" /*format*/,
13371  -1920 /*offsetCode (-28800/15)*/,
13372  0 /*offsetRemainder (-28800%15)*/,
13373  0 /*deltaMinutes*/,
13374  1983 /*untilYear*/,
13375  10 /*untilMonth*/,
13376  30 /*untilDay*/,
13377  480 /*untilTimeCode (7200/15)*/,
13378  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13379  },
13380  // -9:00 US Y%sT 1983 Nov 30
13381  {
13382  &kZonePolicyUS /*zonePolicy*/,
13383  "Y%T" /*format*/,
13384  -2160 /*offsetCode (-32400/15)*/,
13385  0 /*offsetRemainder (-32400%15)*/,
13386  0 /*deltaMinutes*/,
13387  1983 /*untilYear*/,
13388  11 /*untilMonth*/,
13389  30 /*untilDay*/,
13390  0 /*untilTimeCode (0/15)*/,
13391  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13392  },
13393  // -9:00 US AK%sT
13394  {
13395  &kZonePolicyUS /*zonePolicy*/,
13396  "AK%T" /*format*/,
13397  -2160 /*offsetCode (-32400/15)*/,
13398  0 /*offsetRemainder (-32400%15)*/,
13399  0 /*deltaMinutes*/,
13400  32767 /*untilYear*/,
13401  1 /*untilMonth*/,
13402  1 /*untilDay*/,
13403  0 /*untilTimeCode (0/15)*/,
13404  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13405  },
13406 
13407 };
13408 
13409 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";
13410 
13411 const complete::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
13412  kZoneNameAmerica_Sitka /*name*/,
13413  0x99104ce2 /*zoneId*/,
13414  &kZoneContext /*zoneContext*/,
13415  8 /*numEras*/,
13416  kZoneEraAmerica_Sitka /*eras*/,
13417  nullptr /*targetInfo*/,
13418 };
13419 
13420 //---------------------------------------------------------------------------
13421 // Zone name: America/St_Johns
13422 // Eras: 8
13423 //---------------------------------------------------------------------------
13424 
13425 static const complete::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
13426  // -3:30:52 - LMT 1884
13427  {
13428  nullptr /*zonePolicy*/,
13429  "LMT" /*format*/,
13430  -844 /*offsetCode (-12652/15)*/,
13431  8 /*offsetRemainder (-12652%15)*/,
13432  0 /*deltaMinutes*/,
13433  1884 /*untilYear*/,
13434  1 /*untilMonth*/,
13435  1 /*untilDay*/,
13436  0 /*untilTimeCode (0/15)*/,
13437  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13438  },
13439  // -3:30:52 StJohns N%sT 1918
13440  {
13441  &kZonePolicyStJohns /*zonePolicy*/,
13442  "N%T" /*format*/,
13443  -844 /*offsetCode (-12652/15)*/,
13444  8 /*offsetRemainder (-12652%15)*/,
13445  0 /*deltaMinutes*/,
13446  1918 /*untilYear*/,
13447  1 /*untilMonth*/,
13448  1 /*untilDay*/,
13449  0 /*untilTimeCode (0/15)*/,
13450  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13451  },
13452  // -3:30:52 Canada N%sT 1919
13453  {
13454  &kZonePolicyCanada /*zonePolicy*/,
13455  "N%T" /*format*/,
13456  -844 /*offsetCode (-12652/15)*/,
13457  8 /*offsetRemainder (-12652%15)*/,
13458  0 /*deltaMinutes*/,
13459  1919 /*untilYear*/,
13460  1 /*untilMonth*/,
13461  1 /*untilDay*/,
13462  0 /*untilTimeCode (0/15)*/,
13463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13464  },
13465  // -3:30:52 StJohns N%sT 1935 Mar 30
13466  {
13467  &kZonePolicyStJohns /*zonePolicy*/,
13468  "N%T" /*format*/,
13469  -844 /*offsetCode (-12652/15)*/,
13470  8 /*offsetRemainder (-12652%15)*/,
13471  0 /*deltaMinutes*/,
13472  1935 /*untilYear*/,
13473  3 /*untilMonth*/,
13474  30 /*untilDay*/,
13475  0 /*untilTimeCode (0/15)*/,
13476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13477  },
13478  // -3:30 StJohns N%sT 1942 May 11
13479  {
13480  &kZonePolicyStJohns /*zonePolicy*/,
13481  "N%T" /*format*/,
13482  -840 /*offsetCode (-12600/15)*/,
13483  0 /*offsetRemainder (-12600%15)*/,
13484  0 /*deltaMinutes*/,
13485  1942 /*untilYear*/,
13486  5 /*untilMonth*/,
13487  11 /*untilDay*/,
13488  0 /*untilTimeCode (0/15)*/,
13489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13490  },
13491  // -3:30 Canada N%sT 1946
13492  {
13493  &kZonePolicyCanada /*zonePolicy*/,
13494  "N%T" /*format*/,
13495  -840 /*offsetCode (-12600/15)*/,
13496  0 /*offsetRemainder (-12600%15)*/,
13497  0 /*deltaMinutes*/,
13498  1946 /*untilYear*/,
13499  1 /*untilMonth*/,
13500  1 /*untilDay*/,
13501  0 /*untilTimeCode (0/15)*/,
13502  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13503  },
13504  // -3:30 StJohns N%sT 2011 Nov
13505  {
13506  &kZonePolicyStJohns /*zonePolicy*/,
13507  "N%T" /*format*/,
13508  -840 /*offsetCode (-12600/15)*/,
13509  0 /*offsetRemainder (-12600%15)*/,
13510  0 /*deltaMinutes*/,
13511  2011 /*untilYear*/,
13512  11 /*untilMonth*/,
13513  1 /*untilDay*/,
13514  0 /*untilTimeCode (0/15)*/,
13515  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13516  },
13517  // -3:30 Canada N%sT
13518  {
13519  &kZonePolicyCanada /*zonePolicy*/,
13520  "N%T" /*format*/,
13521  -840 /*offsetCode (-12600/15)*/,
13522  0 /*offsetRemainder (-12600%15)*/,
13523  0 /*deltaMinutes*/,
13524  32767 /*untilYear*/,
13525  1 /*untilMonth*/,
13526  1 /*untilDay*/,
13527  0 /*untilTimeCode (0/15)*/,
13528  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13529  },
13530 
13531 };
13532 
13533 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "\x02" "St_Johns";
13534 
13535 const complete::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
13536  kZoneNameAmerica_St_Johns /*name*/,
13537  0x04b14e6e /*zoneId*/,
13538  &kZoneContext /*zoneContext*/,
13539  8 /*numEras*/,
13540  kZoneEraAmerica_St_Johns /*eras*/,
13541  nullptr /*targetInfo*/,
13542 };
13543 
13544 //---------------------------------------------------------------------------
13545 // Zone name: America/Swift_Current
13546 // Eras: 5
13547 //---------------------------------------------------------------------------
13548 
13549 static const complete::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
13550  // -7:11:20 - LMT 1905 Sep
13551  {
13552  nullptr /*zonePolicy*/,
13553  "LMT" /*format*/,
13554  -1726 /*offsetCode (-25880/15)*/,
13555  10 /*offsetRemainder (-25880%15)*/,
13556  0 /*deltaMinutes*/,
13557  1905 /*untilYear*/,
13558  9 /*untilMonth*/,
13559  1 /*untilDay*/,
13560  0 /*untilTimeCode (0/15)*/,
13561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13562  },
13563  // -7:00 Canada M%sT 1946 Apr lastSun 2:00
13564  {
13565  &kZonePolicyCanada /*zonePolicy*/,
13566  "M%T" /*format*/,
13567  -1680 /*offsetCode (-25200/15)*/,
13568  0 /*offsetRemainder (-25200%15)*/,
13569  0 /*deltaMinutes*/,
13570  1946 /*untilYear*/,
13571  4 /*untilMonth*/,
13572  28 /*untilDay*/,
13573  480 /*untilTimeCode (7200/15)*/,
13574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13575  },
13576  // -7:00 Regina M%sT 1950
13577  {
13578  &kZonePolicyRegina /*zonePolicy*/,
13579  "M%T" /*format*/,
13580  -1680 /*offsetCode (-25200/15)*/,
13581  0 /*offsetRemainder (-25200%15)*/,
13582  0 /*deltaMinutes*/,
13583  1950 /*untilYear*/,
13584  1 /*untilMonth*/,
13585  1 /*untilDay*/,
13586  0 /*untilTimeCode (0/15)*/,
13587  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13588  },
13589  // -7:00 Swift M%sT 1972 Apr lastSun 2:00
13590  {
13591  &kZonePolicySwift /*zonePolicy*/,
13592  "M%T" /*format*/,
13593  -1680 /*offsetCode (-25200/15)*/,
13594  0 /*offsetRemainder (-25200%15)*/,
13595  0 /*deltaMinutes*/,
13596  1972 /*untilYear*/,
13597  4 /*untilMonth*/,
13598  30 /*untilDay*/,
13599  480 /*untilTimeCode (7200/15)*/,
13600  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13601  },
13602  // -6:00 - CST
13603  {
13604  nullptr /*zonePolicy*/,
13605  "CST" /*format*/,
13606  -1440 /*offsetCode (-21600/15)*/,
13607  0 /*offsetRemainder (-21600%15)*/,
13608  0 /*deltaMinutes*/,
13609  32767 /*untilYear*/,
13610  1 /*untilMonth*/,
13611  1 /*untilDay*/,
13612  0 /*untilTimeCode (0/15)*/,
13613  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13614  },
13615 
13616 };
13617 
13618 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";
13619 
13620 const complete::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
13621  kZoneNameAmerica_Swift_Current /*name*/,
13622  0xdef98e55 /*zoneId*/,
13623  &kZoneContext /*zoneContext*/,
13624  5 /*numEras*/,
13625  kZoneEraAmerica_Swift_Current /*eras*/,
13626  nullptr /*targetInfo*/,
13627 };
13628 
13629 //---------------------------------------------------------------------------
13630 // Zone name: America/Tegucigalpa
13631 // Eras: 2
13632 //---------------------------------------------------------------------------
13633 
13634 static const complete::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
13635  // -5:48:52 - LMT 1921 Apr
13636  {
13637  nullptr /*zonePolicy*/,
13638  "LMT" /*format*/,
13639  -1396 /*offsetCode (-20932/15)*/,
13640  8 /*offsetRemainder (-20932%15)*/,
13641  0 /*deltaMinutes*/,
13642  1921 /*untilYear*/,
13643  4 /*untilMonth*/,
13644  1 /*untilDay*/,
13645  0 /*untilTimeCode (0/15)*/,
13646  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13647  },
13648  // -6:00 Hond C%sT
13649  {
13650  &kZonePolicyHond /*zonePolicy*/,
13651  "C%T" /*format*/,
13652  -1440 /*offsetCode (-21600/15)*/,
13653  0 /*offsetRemainder (-21600%15)*/,
13654  0 /*deltaMinutes*/,
13655  32767 /*untilYear*/,
13656  1 /*untilMonth*/,
13657  1 /*untilDay*/,
13658  0 /*untilTimeCode (0/15)*/,
13659  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13660  },
13661 
13662 };
13663 
13664 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";
13665 
13666 const complete::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
13667  kZoneNameAmerica_Tegucigalpa /*name*/,
13668  0xbfd6fd4c /*zoneId*/,
13669  &kZoneContext /*zoneContext*/,
13670  2 /*numEras*/,
13671  kZoneEraAmerica_Tegucigalpa /*eras*/,
13672  nullptr /*targetInfo*/,
13673 };
13674 
13675 //---------------------------------------------------------------------------
13676 // Zone name: America/Thule
13677 // Eras: 2
13678 //---------------------------------------------------------------------------
13679 
13680 static const complete::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
13681  // -4:35:08 - LMT 1916 Jul 28
13682  {
13683  nullptr /*zonePolicy*/,
13684  "LMT" /*format*/,
13685  -1101 /*offsetCode (-16508/15)*/,
13686  7 /*offsetRemainder (-16508%15)*/,
13687  0 /*deltaMinutes*/,
13688  1916 /*untilYear*/,
13689  7 /*untilMonth*/,
13690  28 /*untilDay*/,
13691  0 /*untilTimeCode (0/15)*/,
13692  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13693  },
13694  // -4:00 Thule A%sT
13695  {
13696  &kZonePolicyThule /*zonePolicy*/,
13697  "A%T" /*format*/,
13698  -960 /*offsetCode (-14400/15)*/,
13699  0 /*offsetRemainder (-14400%15)*/,
13700  0 /*deltaMinutes*/,
13701  32767 /*untilYear*/,
13702  1 /*untilMonth*/,
13703  1 /*untilDay*/,
13704  0 /*untilTimeCode (0/15)*/,
13705  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13706  },
13707 
13708 };
13709 
13710 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";
13711 
13712 const complete::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
13713  kZoneNameAmerica_Thule /*name*/,
13714  0x9921dd68 /*zoneId*/,
13715  &kZoneContext /*zoneContext*/,
13716  2 /*numEras*/,
13717  kZoneEraAmerica_Thule /*eras*/,
13718  nullptr /*targetInfo*/,
13719 };
13720 
13721 //---------------------------------------------------------------------------
13722 // Zone name: America/Tijuana
13723 // Eras: 25
13724 //---------------------------------------------------------------------------
13725 
13726 static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
13727  // -7:48:04 - LMT 1922 Jan 1 7:00u
13728  {
13729  nullptr /*zonePolicy*/,
13730  "LMT" /*format*/,
13731  -1873 /*offsetCode (-28084/15)*/,
13732  11 /*offsetRemainder (-28084%15)*/,
13733  0 /*deltaMinutes*/,
13734  1922 /*untilYear*/,
13735  1 /*untilMonth*/,
13736  1 /*untilDay*/,
13737  1680 /*untilTimeCode (25200/15)*/,
13738  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13739  },
13740  // -7:00 - MST 1924
13741  {
13742  nullptr /*zonePolicy*/,
13743  "MST" /*format*/,
13744  -1680 /*offsetCode (-25200/15)*/,
13745  0 /*offsetRemainder (-25200%15)*/,
13746  0 /*deltaMinutes*/,
13747  1924 /*untilYear*/,
13748  1 /*untilMonth*/,
13749  1 /*untilDay*/,
13750  0 /*untilTimeCode (0/15)*/,
13751  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13752  },
13753  // -8:00 - PST 1927 Jun 10
13754  {
13755  nullptr /*zonePolicy*/,
13756  "PST" /*format*/,
13757  -1920 /*offsetCode (-28800/15)*/,
13758  0 /*offsetRemainder (-28800%15)*/,
13759  0 /*deltaMinutes*/,
13760  1927 /*untilYear*/,
13761  6 /*untilMonth*/,
13762  10 /*untilDay*/,
13763  0 /*untilTimeCode (0/15)*/,
13764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13765  },
13766  // -7:00 - MST 1930 Nov 15
13767  {
13768  nullptr /*zonePolicy*/,
13769  "MST" /*format*/,
13770  -1680 /*offsetCode (-25200/15)*/,
13771  0 /*offsetRemainder (-25200%15)*/,
13772  0 /*deltaMinutes*/,
13773  1930 /*untilYear*/,
13774  11 /*untilMonth*/,
13775  15 /*untilDay*/,
13776  0 /*untilTimeCode (0/15)*/,
13777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13778  },
13779  // -8:00 - PST 1931 Apr 1
13780  {
13781  nullptr /*zonePolicy*/,
13782  "PST" /*format*/,
13783  -1920 /*offsetCode (-28800/15)*/,
13784  0 /*offsetRemainder (-28800%15)*/,
13785  0 /*deltaMinutes*/,
13786  1931 /*untilYear*/,
13787  4 /*untilMonth*/,
13788  1 /*untilDay*/,
13789  0 /*untilTimeCode (0/15)*/,
13790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13791  },
13792  // -8:00 1:00 PDT 1931 Sep 30
13793  {
13794  nullptr /*zonePolicy*/,
13795  "PDT" /*format*/,
13796  -1920 /*offsetCode (-28800/15)*/,
13797  0 /*offsetRemainder (-28800%15)*/,
13798  60 /*deltaMinutes*/,
13799  1931 /*untilYear*/,
13800  9 /*untilMonth*/,
13801  30 /*untilDay*/,
13802  0 /*untilTimeCode (0/15)*/,
13803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13804  },
13805  // -8:00 - PST 1942 Apr 24
13806  {
13807  nullptr /*zonePolicy*/,
13808  "PST" /*format*/,
13809  -1920 /*offsetCode (-28800/15)*/,
13810  0 /*offsetRemainder (-28800%15)*/,
13811  0 /*deltaMinutes*/,
13812  1942 /*untilYear*/,
13813  4 /*untilMonth*/,
13814  24 /*untilDay*/,
13815  0 /*untilTimeCode (0/15)*/,
13816  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13817  },
13818  // -8:00 1:00 PWT 1945 Aug 14 23:00u
13819  {
13820  nullptr /*zonePolicy*/,
13821  "PWT" /*format*/,
13822  -1920 /*offsetCode (-28800/15)*/,
13823  0 /*offsetRemainder (-28800%15)*/,
13824  60 /*deltaMinutes*/,
13825  1945 /*untilYear*/,
13826  8 /*untilMonth*/,
13827  14 /*untilDay*/,
13828  5520 /*untilTimeCode (82800/15)*/,
13829  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13830  },
13831  // -8:00 1:00 PPT 1945 Nov 15
13832  {
13833  nullptr /*zonePolicy*/,
13834  "PPT" /*format*/,
13835  -1920 /*offsetCode (-28800/15)*/,
13836  0 /*offsetRemainder (-28800%15)*/,
13837  60 /*deltaMinutes*/,
13838  1945 /*untilYear*/,
13839  11 /*untilMonth*/,
13840  15 /*untilDay*/,
13841  0 /*untilTimeCode (0/15)*/,
13842  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13843  },
13844  // -8:00 - PST 1948 Apr 5
13845  {
13846  nullptr /*zonePolicy*/,
13847  "PST" /*format*/,
13848  -1920 /*offsetCode (-28800/15)*/,
13849  0 /*offsetRemainder (-28800%15)*/,
13850  0 /*deltaMinutes*/,
13851  1948 /*untilYear*/,
13852  4 /*untilMonth*/,
13853  5 /*untilDay*/,
13854  0 /*untilTimeCode (0/15)*/,
13855  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13856  },
13857  // -8:00 1:00 PDT 1949 Jan 14
13858  {
13859  nullptr /*zonePolicy*/,
13860  "PDT" /*format*/,
13861  -1920 /*offsetCode (-28800/15)*/,
13862  0 /*offsetRemainder (-28800%15)*/,
13863  60 /*deltaMinutes*/,
13864  1949 /*untilYear*/,
13865  1 /*untilMonth*/,
13866  14 /*untilDay*/,
13867  0 /*untilTimeCode (0/15)*/,
13868  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13869  },
13870  // -8:00 - PST 1950 May 1
13871  {
13872  nullptr /*zonePolicy*/,
13873  "PST" /*format*/,
13874  -1920 /*offsetCode (-28800/15)*/,
13875  0 /*offsetRemainder (-28800%15)*/,
13876  0 /*deltaMinutes*/,
13877  1950 /*untilYear*/,
13878  5 /*untilMonth*/,
13879  1 /*untilDay*/,
13880  0 /*untilTimeCode (0/15)*/,
13881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13882  },
13883  // -8:00 1:00 PDT 1950 Sep 24
13884  {
13885  nullptr /*zonePolicy*/,
13886  "PDT" /*format*/,
13887  -1920 /*offsetCode (-28800/15)*/,
13888  0 /*offsetRemainder (-28800%15)*/,
13889  60 /*deltaMinutes*/,
13890  1950 /*untilYear*/,
13891  9 /*untilMonth*/,
13892  24 /*untilDay*/,
13893  0 /*untilTimeCode (0/15)*/,
13894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13895  },
13896  // -8:00 - PST 1951 Apr 29 2:00
13897  {
13898  nullptr /*zonePolicy*/,
13899  "PST" /*format*/,
13900  -1920 /*offsetCode (-28800/15)*/,
13901  0 /*offsetRemainder (-28800%15)*/,
13902  0 /*deltaMinutes*/,
13903  1951 /*untilYear*/,
13904  4 /*untilMonth*/,
13905  29 /*untilDay*/,
13906  480 /*untilTimeCode (7200/15)*/,
13907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13908  },
13909  // -8:00 1:00 PDT 1951 Sep 30 2:00
13910  {
13911  nullptr /*zonePolicy*/,
13912  "PDT" /*format*/,
13913  -1920 /*offsetCode (-28800/15)*/,
13914  0 /*offsetRemainder (-28800%15)*/,
13915  60 /*deltaMinutes*/,
13916  1951 /*untilYear*/,
13917  9 /*untilMonth*/,
13918  30 /*untilDay*/,
13919  480 /*untilTimeCode (7200/15)*/,
13920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13921  },
13922  // -8:00 - PST 1952 Apr 27 2:00
13923  {
13924  nullptr /*zonePolicy*/,
13925  "PST" /*format*/,
13926  -1920 /*offsetCode (-28800/15)*/,
13927  0 /*offsetRemainder (-28800%15)*/,
13928  0 /*deltaMinutes*/,
13929  1952 /*untilYear*/,
13930  4 /*untilMonth*/,
13931  27 /*untilDay*/,
13932  480 /*untilTimeCode (7200/15)*/,
13933  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13934  },
13935  // -8:00 1:00 PDT 1952 Sep 28 2:00
13936  {
13937  nullptr /*zonePolicy*/,
13938  "PDT" /*format*/,
13939  -1920 /*offsetCode (-28800/15)*/,
13940  0 /*offsetRemainder (-28800%15)*/,
13941  60 /*deltaMinutes*/,
13942  1952 /*untilYear*/,
13943  9 /*untilMonth*/,
13944  28 /*untilDay*/,
13945  480 /*untilTimeCode (7200/15)*/,
13946  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13947  },
13948  // -8:00 - PST 1954
13949  {
13950  nullptr /*zonePolicy*/,
13951  "PST" /*format*/,
13952  -1920 /*offsetCode (-28800/15)*/,
13953  0 /*offsetRemainder (-28800%15)*/,
13954  0 /*deltaMinutes*/,
13955  1954 /*untilYear*/,
13956  1 /*untilMonth*/,
13957  1 /*untilDay*/,
13958  0 /*untilTimeCode (0/15)*/,
13959  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13960  },
13961  // -8:00 CA P%sT 1961
13962  {
13963  &kZonePolicyCA /*zonePolicy*/,
13964  "P%T" /*format*/,
13965  -1920 /*offsetCode (-28800/15)*/,
13966  0 /*offsetRemainder (-28800%15)*/,
13967  0 /*deltaMinutes*/,
13968  1961 /*untilYear*/,
13969  1 /*untilMonth*/,
13970  1 /*untilDay*/,
13971  0 /*untilTimeCode (0/15)*/,
13972  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13973  },
13974  // -8:00 - PST 1976
13975  {
13976  nullptr /*zonePolicy*/,
13977  "PST" /*format*/,
13978  -1920 /*offsetCode (-28800/15)*/,
13979  0 /*offsetRemainder (-28800%15)*/,
13980  0 /*deltaMinutes*/,
13981  1976 /*untilYear*/,
13982  1 /*untilMonth*/,
13983  1 /*untilDay*/,
13984  0 /*untilTimeCode (0/15)*/,
13985  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13986  },
13987  // -8:00 US P%sT 1996
13988  {
13989  &kZonePolicyUS /*zonePolicy*/,
13990  "P%T" /*format*/,
13991  -1920 /*offsetCode (-28800/15)*/,
13992  0 /*offsetRemainder (-28800%15)*/,
13993  0 /*deltaMinutes*/,
13994  1996 /*untilYear*/,
13995  1 /*untilMonth*/,
13996  1 /*untilDay*/,
13997  0 /*untilTimeCode (0/15)*/,
13998  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13999  },
14000  // -8:00 Mexico P%sT 2001
14001  {
14002  &kZonePolicyMexico /*zonePolicy*/,
14003  "P%T" /*format*/,
14004  -1920 /*offsetCode (-28800/15)*/,
14005  0 /*offsetRemainder (-28800%15)*/,
14006  0 /*deltaMinutes*/,
14007  2001 /*untilYear*/,
14008  1 /*untilMonth*/,
14009  1 /*untilDay*/,
14010  0 /*untilTimeCode (0/15)*/,
14011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14012  },
14013  // -8:00 US P%sT 2002 Feb 20
14014  {
14015  &kZonePolicyUS /*zonePolicy*/,
14016  "P%T" /*format*/,
14017  -1920 /*offsetCode (-28800/15)*/,
14018  0 /*offsetRemainder (-28800%15)*/,
14019  0 /*deltaMinutes*/,
14020  2002 /*untilYear*/,
14021  2 /*untilMonth*/,
14022  20 /*untilDay*/,
14023  0 /*untilTimeCode (0/15)*/,
14024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14025  },
14026  // -8:00 Mexico P%sT 2010
14027  {
14028  &kZonePolicyMexico /*zonePolicy*/,
14029  "P%T" /*format*/,
14030  -1920 /*offsetCode (-28800/15)*/,
14031  0 /*offsetRemainder (-28800%15)*/,
14032  0 /*deltaMinutes*/,
14033  2010 /*untilYear*/,
14034  1 /*untilMonth*/,
14035  1 /*untilDay*/,
14036  0 /*untilTimeCode (0/15)*/,
14037  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14038  },
14039  // -8:00 US P%sT
14040  {
14041  &kZonePolicyUS /*zonePolicy*/,
14042  "P%T" /*format*/,
14043  -1920 /*offsetCode (-28800/15)*/,
14044  0 /*offsetRemainder (-28800%15)*/,
14045  0 /*deltaMinutes*/,
14046  32767 /*untilYear*/,
14047  1 /*untilMonth*/,
14048  1 /*untilDay*/,
14049  0 /*untilTimeCode (0/15)*/,
14050  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14051  },
14052 
14053 };
14054 
14055 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "\x02" "Tijuana";
14056 
14057 const complete::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
14058  kZoneNameAmerica_Tijuana /*name*/,
14059  0x6aa1df72 /*zoneId*/,
14060  &kZoneContext /*zoneContext*/,
14061  25 /*numEras*/,
14062  kZoneEraAmerica_Tijuana /*eras*/,
14063  nullptr /*targetInfo*/,
14064 };
14065 
14066 //---------------------------------------------------------------------------
14067 // Zone name: America/Toronto
14068 // Eras: 6
14069 //---------------------------------------------------------------------------
14070 
14071 static const complete::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
14072  // -5:17:32 - LMT 1895
14073  {
14074  nullptr /*zonePolicy*/,
14075  "LMT" /*format*/,
14076  -1271 /*offsetCode (-19052/15)*/,
14077  13 /*offsetRemainder (-19052%15)*/,
14078  0 /*deltaMinutes*/,
14079  1895 /*untilYear*/,
14080  1 /*untilMonth*/,
14081  1 /*untilDay*/,
14082  0 /*untilTimeCode (0/15)*/,
14083  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14084  },
14085  // -5:00 Canada E%sT 1919
14086  {
14087  &kZonePolicyCanada /*zonePolicy*/,
14088  "E%T" /*format*/,
14089  -1200 /*offsetCode (-18000/15)*/,
14090  0 /*offsetRemainder (-18000%15)*/,
14091  0 /*deltaMinutes*/,
14092  1919 /*untilYear*/,
14093  1 /*untilMonth*/,
14094  1 /*untilDay*/,
14095  0 /*untilTimeCode (0/15)*/,
14096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14097  },
14098  // -5:00 Toronto E%sT 1942 Feb 9 2:00s
14099  {
14100  &kZonePolicyToronto /*zonePolicy*/,
14101  "E%T" /*format*/,
14102  -1200 /*offsetCode (-18000/15)*/,
14103  0 /*offsetRemainder (-18000%15)*/,
14104  0 /*deltaMinutes*/,
14105  1942 /*untilYear*/,
14106  2 /*untilMonth*/,
14107  9 /*untilDay*/,
14108  480 /*untilTimeCode (7200/15)*/,
14109  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14110  },
14111  // -5:00 Canada E%sT 1946
14112  {
14113  &kZonePolicyCanada /*zonePolicy*/,
14114  "E%T" /*format*/,
14115  -1200 /*offsetCode (-18000/15)*/,
14116  0 /*offsetRemainder (-18000%15)*/,
14117  0 /*deltaMinutes*/,
14118  1946 /*untilYear*/,
14119  1 /*untilMonth*/,
14120  1 /*untilDay*/,
14121  0 /*untilTimeCode (0/15)*/,
14122  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14123  },
14124  // -5:00 Toronto E%sT 1974
14125  {
14126  &kZonePolicyToronto /*zonePolicy*/,
14127  "E%T" /*format*/,
14128  -1200 /*offsetCode (-18000/15)*/,
14129  0 /*offsetRemainder (-18000%15)*/,
14130  0 /*deltaMinutes*/,
14131  1974 /*untilYear*/,
14132  1 /*untilMonth*/,
14133  1 /*untilDay*/,
14134  0 /*untilTimeCode (0/15)*/,
14135  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14136  },
14137  // -5:00 Canada E%sT
14138  {
14139  &kZonePolicyCanada /*zonePolicy*/,
14140  "E%T" /*format*/,
14141  -1200 /*offsetCode (-18000/15)*/,
14142  0 /*offsetRemainder (-18000%15)*/,
14143  0 /*deltaMinutes*/,
14144  32767 /*untilYear*/,
14145  1 /*untilMonth*/,
14146  1 /*untilDay*/,
14147  0 /*untilTimeCode (0/15)*/,
14148  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14149  },
14150 
14151 };
14152 
14153 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";
14154 
14155 const complete::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
14156  kZoneNameAmerica_Toronto /*name*/,
14157  0x792e851b /*zoneId*/,
14158  &kZoneContext /*zoneContext*/,
14159  6 /*numEras*/,
14160  kZoneEraAmerica_Toronto /*eras*/,
14161  nullptr /*targetInfo*/,
14162 };
14163 
14164 //---------------------------------------------------------------------------
14165 // Zone name: America/Vancouver
14166 // Eras: 3
14167 //---------------------------------------------------------------------------
14168 
14169 static const complete::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
14170  // -8:12:28 - LMT 1884
14171  {
14172  nullptr /*zonePolicy*/,
14173  "LMT" /*format*/,
14174  -1970 /*offsetCode (-29548/15)*/,
14175  2 /*offsetRemainder (-29548%15)*/,
14176  0 /*deltaMinutes*/,
14177  1884 /*untilYear*/,
14178  1 /*untilMonth*/,
14179  1 /*untilDay*/,
14180  0 /*untilTimeCode (0/15)*/,
14181  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14182  },
14183  // -8:00 Vanc P%sT 1987
14184  {
14185  &kZonePolicyVanc /*zonePolicy*/,
14186  "P%T" /*format*/,
14187  -1920 /*offsetCode (-28800/15)*/,
14188  0 /*offsetRemainder (-28800%15)*/,
14189  0 /*deltaMinutes*/,
14190  1987 /*untilYear*/,
14191  1 /*untilMonth*/,
14192  1 /*untilDay*/,
14193  0 /*untilTimeCode (0/15)*/,
14194  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14195  },
14196  // -8:00 Canada P%sT
14197  {
14198  &kZonePolicyCanada /*zonePolicy*/,
14199  "P%T" /*format*/,
14200  -1920 /*offsetCode (-28800/15)*/,
14201  0 /*offsetRemainder (-28800%15)*/,
14202  0 /*deltaMinutes*/,
14203  32767 /*untilYear*/,
14204  1 /*untilMonth*/,
14205  1 /*untilDay*/,
14206  0 /*untilTimeCode (0/15)*/,
14207  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14208  },
14209 
14210 };
14211 
14212 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";
14213 
14214 const complete::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
14215  kZoneNameAmerica_Vancouver /*name*/,
14216  0x2c6f6b1f /*zoneId*/,
14217  &kZoneContext /*zoneContext*/,
14218  3 /*numEras*/,
14219  kZoneEraAmerica_Vancouver /*eras*/,
14220  nullptr /*targetInfo*/,
14221 };
14222 
14223 //---------------------------------------------------------------------------
14224 // Zone name: America/Whitehorse
14225 // Eras: 6
14226 //---------------------------------------------------------------------------
14227 
14228 static const complete::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
14229  // -9:00:12 - LMT 1900 Aug 20
14230  {
14231  nullptr /*zonePolicy*/,
14232  "LMT" /*format*/,
14233  -2161 /*offsetCode (-32412/15)*/,
14234  3 /*offsetRemainder (-32412%15)*/,
14235  0 /*deltaMinutes*/,
14236  1900 /*untilYear*/,
14237  8 /*untilMonth*/,
14238  20 /*untilDay*/,
14239  0 /*untilTimeCode (0/15)*/,
14240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14241  },
14242  // -9:00 NT_YK Y%sT 1965
14243  {
14244  &kZonePolicyNT_YK /*zonePolicy*/,
14245  "Y%T" /*format*/,
14246  -2160 /*offsetCode (-32400/15)*/,
14247  0 /*offsetRemainder (-32400%15)*/,
14248  0 /*deltaMinutes*/,
14249  1965 /*untilYear*/,
14250  1 /*untilMonth*/,
14251  1 /*untilDay*/,
14252  0 /*untilTimeCode (0/15)*/,
14253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14254  },
14255  // -9:00 Yukon Y%sT 1966 Feb 27 0:00
14256  {
14257  &kZonePolicyYukon /*zonePolicy*/,
14258  "Y%T" /*format*/,
14259  -2160 /*offsetCode (-32400/15)*/,
14260  0 /*offsetRemainder (-32400%15)*/,
14261  0 /*deltaMinutes*/,
14262  1966 /*untilYear*/,
14263  2 /*untilMonth*/,
14264  27 /*untilDay*/,
14265  0 /*untilTimeCode (0/15)*/,
14266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14267  },
14268  // -8:00 - PST 1980
14269  {
14270  nullptr /*zonePolicy*/,
14271  "PST" /*format*/,
14272  -1920 /*offsetCode (-28800/15)*/,
14273  0 /*offsetRemainder (-28800%15)*/,
14274  0 /*deltaMinutes*/,
14275  1980 /*untilYear*/,
14276  1 /*untilMonth*/,
14277  1 /*untilDay*/,
14278  0 /*untilTimeCode (0/15)*/,
14279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14280  },
14281  // -8:00 Canada P%sT 2020 Nov 1
14282  {
14283  &kZonePolicyCanada /*zonePolicy*/,
14284  "P%T" /*format*/,
14285  -1920 /*offsetCode (-28800/15)*/,
14286  0 /*offsetRemainder (-28800%15)*/,
14287  0 /*deltaMinutes*/,
14288  2020 /*untilYear*/,
14289  11 /*untilMonth*/,
14290  1 /*untilDay*/,
14291  0 /*untilTimeCode (0/15)*/,
14292  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14293  },
14294  // -7:00 - MST
14295  {
14296  nullptr /*zonePolicy*/,
14297  "MST" /*format*/,
14298  -1680 /*offsetCode (-25200/15)*/,
14299  0 /*offsetRemainder (-25200%15)*/,
14300  0 /*deltaMinutes*/,
14301  32767 /*untilYear*/,
14302  1 /*untilMonth*/,
14303  1 /*untilDay*/,
14304  0 /*untilTimeCode (0/15)*/,
14305  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14306  },
14307 
14308 };
14309 
14310 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "\x02" "Whitehorse";
14311 
14312 const complete::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
14313  kZoneNameAmerica_Whitehorse /*name*/,
14314  0x54e0e3e8 /*zoneId*/,
14315  &kZoneContext /*zoneContext*/,
14316  6 /*numEras*/,
14317  kZoneEraAmerica_Whitehorse /*eras*/,
14318  nullptr /*targetInfo*/,
14319 };
14320 
14321 //---------------------------------------------------------------------------
14322 // Zone name: America/Winnipeg
14323 // Eras: 3
14324 //---------------------------------------------------------------------------
14325 
14326 static const complete::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
14327  // -6:28:36 - LMT 1887 Jul 16
14328  {
14329  nullptr /*zonePolicy*/,
14330  "LMT" /*format*/,
14331  -1555 /*offsetCode (-23316/15)*/,
14332  9 /*offsetRemainder (-23316%15)*/,
14333  0 /*deltaMinutes*/,
14334  1887 /*untilYear*/,
14335  7 /*untilMonth*/,
14336  16 /*untilDay*/,
14337  0 /*untilTimeCode (0/15)*/,
14338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14339  },
14340  // -6:00 Winn C%sT 2006
14341  {
14342  &kZonePolicyWinn /*zonePolicy*/,
14343  "C%T" /*format*/,
14344  -1440 /*offsetCode (-21600/15)*/,
14345  0 /*offsetRemainder (-21600%15)*/,
14346  0 /*deltaMinutes*/,
14347  2006 /*untilYear*/,
14348  1 /*untilMonth*/,
14349  1 /*untilDay*/,
14350  0 /*untilTimeCode (0/15)*/,
14351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14352  },
14353  // -6:00 Canada C%sT
14354  {
14355  &kZonePolicyCanada /*zonePolicy*/,
14356  "C%T" /*format*/,
14357  -1440 /*offsetCode (-21600/15)*/,
14358  0 /*offsetRemainder (-21600%15)*/,
14359  0 /*deltaMinutes*/,
14360  32767 /*untilYear*/,
14361  1 /*untilMonth*/,
14362  1 /*untilDay*/,
14363  0 /*untilTimeCode (0/15)*/,
14364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14365  },
14366 
14367 };
14368 
14369 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";
14370 
14371 const complete::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
14372  kZoneNameAmerica_Winnipeg /*name*/,
14373  0x8c7dafc7 /*zoneId*/,
14374  &kZoneContext /*zoneContext*/,
14375  3 /*numEras*/,
14376  kZoneEraAmerica_Winnipeg /*eras*/,
14377  nullptr /*targetInfo*/,
14378 };
14379 
14380 //---------------------------------------------------------------------------
14381 // Zone name: America/Yakutat
14382 // Eras: 7
14383 //---------------------------------------------------------------------------
14384 
14385 static const complete::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
14386  // 14:41:05 - LMT 1867 Oct 19 15:12:18
14387  {
14388  nullptr /*zonePolicy*/,
14389  "LMT" /*format*/,
14390  3524 /*offsetCode (52865/15)*/,
14391  5 /*offsetRemainder (52865%15)*/,
14392  0 /*deltaMinutes*/,
14393  1867 /*untilYear*/,
14394  10 /*untilMonth*/,
14395  19 /*untilDay*/,
14396  3649 /*untilTimeCode (54738/15)*/,
14397  3 /*untilTimeModifier (kAtcSuffixW + seconds=3)*/,
14398  },
14399  // -9:18:55 - LMT 1900 Aug 20 12:00
14400  {
14401  nullptr /*zonePolicy*/,
14402  "LMT" /*format*/,
14403  -2236 /*offsetCode (-33535/15)*/,
14404  5 /*offsetRemainder (-33535%15)*/,
14405  0 /*deltaMinutes*/,
14406  1900 /*untilYear*/,
14407  8 /*untilMonth*/,
14408  20 /*untilDay*/,
14409  2880 /*untilTimeCode (43200/15)*/,
14410  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14411  },
14412  // -9:00 - YST 1942
14413  {
14414  nullptr /*zonePolicy*/,
14415  "YST" /*format*/,
14416  -2160 /*offsetCode (-32400/15)*/,
14417  0 /*offsetRemainder (-32400%15)*/,
14418  0 /*deltaMinutes*/,
14419  1942 /*untilYear*/,
14420  1 /*untilMonth*/,
14421  1 /*untilDay*/,
14422  0 /*untilTimeCode (0/15)*/,
14423  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14424  },
14425  // -9:00 US Y%sT 1946
14426  {
14427  &kZonePolicyUS /*zonePolicy*/,
14428  "Y%T" /*format*/,
14429  -2160 /*offsetCode (-32400/15)*/,
14430  0 /*offsetRemainder (-32400%15)*/,
14431  0 /*deltaMinutes*/,
14432  1946 /*untilYear*/,
14433  1 /*untilMonth*/,
14434  1 /*untilDay*/,
14435  0 /*untilTimeCode (0/15)*/,
14436  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14437  },
14438  // -9:00 - YST 1969
14439  {
14440  nullptr /*zonePolicy*/,
14441  "YST" /*format*/,
14442  -2160 /*offsetCode (-32400/15)*/,
14443  0 /*offsetRemainder (-32400%15)*/,
14444  0 /*deltaMinutes*/,
14445  1969 /*untilYear*/,
14446  1 /*untilMonth*/,
14447  1 /*untilDay*/,
14448  0 /*untilTimeCode (0/15)*/,
14449  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14450  },
14451  // -9:00 US Y%sT 1983 Nov 30
14452  {
14453  &kZonePolicyUS /*zonePolicy*/,
14454  "Y%T" /*format*/,
14455  -2160 /*offsetCode (-32400/15)*/,
14456  0 /*offsetRemainder (-32400%15)*/,
14457  0 /*deltaMinutes*/,
14458  1983 /*untilYear*/,
14459  11 /*untilMonth*/,
14460  30 /*untilDay*/,
14461  0 /*untilTimeCode (0/15)*/,
14462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14463  },
14464  // -9:00 US AK%sT
14465  {
14466  &kZonePolicyUS /*zonePolicy*/,
14467  "AK%T" /*format*/,
14468  -2160 /*offsetCode (-32400/15)*/,
14469  0 /*offsetRemainder (-32400%15)*/,
14470  0 /*deltaMinutes*/,
14471  32767 /*untilYear*/,
14472  1 /*untilMonth*/,
14473  1 /*untilDay*/,
14474  0 /*untilTimeCode (0/15)*/,
14475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14476  },
14477 
14478 };
14479 
14480 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";
14481 
14482 const complete::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
14483  kZoneNameAmerica_Yakutat /*name*/,
14484  0xd8ee31e9 /*zoneId*/,
14485  &kZoneContext /*zoneContext*/,
14486  7 /*numEras*/,
14487  kZoneEraAmerica_Yakutat /*eras*/,
14488  nullptr /*targetInfo*/,
14489 };
14490 
14491 //---------------------------------------------------------------------------
14492 // Zone name: Antarctica/Casey
14493 // Eras: 18
14494 //---------------------------------------------------------------------------
14495 
14496 static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
14497  // 0 - -00 1969
14498  {
14499  nullptr /*zonePolicy*/,
14500  "-00" /*format*/,
14501  0 /*offsetCode (0/15)*/,
14502  0 /*offsetRemainder (0%15)*/,
14503  0 /*deltaMinutes*/,
14504  1969 /*untilYear*/,
14505  1 /*untilMonth*/,
14506  1 /*untilDay*/,
14507  0 /*untilTimeCode (0/15)*/,
14508  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14509  },
14510  // 8:00 - %z 2009 Oct 18 2:00
14511  {
14512  nullptr /*zonePolicy*/,
14513  "" /*format*/,
14514  1920 /*offsetCode (28800/15)*/,
14515  0 /*offsetRemainder (28800%15)*/,
14516  0 /*deltaMinutes*/,
14517  2009 /*untilYear*/,
14518  10 /*untilMonth*/,
14519  18 /*untilDay*/,
14520  480 /*untilTimeCode (7200/15)*/,
14521  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14522  },
14523  // 11:00 - %z 2010 Mar 5 2:00
14524  {
14525  nullptr /*zonePolicy*/,
14526  "" /*format*/,
14527  2640 /*offsetCode (39600/15)*/,
14528  0 /*offsetRemainder (39600%15)*/,
14529  0 /*deltaMinutes*/,
14530  2010 /*untilYear*/,
14531  3 /*untilMonth*/,
14532  5 /*untilDay*/,
14533  480 /*untilTimeCode (7200/15)*/,
14534  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14535  },
14536  // 8:00 - %z 2011 Oct 28 2:00
14537  {
14538  nullptr /*zonePolicy*/,
14539  "" /*format*/,
14540  1920 /*offsetCode (28800/15)*/,
14541  0 /*offsetRemainder (28800%15)*/,
14542  0 /*deltaMinutes*/,
14543  2011 /*untilYear*/,
14544  10 /*untilMonth*/,
14545  28 /*untilDay*/,
14546  480 /*untilTimeCode (7200/15)*/,
14547  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14548  },
14549  // 11:00 - %z 2012 Feb 21 17:00u
14550  {
14551  nullptr /*zonePolicy*/,
14552  "" /*format*/,
14553  2640 /*offsetCode (39600/15)*/,
14554  0 /*offsetRemainder (39600%15)*/,
14555  0 /*deltaMinutes*/,
14556  2012 /*untilYear*/,
14557  2 /*untilMonth*/,
14558  21 /*untilDay*/,
14559  4080 /*untilTimeCode (61200/15)*/,
14560  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14561  },
14562  // 8:00 - %z 2016 Oct 22
14563  {
14564  nullptr /*zonePolicy*/,
14565  "" /*format*/,
14566  1920 /*offsetCode (28800/15)*/,
14567  0 /*offsetRemainder (28800%15)*/,
14568  0 /*deltaMinutes*/,
14569  2016 /*untilYear*/,
14570  10 /*untilMonth*/,
14571  22 /*untilDay*/,
14572  0 /*untilTimeCode (0/15)*/,
14573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14574  },
14575  // 11:00 - %z 2018 Mar 11 4:00
14576  {
14577  nullptr /*zonePolicy*/,
14578  "" /*format*/,
14579  2640 /*offsetCode (39600/15)*/,
14580  0 /*offsetRemainder (39600%15)*/,
14581  0 /*deltaMinutes*/,
14582  2018 /*untilYear*/,
14583  3 /*untilMonth*/,
14584  11 /*untilDay*/,
14585  960 /*untilTimeCode (14400/15)*/,
14586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14587  },
14588  // 8:00 - %z 2018 Oct 7 4:00
14589  {
14590  nullptr /*zonePolicy*/,
14591  "" /*format*/,
14592  1920 /*offsetCode (28800/15)*/,
14593  0 /*offsetRemainder (28800%15)*/,
14594  0 /*deltaMinutes*/,
14595  2018 /*untilYear*/,
14596  10 /*untilMonth*/,
14597  7 /*untilDay*/,
14598  960 /*untilTimeCode (14400/15)*/,
14599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14600  },
14601  // 11:00 - %z 2019 Mar 17 3:00
14602  {
14603  nullptr /*zonePolicy*/,
14604  "" /*format*/,
14605  2640 /*offsetCode (39600/15)*/,
14606  0 /*offsetRemainder (39600%15)*/,
14607  0 /*deltaMinutes*/,
14608  2019 /*untilYear*/,
14609  3 /*untilMonth*/,
14610  17 /*untilDay*/,
14611  720 /*untilTimeCode (10800/15)*/,
14612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14613  },
14614  // 8:00 - %z 2019 Oct 4 3:00
14615  {
14616  nullptr /*zonePolicy*/,
14617  "" /*format*/,
14618  1920 /*offsetCode (28800/15)*/,
14619  0 /*offsetRemainder (28800%15)*/,
14620  0 /*deltaMinutes*/,
14621  2019 /*untilYear*/,
14622  10 /*untilMonth*/,
14623  4 /*untilDay*/,
14624  720 /*untilTimeCode (10800/15)*/,
14625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14626  },
14627  // 11:00 - %z 2020 Mar 8 3:00
14628  {
14629  nullptr /*zonePolicy*/,
14630  "" /*format*/,
14631  2640 /*offsetCode (39600/15)*/,
14632  0 /*offsetRemainder (39600%15)*/,
14633  0 /*deltaMinutes*/,
14634  2020 /*untilYear*/,
14635  3 /*untilMonth*/,
14636  8 /*untilDay*/,
14637  720 /*untilTimeCode (10800/15)*/,
14638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14639  },
14640  // 8:00 - %z 2020 Oct 4 0:01
14641  {
14642  nullptr /*zonePolicy*/,
14643  "" /*format*/,
14644  1920 /*offsetCode (28800/15)*/,
14645  0 /*offsetRemainder (28800%15)*/,
14646  0 /*deltaMinutes*/,
14647  2020 /*untilYear*/,
14648  10 /*untilMonth*/,
14649  4 /*untilDay*/,
14650  4 /*untilTimeCode (60/15)*/,
14651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14652  },
14653  // 11:00 - %z 2021 Mar 14 0:00
14654  {
14655  nullptr /*zonePolicy*/,
14656  "" /*format*/,
14657  2640 /*offsetCode (39600/15)*/,
14658  0 /*offsetRemainder (39600%15)*/,
14659  0 /*deltaMinutes*/,
14660  2021 /*untilYear*/,
14661  3 /*untilMonth*/,
14662  14 /*untilDay*/,
14663  0 /*untilTimeCode (0/15)*/,
14664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14665  },
14666  // 8:00 - %z 2021 Oct 3 0:01
14667  {
14668  nullptr /*zonePolicy*/,
14669  "" /*format*/,
14670  1920 /*offsetCode (28800/15)*/,
14671  0 /*offsetRemainder (28800%15)*/,
14672  0 /*deltaMinutes*/,
14673  2021 /*untilYear*/,
14674  10 /*untilMonth*/,
14675  3 /*untilDay*/,
14676  4 /*untilTimeCode (60/15)*/,
14677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14678  },
14679  // 11:00 - %z 2022 Mar 13 0:00
14680  {
14681  nullptr /*zonePolicy*/,
14682  "" /*format*/,
14683  2640 /*offsetCode (39600/15)*/,
14684  0 /*offsetRemainder (39600%15)*/,
14685  0 /*deltaMinutes*/,
14686  2022 /*untilYear*/,
14687  3 /*untilMonth*/,
14688  13 /*untilDay*/,
14689  0 /*untilTimeCode (0/15)*/,
14690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14691  },
14692  // 8:00 - %z 2022 Oct 2 0:01
14693  {
14694  nullptr /*zonePolicy*/,
14695  "" /*format*/,
14696  1920 /*offsetCode (28800/15)*/,
14697  0 /*offsetRemainder (28800%15)*/,
14698  0 /*deltaMinutes*/,
14699  2022 /*untilYear*/,
14700  10 /*untilMonth*/,
14701  2 /*untilDay*/,
14702  4 /*untilTimeCode (60/15)*/,
14703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14704  },
14705  // 11:00 - %z 2023 Mar 9 3:00
14706  {
14707  nullptr /*zonePolicy*/,
14708  "" /*format*/,
14709  2640 /*offsetCode (39600/15)*/,
14710  0 /*offsetRemainder (39600%15)*/,
14711  0 /*deltaMinutes*/,
14712  2023 /*untilYear*/,
14713  3 /*untilMonth*/,
14714  9 /*untilDay*/,
14715  720 /*untilTimeCode (10800/15)*/,
14716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14717  },
14718  // 8:00 - %z
14719  {
14720  nullptr /*zonePolicy*/,
14721  "" /*format*/,
14722  1920 /*offsetCode (28800/15)*/,
14723  0 /*offsetRemainder (28800%15)*/,
14724  0 /*deltaMinutes*/,
14725  32767 /*untilYear*/,
14726  1 /*untilMonth*/,
14727  1 /*untilDay*/,
14728  0 /*untilTimeCode (0/15)*/,
14729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14730  },
14731 
14732 };
14733 
14734 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "\x03" "Casey";
14735 
14736 const complete::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
14737  kZoneNameAntarctica_Casey /*name*/,
14738  0xe2022583 /*zoneId*/,
14739  &kZoneContext /*zoneContext*/,
14740  18 /*numEras*/,
14741  kZoneEraAntarctica_Casey /*eras*/,
14742  nullptr /*targetInfo*/,
14743 };
14744 
14745 //---------------------------------------------------------------------------
14746 // Zone name: Antarctica/Davis
14747 // Eras: 8
14748 //---------------------------------------------------------------------------
14749 
14750 static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
14751  // 0 - -00 1957 Jan 13
14752  {
14753  nullptr /*zonePolicy*/,
14754  "-00" /*format*/,
14755  0 /*offsetCode (0/15)*/,
14756  0 /*offsetRemainder (0%15)*/,
14757  0 /*deltaMinutes*/,
14758  1957 /*untilYear*/,
14759  1 /*untilMonth*/,
14760  13 /*untilDay*/,
14761  0 /*untilTimeCode (0/15)*/,
14762  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14763  },
14764  // 7:00 - %z 1964 Nov
14765  {
14766  nullptr /*zonePolicy*/,
14767  "" /*format*/,
14768  1680 /*offsetCode (25200/15)*/,
14769  0 /*offsetRemainder (25200%15)*/,
14770  0 /*deltaMinutes*/,
14771  1964 /*untilYear*/,
14772  11 /*untilMonth*/,
14773  1 /*untilDay*/,
14774  0 /*untilTimeCode (0/15)*/,
14775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14776  },
14777  // 0 - -00 1969 Feb
14778  {
14779  nullptr /*zonePolicy*/,
14780  "-00" /*format*/,
14781  0 /*offsetCode (0/15)*/,
14782  0 /*offsetRemainder (0%15)*/,
14783  0 /*deltaMinutes*/,
14784  1969 /*untilYear*/,
14785  2 /*untilMonth*/,
14786  1 /*untilDay*/,
14787  0 /*untilTimeCode (0/15)*/,
14788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14789  },
14790  // 7:00 - %z 2009 Oct 18 2:00
14791  {
14792  nullptr /*zonePolicy*/,
14793  "" /*format*/,
14794  1680 /*offsetCode (25200/15)*/,
14795  0 /*offsetRemainder (25200%15)*/,
14796  0 /*deltaMinutes*/,
14797  2009 /*untilYear*/,
14798  10 /*untilMonth*/,
14799  18 /*untilDay*/,
14800  480 /*untilTimeCode (7200/15)*/,
14801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14802  },
14803  // 5:00 - %z 2010 Mar 10 20:00u
14804  {
14805  nullptr /*zonePolicy*/,
14806  "" /*format*/,
14807  1200 /*offsetCode (18000/15)*/,
14808  0 /*offsetRemainder (18000%15)*/,
14809  0 /*deltaMinutes*/,
14810  2010 /*untilYear*/,
14811  3 /*untilMonth*/,
14812  10 /*untilDay*/,
14813  4800 /*untilTimeCode (72000/15)*/,
14814  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14815  },
14816  // 7:00 - %z 2011 Oct 28 2:00
14817  {
14818  nullptr /*zonePolicy*/,
14819  "" /*format*/,
14820  1680 /*offsetCode (25200/15)*/,
14821  0 /*offsetRemainder (25200%15)*/,
14822  0 /*deltaMinutes*/,
14823  2011 /*untilYear*/,
14824  10 /*untilMonth*/,
14825  28 /*untilDay*/,
14826  480 /*untilTimeCode (7200/15)*/,
14827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14828  },
14829  // 5:00 - %z 2012 Feb 21 20:00u
14830  {
14831  nullptr /*zonePolicy*/,
14832  "" /*format*/,
14833  1200 /*offsetCode (18000/15)*/,
14834  0 /*offsetRemainder (18000%15)*/,
14835  0 /*deltaMinutes*/,
14836  2012 /*untilYear*/,
14837  2 /*untilMonth*/,
14838  21 /*untilDay*/,
14839  4800 /*untilTimeCode (72000/15)*/,
14840  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14841  },
14842  // 7:00 - %z
14843  {
14844  nullptr /*zonePolicy*/,
14845  "" /*format*/,
14846  1680 /*offsetCode (25200/15)*/,
14847  0 /*offsetRemainder (25200%15)*/,
14848  0 /*deltaMinutes*/,
14849  32767 /*untilYear*/,
14850  1 /*untilMonth*/,
14851  1 /*untilDay*/,
14852  0 /*untilTimeCode (0/15)*/,
14853  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14854  },
14855 
14856 };
14857 
14858 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "\x03" "Davis";
14859 
14860 const complete::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
14861  kZoneNameAntarctica_Davis /*name*/,
14862  0xe2144b45 /*zoneId*/,
14863  &kZoneContext /*zoneContext*/,
14864  8 /*numEras*/,
14865  kZoneEraAntarctica_Davis /*eras*/,
14866  nullptr /*targetInfo*/,
14867 };
14868 
14869 //---------------------------------------------------------------------------
14870 // Zone name: Antarctica/Macquarie
14871 // Eras: 9
14872 //---------------------------------------------------------------------------
14873 
14874 static const complete::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
14875  // 0 - -00 1899 Nov
14876  {
14877  nullptr /*zonePolicy*/,
14878  "-00" /*format*/,
14879  0 /*offsetCode (0/15)*/,
14880  0 /*offsetRemainder (0%15)*/,
14881  0 /*deltaMinutes*/,
14882  1899 /*untilYear*/,
14883  11 /*untilMonth*/,
14884  1 /*untilDay*/,
14885  0 /*untilTimeCode (0/15)*/,
14886  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14887  },
14888  // 10:00 - AEST 1916 Oct 1 2:00
14889  {
14890  nullptr /*zonePolicy*/,
14891  "AEST" /*format*/,
14892  2400 /*offsetCode (36000/15)*/,
14893  0 /*offsetRemainder (36000%15)*/,
14894  0 /*deltaMinutes*/,
14895  1916 /*untilYear*/,
14896  10 /*untilMonth*/,
14897  1 /*untilDay*/,
14898  480 /*untilTimeCode (7200/15)*/,
14899  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14900  },
14901  // 10:00 1:00 AEDT 1917 Feb
14902  {
14903  nullptr /*zonePolicy*/,
14904  "AEDT" /*format*/,
14905  2400 /*offsetCode (36000/15)*/,
14906  0 /*offsetRemainder (36000%15)*/,
14907  60 /*deltaMinutes*/,
14908  1917 /*untilYear*/,
14909  2 /*untilMonth*/,
14910  1 /*untilDay*/,
14911  0 /*untilTimeCode (0/15)*/,
14912  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14913  },
14914  // 10:00 Aus AE%sT 1919 Apr 1 0:00s
14915  {
14916  &kZonePolicyAus /*zonePolicy*/,
14917  "AE%T" /*format*/,
14918  2400 /*offsetCode (36000/15)*/,
14919  0 /*offsetRemainder (36000%15)*/,
14920  0 /*deltaMinutes*/,
14921  1919 /*untilYear*/,
14922  4 /*untilMonth*/,
14923  1 /*untilDay*/,
14924  0 /*untilTimeCode (0/15)*/,
14925  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14926  },
14927  // 0 - -00 1948 Mar 25
14928  {
14929  nullptr /*zonePolicy*/,
14930  "-00" /*format*/,
14931  0 /*offsetCode (0/15)*/,
14932  0 /*offsetRemainder (0%15)*/,
14933  0 /*deltaMinutes*/,
14934  1948 /*untilYear*/,
14935  3 /*untilMonth*/,
14936  25 /*untilDay*/,
14937  0 /*untilTimeCode (0/15)*/,
14938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14939  },
14940  // 10:00 Aus AE%sT 1967
14941  {
14942  &kZonePolicyAus /*zonePolicy*/,
14943  "AE%T" /*format*/,
14944  2400 /*offsetCode (36000/15)*/,
14945  0 /*offsetRemainder (36000%15)*/,
14946  0 /*deltaMinutes*/,
14947  1967 /*untilYear*/,
14948  1 /*untilMonth*/,
14949  1 /*untilDay*/,
14950  0 /*untilTimeCode (0/15)*/,
14951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14952  },
14953  // 10:00 AT AE%sT 2010
14954  {
14955  &kZonePolicyAT /*zonePolicy*/,
14956  "AE%T" /*format*/,
14957  2400 /*offsetCode (36000/15)*/,
14958  0 /*offsetRemainder (36000%15)*/,
14959  0 /*deltaMinutes*/,
14960  2010 /*untilYear*/,
14961  1 /*untilMonth*/,
14962  1 /*untilDay*/,
14963  0 /*untilTimeCode (0/15)*/,
14964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14965  },
14966  // 10:00 1:00 AEDT 2011
14967  {
14968  nullptr /*zonePolicy*/,
14969  "AEDT" /*format*/,
14970  2400 /*offsetCode (36000/15)*/,
14971  0 /*offsetRemainder (36000%15)*/,
14972  60 /*deltaMinutes*/,
14973  2011 /*untilYear*/,
14974  1 /*untilMonth*/,
14975  1 /*untilDay*/,
14976  0 /*untilTimeCode (0/15)*/,
14977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14978  },
14979  // 10:00 AT AE%sT
14980  {
14981  &kZonePolicyAT /*zonePolicy*/,
14982  "AE%T" /*format*/,
14983  2400 /*offsetCode (36000/15)*/,
14984  0 /*offsetRemainder (36000%15)*/,
14985  0 /*deltaMinutes*/,
14986  32767 /*untilYear*/,
14987  1 /*untilMonth*/,
14988  1 /*untilDay*/,
14989  0 /*untilTimeCode (0/15)*/,
14990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14991  },
14992 
14993 };
14994 
14995 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "\x03" "Macquarie";
14996 
14997 const complete::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
14998  kZoneNameAntarctica_Macquarie /*name*/,
14999  0x92f47626 /*zoneId*/,
15000  &kZoneContext /*zoneContext*/,
15001  9 /*numEras*/,
15002  kZoneEraAntarctica_Macquarie /*eras*/,
15003  nullptr /*targetInfo*/,
15004 };
15005 
15006 //---------------------------------------------------------------------------
15007 // Zone name: Antarctica/Mawson
15008 // Eras: 3
15009 //---------------------------------------------------------------------------
15010 
15011 static const complete::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
15012  // 0 - -00 1954 Feb 13
15013  {
15014  nullptr /*zonePolicy*/,
15015  "-00" /*format*/,
15016  0 /*offsetCode (0/15)*/,
15017  0 /*offsetRemainder (0%15)*/,
15018  0 /*deltaMinutes*/,
15019  1954 /*untilYear*/,
15020  2 /*untilMonth*/,
15021  13 /*untilDay*/,
15022  0 /*untilTimeCode (0/15)*/,
15023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15024  },
15025  // 6:00 - %z 2009 Oct 18 2:00
15026  {
15027  nullptr /*zonePolicy*/,
15028  "" /*format*/,
15029  1440 /*offsetCode (21600/15)*/,
15030  0 /*offsetRemainder (21600%15)*/,
15031  0 /*deltaMinutes*/,
15032  2009 /*untilYear*/,
15033  10 /*untilMonth*/,
15034  18 /*untilDay*/,
15035  480 /*untilTimeCode (7200/15)*/,
15036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15037  },
15038  // 5:00 - %z
15039  {
15040  nullptr /*zonePolicy*/,
15041  "" /*format*/,
15042  1200 /*offsetCode (18000/15)*/,
15043  0 /*offsetRemainder (18000%15)*/,
15044  0 /*deltaMinutes*/,
15045  32767 /*untilYear*/,
15046  1 /*untilMonth*/,
15047  1 /*untilDay*/,
15048  0 /*untilTimeCode (0/15)*/,
15049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15050  },
15051 
15052 };
15053 
15054 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "\x03" "Mawson";
15055 
15056 const complete::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
15057  kZoneNameAntarctica_Mawson /*name*/,
15058  0x399cd863 /*zoneId*/,
15059  &kZoneContext /*zoneContext*/,
15060  3 /*numEras*/,
15061  kZoneEraAntarctica_Mawson /*eras*/,
15062  nullptr /*targetInfo*/,
15063 };
15064 
15065 //---------------------------------------------------------------------------
15066 // Zone name: Antarctica/Palmer
15067 // Eras: 5
15068 //---------------------------------------------------------------------------
15069 
15070 static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
15071  // 0 - -00 1965
15072  {
15073  nullptr /*zonePolicy*/,
15074  "-00" /*format*/,
15075  0 /*offsetCode (0/15)*/,
15076  0 /*offsetRemainder (0%15)*/,
15077  0 /*deltaMinutes*/,
15078  1965 /*untilYear*/,
15079  1 /*untilMonth*/,
15080  1 /*untilDay*/,
15081  0 /*untilTimeCode (0/15)*/,
15082  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15083  },
15084  // -4:00 Arg %z 1969 Oct 5
15085  {
15086  &kZonePolicyArg /*zonePolicy*/,
15087  "" /*format*/,
15088  -960 /*offsetCode (-14400/15)*/,
15089  0 /*offsetRemainder (-14400%15)*/,
15090  0 /*deltaMinutes*/,
15091  1969 /*untilYear*/,
15092  10 /*untilMonth*/,
15093  5 /*untilDay*/,
15094  0 /*untilTimeCode (0/15)*/,
15095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15096  },
15097  // -3:00 Arg %z 1982 May
15098  {
15099  &kZonePolicyArg /*zonePolicy*/,
15100  "" /*format*/,
15101  -720 /*offsetCode (-10800/15)*/,
15102  0 /*offsetRemainder (-10800%15)*/,
15103  0 /*deltaMinutes*/,
15104  1982 /*untilYear*/,
15105  5 /*untilMonth*/,
15106  1 /*untilDay*/,
15107  0 /*untilTimeCode (0/15)*/,
15108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15109  },
15110  // -4:00 Chile %z 2016 Dec 4
15111  {
15112  &kZonePolicyChile /*zonePolicy*/,
15113  "" /*format*/,
15114  -960 /*offsetCode (-14400/15)*/,
15115  0 /*offsetRemainder (-14400%15)*/,
15116  0 /*deltaMinutes*/,
15117  2016 /*untilYear*/,
15118  12 /*untilMonth*/,
15119  4 /*untilDay*/,
15120  0 /*untilTimeCode (0/15)*/,
15121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15122  },
15123  // -3:00 - %z
15124  {
15125  nullptr /*zonePolicy*/,
15126  "" /*format*/,
15127  -720 /*offsetCode (-10800/15)*/,
15128  0 /*offsetRemainder (-10800%15)*/,
15129  0 /*deltaMinutes*/,
15130  32767 /*untilYear*/,
15131  1 /*untilMonth*/,
15132  1 /*untilDay*/,
15133  0 /*untilTimeCode (0/15)*/,
15134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15135  },
15136 
15137 };
15138 
15139 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "\x03" "Palmer";
15140 
15141 const complete::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
15142  kZoneNameAntarctica_Palmer /*name*/,
15143  0x40962f4f /*zoneId*/,
15144  &kZoneContext /*zoneContext*/,
15145  5 /*numEras*/,
15146  kZoneEraAntarctica_Palmer /*eras*/,
15147  nullptr /*targetInfo*/,
15148 };
15149 
15150 //---------------------------------------------------------------------------
15151 // Zone name: Antarctica/Rothera
15152 // Eras: 2
15153 //---------------------------------------------------------------------------
15154 
15155 static const complete::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
15156  // 0 - -00 1976 Dec 1
15157  {
15158  nullptr /*zonePolicy*/,
15159  "-00" /*format*/,
15160  0 /*offsetCode (0/15)*/,
15161  0 /*offsetRemainder (0%15)*/,
15162  0 /*deltaMinutes*/,
15163  1976 /*untilYear*/,
15164  12 /*untilMonth*/,
15165  1 /*untilDay*/,
15166  0 /*untilTimeCode (0/15)*/,
15167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15168  },
15169  // -3:00 - %z
15170  {
15171  nullptr /*zonePolicy*/,
15172  "" /*format*/,
15173  -720 /*offsetCode (-10800/15)*/,
15174  0 /*offsetRemainder (-10800%15)*/,
15175  0 /*deltaMinutes*/,
15176  32767 /*untilYear*/,
15177  1 /*untilMonth*/,
15178  1 /*untilDay*/,
15179  0 /*untilTimeCode (0/15)*/,
15180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15181  },
15182 
15183 };
15184 
15185 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";
15186 
15187 const complete::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
15188  kZoneNameAntarctica_Rothera /*name*/,
15189  0x0e86d203 /*zoneId*/,
15190  &kZoneContext /*zoneContext*/,
15191  2 /*numEras*/,
15192  kZoneEraAntarctica_Rothera /*eras*/,
15193  nullptr /*targetInfo*/,
15194 };
15195 
15196 //---------------------------------------------------------------------------
15197 // Zone name: Antarctica/Troll
15198 // Eras: 2
15199 //---------------------------------------------------------------------------
15200 
15201 static const complete::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
15202  // 0 - -00 2005 Feb 12
15203  {
15204  nullptr /*zonePolicy*/,
15205  "-00" /*format*/,
15206  0 /*offsetCode (0/15)*/,
15207  0 /*offsetRemainder (0%15)*/,
15208  0 /*deltaMinutes*/,
15209  2005 /*untilYear*/,
15210  2 /*untilMonth*/,
15211  12 /*untilDay*/,
15212  0 /*untilTimeCode (0/15)*/,
15213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15214  },
15215  // 0:00 Troll %s
15216  {
15217  &kZonePolicyTroll /*zonePolicy*/,
15218  "%" /*format*/,
15219  0 /*offsetCode (0/15)*/,
15220  0 /*offsetRemainder (0%15)*/,
15221  0 /*deltaMinutes*/,
15222  32767 /*untilYear*/,
15223  1 /*untilMonth*/,
15224  1 /*untilDay*/,
15225  0 /*untilTimeCode (0/15)*/,
15226  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15227  },
15228 
15229 };
15230 
15231 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "\x03" "Troll";
15232 
15233 const complete::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
15234  kZoneNameAntarctica_Troll /*name*/,
15235  0xe33f085b /*zoneId*/,
15236  &kZoneContext /*zoneContext*/,
15237  2 /*numEras*/,
15238  kZoneEraAntarctica_Troll /*eras*/,
15239  nullptr /*targetInfo*/,
15240 };
15241 
15242 //---------------------------------------------------------------------------
15243 // Zone name: Antarctica/Vostok
15244 // Eras: 5
15245 //---------------------------------------------------------------------------
15246 
15247 static const complete::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
15248  // 0 - -00 1957 Dec 16
15249  {
15250  nullptr /*zonePolicy*/,
15251  "-00" /*format*/,
15252  0 /*offsetCode (0/15)*/,
15253  0 /*offsetRemainder (0%15)*/,
15254  0 /*deltaMinutes*/,
15255  1957 /*untilYear*/,
15256  12 /*untilMonth*/,
15257  16 /*untilDay*/,
15258  0 /*untilTimeCode (0/15)*/,
15259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15260  },
15261  // 7:00 - %z 1994 Feb
15262  {
15263  nullptr /*zonePolicy*/,
15264  "" /*format*/,
15265  1680 /*offsetCode (25200/15)*/,
15266  0 /*offsetRemainder (25200%15)*/,
15267  0 /*deltaMinutes*/,
15268  1994 /*untilYear*/,
15269  2 /*untilMonth*/,
15270  1 /*untilDay*/,
15271  0 /*untilTimeCode (0/15)*/,
15272  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15273  },
15274  // 0 - -00 1994 Nov
15275  {
15276  nullptr /*zonePolicy*/,
15277  "-00" /*format*/,
15278  0 /*offsetCode (0/15)*/,
15279  0 /*offsetRemainder (0%15)*/,
15280  0 /*deltaMinutes*/,
15281  1994 /*untilYear*/,
15282  11 /*untilMonth*/,
15283  1 /*untilDay*/,
15284  0 /*untilTimeCode (0/15)*/,
15285  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15286  },
15287  // 7:00 - %z 2023 Dec 18 2:00
15288  {
15289  nullptr /*zonePolicy*/,
15290  "" /*format*/,
15291  1680 /*offsetCode (25200/15)*/,
15292  0 /*offsetRemainder (25200%15)*/,
15293  0 /*deltaMinutes*/,
15294  2023 /*untilYear*/,
15295  12 /*untilMonth*/,
15296  18 /*untilDay*/,
15297  480 /*untilTimeCode (7200/15)*/,
15298  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15299  },
15300  // 5:00 - %z
15301  {
15302  nullptr /*zonePolicy*/,
15303  "" /*format*/,
15304  1200 /*offsetCode (18000/15)*/,
15305  0 /*offsetRemainder (18000%15)*/,
15306  0 /*deltaMinutes*/,
15307  32767 /*untilYear*/,
15308  1 /*untilMonth*/,
15309  1 /*untilDay*/,
15310  0 /*untilTimeCode (0/15)*/,
15311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15312  },
15313 
15314 };
15315 
15316 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "\x03" "Vostok";
15317 
15318 const complete::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
15319  kZoneNameAntarctica_Vostok /*name*/,
15320  0x4f966fd4 /*zoneId*/,
15321  &kZoneContext /*zoneContext*/,
15322  5 /*numEras*/,
15323  kZoneEraAntarctica_Vostok /*eras*/,
15324  nullptr /*targetInfo*/,
15325 };
15326 
15327 //---------------------------------------------------------------------------
15328 // Zone name: Asia/Almaty
15329 // Eras: 7
15330 //---------------------------------------------------------------------------
15331 
15332 static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
15333  // 5:07:48 - LMT 1924 May 2
15334  {
15335  nullptr /*zonePolicy*/,
15336  "LMT" /*format*/,
15337  1231 /*offsetCode (18468/15)*/,
15338  3 /*offsetRemainder (18468%15)*/,
15339  0 /*deltaMinutes*/,
15340  1924 /*untilYear*/,
15341  5 /*untilMonth*/,
15342  2 /*untilDay*/,
15343  0 /*untilTimeCode (0/15)*/,
15344  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15345  },
15346  // 5:00 - %z 1930 Jun 21
15347  {
15348  nullptr /*zonePolicy*/,
15349  "" /*format*/,
15350  1200 /*offsetCode (18000/15)*/,
15351  0 /*offsetRemainder (18000%15)*/,
15352  0 /*deltaMinutes*/,
15353  1930 /*untilYear*/,
15354  6 /*untilMonth*/,
15355  21 /*untilDay*/,
15356  0 /*untilTimeCode (0/15)*/,
15357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15358  },
15359  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
15360  {
15361  &kZonePolicyRussiaAsia /*zonePolicy*/,
15362  "" /*format*/,
15363  1440 /*offsetCode (21600/15)*/,
15364  0 /*offsetRemainder (21600%15)*/,
15365  0 /*deltaMinutes*/,
15366  1991 /*untilYear*/,
15367  3 /*untilMonth*/,
15368  31 /*untilDay*/,
15369  480 /*untilTimeCode (7200/15)*/,
15370  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15371  },
15372  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
15373  {
15374  &kZonePolicyRussiaAsia /*zonePolicy*/,
15375  "" /*format*/,
15376  1200 /*offsetCode (18000/15)*/,
15377  0 /*offsetRemainder (18000%15)*/,
15378  0 /*deltaMinutes*/,
15379  1992 /*untilYear*/,
15380  1 /*untilMonth*/,
15381  19 /*untilDay*/,
15382  480 /*untilTimeCode (7200/15)*/,
15383  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15384  },
15385  // 6:00 RussiaAsia %z 2004 Oct 31 2:00s
15386  {
15387  &kZonePolicyRussiaAsia /*zonePolicy*/,
15388  "" /*format*/,
15389  1440 /*offsetCode (21600/15)*/,
15390  0 /*offsetRemainder (21600%15)*/,
15391  0 /*deltaMinutes*/,
15392  2004 /*untilYear*/,
15393  10 /*untilMonth*/,
15394  31 /*untilDay*/,
15395  480 /*untilTimeCode (7200/15)*/,
15396  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15397  },
15398  // 6:00 - %z 2024 Mar 1 0:00
15399  {
15400  nullptr /*zonePolicy*/,
15401  "" /*format*/,
15402  1440 /*offsetCode (21600/15)*/,
15403  0 /*offsetRemainder (21600%15)*/,
15404  0 /*deltaMinutes*/,
15405  2024 /*untilYear*/,
15406  3 /*untilMonth*/,
15407  1 /*untilDay*/,
15408  0 /*untilTimeCode (0/15)*/,
15409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15410  },
15411  // 5:00 - %z
15412  {
15413  nullptr /*zonePolicy*/,
15414  "" /*format*/,
15415  1200 /*offsetCode (18000/15)*/,
15416  0 /*offsetRemainder (18000%15)*/,
15417  0 /*deltaMinutes*/,
15418  32767 /*untilYear*/,
15419  1 /*untilMonth*/,
15420  1 /*untilDay*/,
15421  0 /*untilTimeCode (0/15)*/,
15422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15423  },
15424 
15425 };
15426 
15427 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "\x05" "Almaty";
15428 
15429 const complete::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
15430  kZoneNameAsia_Almaty /*name*/,
15431  0xa61f41fa /*zoneId*/,
15432  &kZoneContext /*zoneContext*/,
15433  7 /*numEras*/,
15434  kZoneEraAsia_Almaty /*eras*/,
15435  nullptr /*targetInfo*/,
15436 };
15437 
15438 //---------------------------------------------------------------------------
15439 // Zone name: Asia/Amman
15440 // Eras: 3
15441 //---------------------------------------------------------------------------
15442 
15443 static const complete::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
15444  // 2:23:44 - LMT 1931
15445  {
15446  nullptr /*zonePolicy*/,
15447  "LMT" /*format*/,
15448  574 /*offsetCode (8624/15)*/,
15449  14 /*offsetRemainder (8624%15)*/,
15450  0 /*deltaMinutes*/,
15451  1931 /*untilYear*/,
15452  1 /*untilMonth*/,
15453  1 /*untilDay*/,
15454  0 /*untilTimeCode (0/15)*/,
15455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15456  },
15457  // 2:00 Jordan EE%sT 2022 Oct 28 0:00s
15458  {
15459  &kZonePolicyJordan /*zonePolicy*/,
15460  "EE%T" /*format*/,
15461  480 /*offsetCode (7200/15)*/,
15462  0 /*offsetRemainder (7200%15)*/,
15463  0 /*deltaMinutes*/,
15464  2022 /*untilYear*/,
15465  10 /*untilMonth*/,
15466  28 /*untilDay*/,
15467  0 /*untilTimeCode (0/15)*/,
15468  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15469  },
15470  // 3:00 - %z
15471  {
15472  nullptr /*zonePolicy*/,
15473  "" /*format*/,
15474  720 /*offsetCode (10800/15)*/,
15475  0 /*offsetRemainder (10800%15)*/,
15476  0 /*deltaMinutes*/,
15477  32767 /*untilYear*/,
15478  1 /*untilMonth*/,
15479  1 /*untilDay*/,
15480  0 /*untilTimeCode (0/15)*/,
15481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15482  },
15483 
15484 };
15485 
15486 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "\x05" "Amman";
15487 
15488 const complete::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
15489  kZoneNameAsia_Amman /*name*/,
15490  0x148d21bc /*zoneId*/,
15491  &kZoneContext /*zoneContext*/,
15492  3 /*numEras*/,
15493  kZoneEraAsia_Amman /*eras*/,
15494  nullptr /*targetInfo*/,
15495 };
15496 
15497 //---------------------------------------------------------------------------
15498 // Zone name: Asia/Anadyr
15499 // Eras: 8
15500 //---------------------------------------------------------------------------
15501 
15502 static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
15503  // 11:49:56 - LMT 1924 May 2
15504  {
15505  nullptr /*zonePolicy*/,
15506  "LMT" /*format*/,
15507  2839 /*offsetCode (42596/15)*/,
15508  11 /*offsetRemainder (42596%15)*/,
15509  0 /*deltaMinutes*/,
15510  1924 /*untilYear*/,
15511  5 /*untilMonth*/,
15512  2 /*untilDay*/,
15513  0 /*untilTimeCode (0/15)*/,
15514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15515  },
15516  // 12:00 - %z 1930 Jun 21
15517  {
15518  nullptr /*zonePolicy*/,
15519  "" /*format*/,
15520  2880 /*offsetCode (43200/15)*/,
15521  0 /*offsetRemainder (43200%15)*/,
15522  0 /*deltaMinutes*/,
15523  1930 /*untilYear*/,
15524  6 /*untilMonth*/,
15525  21 /*untilDay*/,
15526  0 /*untilTimeCode (0/15)*/,
15527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15528  },
15529  // 13:00 Russia %z 1982 Apr 1 0:00s
15530  {
15531  &kZonePolicyRussia /*zonePolicy*/,
15532  "" /*format*/,
15533  3120 /*offsetCode (46800/15)*/,
15534  0 /*offsetRemainder (46800%15)*/,
15535  0 /*deltaMinutes*/,
15536  1982 /*untilYear*/,
15537  4 /*untilMonth*/,
15538  1 /*untilDay*/,
15539  0 /*untilTimeCode (0/15)*/,
15540  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15541  },
15542  // 12:00 Russia %z 1991 Mar 31 2:00s
15543  {
15544  &kZonePolicyRussia /*zonePolicy*/,
15545  "" /*format*/,
15546  2880 /*offsetCode (43200/15)*/,
15547  0 /*offsetRemainder (43200%15)*/,
15548  0 /*deltaMinutes*/,
15549  1991 /*untilYear*/,
15550  3 /*untilMonth*/,
15551  31 /*untilDay*/,
15552  480 /*untilTimeCode (7200/15)*/,
15553  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15554  },
15555  // 11:00 Russia %z 1992 Jan 19 2:00s
15556  {
15557  &kZonePolicyRussia /*zonePolicy*/,
15558  "" /*format*/,
15559  2640 /*offsetCode (39600/15)*/,
15560  0 /*offsetRemainder (39600%15)*/,
15561  0 /*deltaMinutes*/,
15562  1992 /*untilYear*/,
15563  1 /*untilMonth*/,
15564  19 /*untilDay*/,
15565  480 /*untilTimeCode (7200/15)*/,
15566  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15567  },
15568  // 12:00 Russia %z 2010 Mar 28 2:00s
15569  {
15570  &kZonePolicyRussia /*zonePolicy*/,
15571  "" /*format*/,
15572  2880 /*offsetCode (43200/15)*/,
15573  0 /*offsetRemainder (43200%15)*/,
15574  0 /*deltaMinutes*/,
15575  2010 /*untilYear*/,
15576  3 /*untilMonth*/,
15577  28 /*untilDay*/,
15578  480 /*untilTimeCode (7200/15)*/,
15579  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15580  },
15581  // 11:00 Russia %z 2011 Mar 27 2:00s
15582  {
15583  &kZonePolicyRussia /*zonePolicy*/,
15584  "" /*format*/,
15585  2640 /*offsetCode (39600/15)*/,
15586  0 /*offsetRemainder (39600%15)*/,
15587  0 /*deltaMinutes*/,
15588  2011 /*untilYear*/,
15589  3 /*untilMonth*/,
15590  27 /*untilDay*/,
15591  480 /*untilTimeCode (7200/15)*/,
15592  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15593  },
15594  // 12:00 - %z
15595  {
15596  nullptr /*zonePolicy*/,
15597  "" /*format*/,
15598  2880 /*offsetCode (43200/15)*/,
15599  0 /*offsetRemainder (43200%15)*/,
15600  0 /*deltaMinutes*/,
15601  32767 /*untilYear*/,
15602  1 /*untilMonth*/,
15603  1 /*untilDay*/,
15604  0 /*untilTimeCode (0/15)*/,
15605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15606  },
15607 
15608 };
15609 
15610 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "\x05" "Anadyr";
15611 
15612 const complete::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
15613  kZoneNameAsia_Anadyr /*name*/,
15614  0xa63cebd1 /*zoneId*/,
15615  &kZoneContext /*zoneContext*/,
15616  8 /*numEras*/,
15617  kZoneEraAsia_Anadyr /*eras*/,
15618  nullptr /*targetInfo*/,
15619 };
15620 
15621 //---------------------------------------------------------------------------
15622 // Zone name: Asia/Aqtau
15623 // Eras: 9
15624 //---------------------------------------------------------------------------
15625 
15626 static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
15627  // 3:21:04 - LMT 1924 May 2
15628  {
15629  nullptr /*zonePolicy*/,
15630  "LMT" /*format*/,
15631  804 /*offsetCode (12064/15)*/,
15632  4 /*offsetRemainder (12064%15)*/,
15633  0 /*deltaMinutes*/,
15634  1924 /*untilYear*/,
15635  5 /*untilMonth*/,
15636  2 /*untilDay*/,
15637  0 /*untilTimeCode (0/15)*/,
15638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15639  },
15640  // 4:00 - %z 1930 Jun 21
15641  {
15642  nullptr /*zonePolicy*/,
15643  "" /*format*/,
15644  960 /*offsetCode (14400/15)*/,
15645  0 /*offsetRemainder (14400%15)*/,
15646  0 /*deltaMinutes*/,
15647  1930 /*untilYear*/,
15648  6 /*untilMonth*/,
15649  21 /*untilDay*/,
15650  0 /*untilTimeCode (0/15)*/,
15651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15652  },
15653  // 5:00 - %z 1981 Oct 1
15654  {
15655  nullptr /*zonePolicy*/,
15656  "" /*format*/,
15657  1200 /*offsetCode (18000/15)*/,
15658  0 /*offsetRemainder (18000%15)*/,
15659  0 /*deltaMinutes*/,
15660  1981 /*untilYear*/,
15661  10 /*untilMonth*/,
15662  1 /*untilDay*/,
15663  0 /*untilTimeCode (0/15)*/,
15664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15665  },
15666  // 6:00 - %z 1982 Apr 1
15667  {
15668  nullptr /*zonePolicy*/,
15669  "" /*format*/,
15670  1440 /*offsetCode (21600/15)*/,
15671  0 /*offsetRemainder (21600%15)*/,
15672  0 /*deltaMinutes*/,
15673  1982 /*untilYear*/,
15674  4 /*untilMonth*/,
15675  1 /*untilDay*/,
15676  0 /*untilTimeCode (0/15)*/,
15677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15678  },
15679  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
15680  {
15681  &kZonePolicyRussiaAsia /*zonePolicy*/,
15682  "" /*format*/,
15683  1200 /*offsetCode (18000/15)*/,
15684  0 /*offsetRemainder (18000%15)*/,
15685  0 /*deltaMinutes*/,
15686  1991 /*untilYear*/,
15687  3 /*untilMonth*/,
15688  31 /*untilDay*/,
15689  480 /*untilTimeCode (7200/15)*/,
15690  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15691  },
15692  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
15693  {
15694  &kZonePolicyRussiaAsia /*zonePolicy*/,
15695  "" /*format*/,
15696  960 /*offsetCode (14400/15)*/,
15697  0 /*offsetRemainder (14400%15)*/,
15698  0 /*deltaMinutes*/,
15699  1992 /*untilYear*/,
15700  1 /*untilMonth*/,
15701  19 /*untilDay*/,
15702  480 /*untilTimeCode (7200/15)*/,
15703  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15704  },
15705  // 5:00 RussiaAsia %z 1994 Sep 25 2:00s
15706  {
15707  &kZonePolicyRussiaAsia /*zonePolicy*/,
15708  "" /*format*/,
15709  1200 /*offsetCode (18000/15)*/,
15710  0 /*offsetRemainder (18000%15)*/,
15711  0 /*deltaMinutes*/,
15712  1994 /*untilYear*/,
15713  9 /*untilMonth*/,
15714  25 /*untilDay*/,
15715  480 /*untilTimeCode (7200/15)*/,
15716  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15717  },
15718  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
15719  {
15720  &kZonePolicyRussiaAsia /*zonePolicy*/,
15721  "" /*format*/,
15722  960 /*offsetCode (14400/15)*/,
15723  0 /*offsetRemainder (14400%15)*/,
15724  0 /*deltaMinutes*/,
15725  2004 /*untilYear*/,
15726  10 /*untilMonth*/,
15727  31 /*untilDay*/,
15728  480 /*untilTimeCode (7200/15)*/,
15729  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15730  },
15731  // 5:00 - %z
15732  {
15733  nullptr /*zonePolicy*/,
15734  "" /*format*/,
15735  1200 /*offsetCode (18000/15)*/,
15736  0 /*offsetRemainder (18000%15)*/,
15737  0 /*deltaMinutes*/,
15738  32767 /*untilYear*/,
15739  1 /*untilMonth*/,
15740  1 /*untilDay*/,
15741  0 /*untilTimeCode (0/15)*/,
15742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15743  },
15744 
15745 };
15746 
15747 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "\x05" "Aqtau";
15748 
15749 const complete::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
15750  kZoneNameAsia_Aqtau /*name*/,
15751  0x148f710e /*zoneId*/,
15752  &kZoneContext /*zoneContext*/,
15753  9 /*numEras*/,
15754  kZoneEraAsia_Aqtau /*eras*/,
15755  nullptr /*targetInfo*/,
15756 };
15757 
15758 //---------------------------------------------------------------------------
15759 // Zone name: Asia/Aqtobe
15760 // Eras: 9
15761 //---------------------------------------------------------------------------
15762 
15763 static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
15764  // 3:48:40 - LMT 1924 May 2
15765  {
15766  nullptr /*zonePolicy*/,
15767  "LMT" /*format*/,
15768  914 /*offsetCode (13720/15)*/,
15769  10 /*offsetRemainder (13720%15)*/,
15770  0 /*deltaMinutes*/,
15771  1924 /*untilYear*/,
15772  5 /*untilMonth*/,
15773  2 /*untilDay*/,
15774  0 /*untilTimeCode (0/15)*/,
15775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15776  },
15777  // 4:00 - %z 1930 Jun 21
15778  {
15779  nullptr /*zonePolicy*/,
15780  "" /*format*/,
15781  960 /*offsetCode (14400/15)*/,
15782  0 /*offsetRemainder (14400%15)*/,
15783  0 /*deltaMinutes*/,
15784  1930 /*untilYear*/,
15785  6 /*untilMonth*/,
15786  21 /*untilDay*/,
15787  0 /*untilTimeCode (0/15)*/,
15788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15789  },
15790  // 5:00 - %z 1981 Apr 1
15791  {
15792  nullptr /*zonePolicy*/,
15793  "" /*format*/,
15794  1200 /*offsetCode (18000/15)*/,
15795  0 /*offsetRemainder (18000%15)*/,
15796  0 /*deltaMinutes*/,
15797  1981 /*untilYear*/,
15798  4 /*untilMonth*/,
15799  1 /*untilDay*/,
15800  0 /*untilTimeCode (0/15)*/,
15801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15802  },
15803  // 5:00 1:00 %z 1981 Oct 1
15804  {
15805  nullptr /*zonePolicy*/,
15806  "" /*format*/,
15807  1200 /*offsetCode (18000/15)*/,
15808  0 /*offsetRemainder (18000%15)*/,
15809  60 /*deltaMinutes*/,
15810  1981 /*untilYear*/,
15811  10 /*untilMonth*/,
15812  1 /*untilDay*/,
15813  0 /*untilTimeCode (0/15)*/,
15814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15815  },
15816  // 6:00 - %z 1982 Apr 1
15817  {
15818  nullptr /*zonePolicy*/,
15819  "" /*format*/,
15820  1440 /*offsetCode (21600/15)*/,
15821  0 /*offsetRemainder (21600%15)*/,
15822  0 /*deltaMinutes*/,
15823  1982 /*untilYear*/,
15824  4 /*untilMonth*/,
15825  1 /*untilDay*/,
15826  0 /*untilTimeCode (0/15)*/,
15827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15828  },
15829  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
15830  {
15831  &kZonePolicyRussiaAsia /*zonePolicy*/,
15832  "" /*format*/,
15833  1200 /*offsetCode (18000/15)*/,
15834  0 /*offsetRemainder (18000%15)*/,
15835  0 /*deltaMinutes*/,
15836  1991 /*untilYear*/,
15837  3 /*untilMonth*/,
15838  31 /*untilDay*/,
15839  480 /*untilTimeCode (7200/15)*/,
15840  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15841  },
15842  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
15843  {
15844  &kZonePolicyRussiaAsia /*zonePolicy*/,
15845  "" /*format*/,
15846  960 /*offsetCode (14400/15)*/,
15847  0 /*offsetRemainder (14400%15)*/,
15848  0 /*deltaMinutes*/,
15849  1992 /*untilYear*/,
15850  1 /*untilMonth*/,
15851  19 /*untilDay*/,
15852  480 /*untilTimeCode (7200/15)*/,
15853  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15854  },
15855  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
15856  {
15857  &kZonePolicyRussiaAsia /*zonePolicy*/,
15858  "" /*format*/,
15859  1200 /*offsetCode (18000/15)*/,
15860  0 /*offsetRemainder (18000%15)*/,
15861  0 /*deltaMinutes*/,
15862  2004 /*untilYear*/,
15863  10 /*untilMonth*/,
15864  31 /*untilDay*/,
15865  480 /*untilTimeCode (7200/15)*/,
15866  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15867  },
15868  // 5:00 - %z
15869  {
15870  nullptr /*zonePolicy*/,
15871  "" /*format*/,
15872  1200 /*offsetCode (18000/15)*/,
15873  0 /*offsetRemainder (18000%15)*/,
15874  0 /*deltaMinutes*/,
15875  32767 /*untilYear*/,
15876  1 /*untilMonth*/,
15877  1 /*untilDay*/,
15878  0 /*untilTimeCode (0/15)*/,
15879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15880  },
15881 
15882 };
15883 
15884 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "\x05" "Aqtobe";
15885 
15886 const complete::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
15887  kZoneNameAsia_Aqtobe /*name*/,
15888  0xa67dcc4e /*zoneId*/,
15889  &kZoneContext /*zoneContext*/,
15890  9 /*numEras*/,
15891  kZoneEraAsia_Aqtobe /*eras*/,
15892  nullptr /*targetInfo*/,
15893 };
15894 
15895 //---------------------------------------------------------------------------
15896 // Zone name: Asia/Ashgabat
15897 // Eras: 5
15898 //---------------------------------------------------------------------------
15899 
15900 static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
15901  // 3:53:32 - LMT 1924 May 2
15902  {
15903  nullptr /*zonePolicy*/,
15904  "LMT" /*format*/,
15905  934 /*offsetCode (14012/15)*/,
15906  2 /*offsetRemainder (14012%15)*/,
15907  0 /*deltaMinutes*/,
15908  1924 /*untilYear*/,
15909  5 /*untilMonth*/,
15910  2 /*untilDay*/,
15911  0 /*untilTimeCode (0/15)*/,
15912  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15913  },
15914  // 4:00 - %z 1930 Jun 21
15915  {
15916  nullptr /*zonePolicy*/,
15917  "" /*format*/,
15918  960 /*offsetCode (14400/15)*/,
15919  0 /*offsetRemainder (14400%15)*/,
15920  0 /*deltaMinutes*/,
15921  1930 /*untilYear*/,
15922  6 /*untilMonth*/,
15923  21 /*untilDay*/,
15924  0 /*untilTimeCode (0/15)*/,
15925  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15926  },
15927  // 5:00 RussiaAsia %z 1991 Mar 31 2:00
15928  {
15929  &kZonePolicyRussiaAsia /*zonePolicy*/,
15930  "" /*format*/,
15931  1200 /*offsetCode (18000/15)*/,
15932  0 /*offsetRemainder (18000%15)*/,
15933  0 /*deltaMinutes*/,
15934  1991 /*untilYear*/,
15935  3 /*untilMonth*/,
15936  31 /*untilDay*/,
15937  480 /*untilTimeCode (7200/15)*/,
15938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15939  },
15940  // 4:00 RussiaAsia %z 1992 Jan 19 2:00
15941  {
15942  &kZonePolicyRussiaAsia /*zonePolicy*/,
15943  "" /*format*/,
15944  960 /*offsetCode (14400/15)*/,
15945  0 /*offsetRemainder (14400%15)*/,
15946  0 /*deltaMinutes*/,
15947  1992 /*untilYear*/,
15948  1 /*untilMonth*/,
15949  19 /*untilDay*/,
15950  480 /*untilTimeCode (7200/15)*/,
15951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15952  },
15953  // 5:00 - %z
15954  {
15955  nullptr /*zonePolicy*/,
15956  "" /*format*/,
15957  1200 /*offsetCode (18000/15)*/,
15958  0 /*offsetRemainder (18000%15)*/,
15959  0 /*deltaMinutes*/,
15960  32767 /*untilYear*/,
15961  1 /*untilMonth*/,
15962  1 /*untilDay*/,
15963  0 /*untilTimeCode (0/15)*/,
15964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15965  },
15966 
15967 };
15968 
15969 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x05" "Ashgabat";
15970 
15971 const complete::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
15972  kZoneNameAsia_Ashgabat /*name*/,
15973  0xba87598d /*zoneId*/,
15974  &kZoneContext /*zoneContext*/,
15975  5 /*numEras*/,
15976  kZoneEraAsia_Ashgabat /*eras*/,
15977  nullptr /*targetInfo*/,
15978 };
15979 
15980 //---------------------------------------------------------------------------
15981 // Zone name: Asia/Atyrau
15982 // Eras: 9
15983 //---------------------------------------------------------------------------
15984 
15985 static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
15986  // 3:27:44 - LMT 1924 May 2
15987  {
15988  nullptr /*zonePolicy*/,
15989  "LMT" /*format*/,
15990  830 /*offsetCode (12464/15)*/,
15991  14 /*offsetRemainder (12464%15)*/,
15992  0 /*deltaMinutes*/,
15993  1924 /*untilYear*/,
15994  5 /*untilMonth*/,
15995  2 /*untilDay*/,
15996  0 /*untilTimeCode (0/15)*/,
15997  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15998  },
15999  // 3:00 - %z 1930 Jun 21
16000  {
16001  nullptr /*zonePolicy*/,
16002  "" /*format*/,
16003  720 /*offsetCode (10800/15)*/,
16004  0 /*offsetRemainder (10800%15)*/,
16005  0 /*deltaMinutes*/,
16006  1930 /*untilYear*/,
16007  6 /*untilMonth*/,
16008  21 /*untilDay*/,
16009  0 /*untilTimeCode (0/15)*/,
16010  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16011  },
16012  // 5:00 - %z 1981 Oct 1
16013  {
16014  nullptr /*zonePolicy*/,
16015  "" /*format*/,
16016  1200 /*offsetCode (18000/15)*/,
16017  0 /*offsetRemainder (18000%15)*/,
16018  0 /*deltaMinutes*/,
16019  1981 /*untilYear*/,
16020  10 /*untilMonth*/,
16021  1 /*untilDay*/,
16022  0 /*untilTimeCode (0/15)*/,
16023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16024  },
16025  // 6:00 - %z 1982 Apr 1
16026  {
16027  nullptr /*zonePolicy*/,
16028  "" /*format*/,
16029  1440 /*offsetCode (21600/15)*/,
16030  0 /*offsetRemainder (21600%15)*/,
16031  0 /*deltaMinutes*/,
16032  1982 /*untilYear*/,
16033  4 /*untilMonth*/,
16034  1 /*untilDay*/,
16035  0 /*untilTimeCode (0/15)*/,
16036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16037  },
16038  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
16039  {
16040  &kZonePolicyRussiaAsia /*zonePolicy*/,
16041  "" /*format*/,
16042  1200 /*offsetCode (18000/15)*/,
16043  0 /*offsetRemainder (18000%15)*/,
16044  0 /*deltaMinutes*/,
16045  1991 /*untilYear*/,
16046  3 /*untilMonth*/,
16047  31 /*untilDay*/,
16048  480 /*untilTimeCode (7200/15)*/,
16049  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16050  },
16051  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
16052  {
16053  &kZonePolicyRussiaAsia /*zonePolicy*/,
16054  "" /*format*/,
16055  960 /*offsetCode (14400/15)*/,
16056  0 /*offsetRemainder (14400%15)*/,
16057  0 /*deltaMinutes*/,
16058  1992 /*untilYear*/,
16059  1 /*untilMonth*/,
16060  19 /*untilDay*/,
16061  480 /*untilTimeCode (7200/15)*/,
16062  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16063  },
16064  // 5:00 RussiaAsia %z 1999 Mar 28 2:00s
16065  {
16066  &kZonePolicyRussiaAsia /*zonePolicy*/,
16067  "" /*format*/,
16068  1200 /*offsetCode (18000/15)*/,
16069  0 /*offsetRemainder (18000%15)*/,
16070  0 /*deltaMinutes*/,
16071  1999 /*untilYear*/,
16072  3 /*untilMonth*/,
16073  28 /*untilDay*/,
16074  480 /*untilTimeCode (7200/15)*/,
16075  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16076  },
16077  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
16078  {
16079  &kZonePolicyRussiaAsia /*zonePolicy*/,
16080  "" /*format*/,
16081  960 /*offsetCode (14400/15)*/,
16082  0 /*offsetRemainder (14400%15)*/,
16083  0 /*deltaMinutes*/,
16084  2004 /*untilYear*/,
16085  10 /*untilMonth*/,
16086  31 /*untilDay*/,
16087  480 /*untilTimeCode (7200/15)*/,
16088  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16089  },
16090  // 5:00 - %z
16091  {
16092  nullptr /*zonePolicy*/,
16093  "" /*format*/,
16094  1200 /*offsetCode (18000/15)*/,
16095  0 /*offsetRemainder (18000%15)*/,
16096  0 /*deltaMinutes*/,
16097  32767 /*untilYear*/,
16098  1 /*untilMonth*/,
16099  1 /*untilDay*/,
16100  0 /*untilTimeCode (0/15)*/,
16101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16102  },
16103 
16104 };
16105 
16106 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "\x05" "Atyrau";
16107 
16108 const complete::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
16109  kZoneNameAsia_Atyrau /*name*/,
16110  0xa6b6e068 /*zoneId*/,
16111  &kZoneContext /*zoneContext*/,
16112  9 /*numEras*/,
16113  kZoneEraAsia_Atyrau /*eras*/,
16114  nullptr /*targetInfo*/,
16115 };
16116 
16117 //---------------------------------------------------------------------------
16118 // Zone name: Asia/Baghdad
16119 // Eras: 4
16120 //---------------------------------------------------------------------------
16121 
16122 static const complete::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
16123  // 2:57:40 - LMT 1890
16124  {
16125  nullptr /*zonePolicy*/,
16126  "LMT" /*format*/,
16127  710 /*offsetCode (10660/15)*/,
16128  10 /*offsetRemainder (10660%15)*/,
16129  0 /*deltaMinutes*/,
16130  1890 /*untilYear*/,
16131  1 /*untilMonth*/,
16132  1 /*untilDay*/,
16133  0 /*untilTimeCode (0/15)*/,
16134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16135  },
16136  // 2:57:36 - BMT 1918
16137  {
16138  nullptr /*zonePolicy*/,
16139  "BMT" /*format*/,
16140  710 /*offsetCode (10656/15)*/,
16141  6 /*offsetRemainder (10656%15)*/,
16142  0 /*deltaMinutes*/,
16143  1918 /*untilYear*/,
16144  1 /*untilMonth*/,
16145  1 /*untilDay*/,
16146  0 /*untilTimeCode (0/15)*/,
16147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16148  },
16149  // 3:00 - %z 1982 May
16150  {
16151  nullptr /*zonePolicy*/,
16152  "" /*format*/,
16153  720 /*offsetCode (10800/15)*/,
16154  0 /*offsetRemainder (10800%15)*/,
16155  0 /*deltaMinutes*/,
16156  1982 /*untilYear*/,
16157  5 /*untilMonth*/,
16158  1 /*untilDay*/,
16159  0 /*untilTimeCode (0/15)*/,
16160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16161  },
16162  // 3:00 Iraq %z
16163  {
16164  &kZonePolicyIraq /*zonePolicy*/,
16165  "" /*format*/,
16166  720 /*offsetCode (10800/15)*/,
16167  0 /*offsetRemainder (10800%15)*/,
16168  0 /*deltaMinutes*/,
16169  32767 /*untilYear*/,
16170  1 /*untilMonth*/,
16171  1 /*untilDay*/,
16172  0 /*untilTimeCode (0/15)*/,
16173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16174  },
16175 
16176 };
16177 
16178 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x05" "Baghdad";
16179 
16180 const complete::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
16181  kZoneNameAsia_Baghdad /*name*/,
16182  0x9ceffbed /*zoneId*/,
16183  &kZoneContext /*zoneContext*/,
16184  4 /*numEras*/,
16185  kZoneEraAsia_Baghdad /*eras*/,
16186  nullptr /*targetInfo*/,
16187 };
16188 
16189 //---------------------------------------------------------------------------
16190 // Zone name: Asia/Baku
16191 // Eras: 7
16192 //---------------------------------------------------------------------------
16193 
16194 static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
16195  // 3:19:24 - LMT 1924 May 2
16196  {
16197  nullptr /*zonePolicy*/,
16198  "LMT" /*format*/,
16199  797 /*offsetCode (11964/15)*/,
16200  9 /*offsetRemainder (11964%15)*/,
16201  0 /*deltaMinutes*/,
16202  1924 /*untilYear*/,
16203  5 /*untilMonth*/,
16204  2 /*untilDay*/,
16205  0 /*untilTimeCode (0/15)*/,
16206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16207  },
16208  // 3:00 - %z 1957 Mar
16209  {
16210  nullptr /*zonePolicy*/,
16211  "" /*format*/,
16212  720 /*offsetCode (10800/15)*/,
16213  0 /*offsetRemainder (10800%15)*/,
16214  0 /*deltaMinutes*/,
16215  1957 /*untilYear*/,
16216  3 /*untilMonth*/,
16217  1 /*untilDay*/,
16218  0 /*untilTimeCode (0/15)*/,
16219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16220  },
16221  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
16222  {
16223  &kZonePolicyRussiaAsia /*zonePolicy*/,
16224  "" /*format*/,
16225  960 /*offsetCode (14400/15)*/,
16226  0 /*offsetRemainder (14400%15)*/,
16227  0 /*deltaMinutes*/,
16228  1991 /*untilYear*/,
16229  3 /*untilMonth*/,
16230  31 /*untilDay*/,
16231  480 /*untilTimeCode (7200/15)*/,
16232  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16233  },
16234  // 3:00 RussiaAsia %z 1992 Sep lastSun 2:00s
16235  {
16236  &kZonePolicyRussiaAsia /*zonePolicy*/,
16237  "" /*format*/,
16238  720 /*offsetCode (10800/15)*/,
16239  0 /*offsetRemainder (10800%15)*/,
16240  0 /*deltaMinutes*/,
16241  1992 /*untilYear*/,
16242  9 /*untilMonth*/,
16243  27 /*untilDay*/,
16244  480 /*untilTimeCode (7200/15)*/,
16245  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16246  },
16247  // 4:00 - %z 1996
16248  {
16249  nullptr /*zonePolicy*/,
16250  "" /*format*/,
16251  960 /*offsetCode (14400/15)*/,
16252  0 /*offsetRemainder (14400%15)*/,
16253  0 /*deltaMinutes*/,
16254  1996 /*untilYear*/,
16255  1 /*untilMonth*/,
16256  1 /*untilDay*/,
16257  0 /*untilTimeCode (0/15)*/,
16258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16259  },
16260  // 4:00 EUAsia %z 1997
16261  {
16262  &kZonePolicyEUAsia /*zonePolicy*/,
16263  "" /*format*/,
16264  960 /*offsetCode (14400/15)*/,
16265  0 /*offsetRemainder (14400%15)*/,
16266  0 /*deltaMinutes*/,
16267  1997 /*untilYear*/,
16268  1 /*untilMonth*/,
16269  1 /*untilDay*/,
16270  0 /*untilTimeCode (0/15)*/,
16271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16272  },
16273  // 4:00 Azer %z
16274  {
16275  &kZonePolicyAzer /*zonePolicy*/,
16276  "" /*format*/,
16277  960 /*offsetCode (14400/15)*/,
16278  0 /*offsetRemainder (14400%15)*/,
16279  0 /*deltaMinutes*/,
16280  32767 /*untilYear*/,
16281  1 /*untilMonth*/,
16282  1 /*untilDay*/,
16283  0 /*untilTimeCode (0/15)*/,
16284  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16285  },
16286 
16287 };
16288 
16289 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x05" "Baku";
16290 
16291 const complete::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
16292  kZoneNameAsia_Baku /*name*/,
16293  0x1fa788b5 /*zoneId*/,
16294  &kZoneContext /*zoneContext*/,
16295  7 /*numEras*/,
16296  kZoneEraAsia_Baku /*eras*/,
16297  nullptr /*targetInfo*/,
16298 };
16299 
16300 //---------------------------------------------------------------------------
16301 // Zone name: Asia/Bangkok
16302 // Eras: 3
16303 //---------------------------------------------------------------------------
16304 
16305 static const complete::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
16306  // 6:42:04 - LMT 1880
16307  {
16308  nullptr /*zonePolicy*/,
16309  "LMT" /*format*/,
16310  1608 /*offsetCode (24124/15)*/,
16311  4 /*offsetRemainder (24124%15)*/,
16312  0 /*deltaMinutes*/,
16313  1880 /*untilYear*/,
16314  1 /*untilMonth*/,
16315  1 /*untilDay*/,
16316  0 /*untilTimeCode (0/15)*/,
16317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16318  },
16319  // 6:42:04 - BMT 1920 Apr
16320  {
16321  nullptr /*zonePolicy*/,
16322  "BMT" /*format*/,
16323  1608 /*offsetCode (24124/15)*/,
16324  4 /*offsetRemainder (24124%15)*/,
16325  0 /*deltaMinutes*/,
16326  1920 /*untilYear*/,
16327  4 /*untilMonth*/,
16328  1 /*untilDay*/,
16329  0 /*untilTimeCode (0/15)*/,
16330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16331  },
16332  // 7:00 - %z
16333  {
16334  nullptr /*zonePolicy*/,
16335  "" /*format*/,
16336  1680 /*offsetCode (25200/15)*/,
16337  0 /*offsetRemainder (25200%15)*/,
16338  0 /*deltaMinutes*/,
16339  32767 /*untilYear*/,
16340  1 /*untilMonth*/,
16341  1 /*untilDay*/,
16342  0 /*untilTimeCode (0/15)*/,
16343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16344  },
16345 
16346 };
16347 
16348 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x05" "Bangkok";
16349 
16350 const complete::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
16351  kZoneNameAsia_Bangkok /*name*/,
16352  0x9d6e3aaf /*zoneId*/,
16353  &kZoneContext /*zoneContext*/,
16354  3 /*numEras*/,
16355  kZoneEraAsia_Bangkok /*eras*/,
16356  nullptr /*targetInfo*/,
16357 };
16358 
16359 //---------------------------------------------------------------------------
16360 // Zone name: Asia/Barnaul
16361 // Eras: 9
16362 //---------------------------------------------------------------------------
16363 
16364 static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
16365  // 5:35:00 - LMT 1919 Dec 10
16366  {
16367  nullptr /*zonePolicy*/,
16368  "LMT" /*format*/,
16369  1340 /*offsetCode (20100/15)*/,
16370  0 /*offsetRemainder (20100%15)*/,
16371  0 /*deltaMinutes*/,
16372  1919 /*untilYear*/,
16373  12 /*untilMonth*/,
16374  10 /*untilDay*/,
16375  0 /*untilTimeCode (0/15)*/,
16376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16377  },
16378  // 6:00 - %z 1930 Jun 21
16379  {
16380  nullptr /*zonePolicy*/,
16381  "" /*format*/,
16382  1440 /*offsetCode (21600/15)*/,
16383  0 /*offsetRemainder (21600%15)*/,
16384  0 /*deltaMinutes*/,
16385  1930 /*untilYear*/,
16386  6 /*untilMonth*/,
16387  21 /*untilDay*/,
16388  0 /*untilTimeCode (0/15)*/,
16389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16390  },
16391  // 7:00 Russia %z 1991 Mar 31 2:00s
16392  {
16393  &kZonePolicyRussia /*zonePolicy*/,
16394  "" /*format*/,
16395  1680 /*offsetCode (25200/15)*/,
16396  0 /*offsetRemainder (25200%15)*/,
16397  0 /*deltaMinutes*/,
16398  1991 /*untilYear*/,
16399  3 /*untilMonth*/,
16400  31 /*untilDay*/,
16401  480 /*untilTimeCode (7200/15)*/,
16402  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16403  },
16404  // 6:00 Russia %z 1992 Jan 19 2:00s
16405  {
16406  &kZonePolicyRussia /*zonePolicy*/,
16407  "" /*format*/,
16408  1440 /*offsetCode (21600/15)*/,
16409  0 /*offsetRemainder (21600%15)*/,
16410  0 /*deltaMinutes*/,
16411  1992 /*untilYear*/,
16412  1 /*untilMonth*/,
16413  19 /*untilDay*/,
16414  480 /*untilTimeCode (7200/15)*/,
16415  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16416  },
16417  // 7:00 Russia %z 1995 May 28
16418  {
16419  &kZonePolicyRussia /*zonePolicy*/,
16420  "" /*format*/,
16421  1680 /*offsetCode (25200/15)*/,
16422  0 /*offsetRemainder (25200%15)*/,
16423  0 /*deltaMinutes*/,
16424  1995 /*untilYear*/,
16425  5 /*untilMonth*/,
16426  28 /*untilDay*/,
16427  0 /*untilTimeCode (0/15)*/,
16428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16429  },
16430  // 6:00 Russia %z 2011 Mar 27 2:00s
16431  {
16432  &kZonePolicyRussia /*zonePolicy*/,
16433  "" /*format*/,
16434  1440 /*offsetCode (21600/15)*/,
16435  0 /*offsetRemainder (21600%15)*/,
16436  0 /*deltaMinutes*/,
16437  2011 /*untilYear*/,
16438  3 /*untilMonth*/,
16439  27 /*untilDay*/,
16440  480 /*untilTimeCode (7200/15)*/,
16441  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16442  },
16443  // 7:00 - %z 2014 Oct 26 2:00s
16444  {
16445  nullptr /*zonePolicy*/,
16446  "" /*format*/,
16447  1680 /*offsetCode (25200/15)*/,
16448  0 /*offsetRemainder (25200%15)*/,
16449  0 /*deltaMinutes*/,
16450  2014 /*untilYear*/,
16451  10 /*untilMonth*/,
16452  26 /*untilDay*/,
16453  480 /*untilTimeCode (7200/15)*/,
16454  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16455  },
16456  // 6:00 - %z 2016 Mar 27 2:00s
16457  {
16458  nullptr /*zonePolicy*/,
16459  "" /*format*/,
16460  1440 /*offsetCode (21600/15)*/,
16461  0 /*offsetRemainder (21600%15)*/,
16462  0 /*deltaMinutes*/,
16463  2016 /*untilYear*/,
16464  3 /*untilMonth*/,
16465  27 /*untilDay*/,
16466  480 /*untilTimeCode (7200/15)*/,
16467  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16468  },
16469  // 7:00 - %z
16470  {
16471  nullptr /*zonePolicy*/,
16472  "" /*format*/,
16473  1680 /*offsetCode (25200/15)*/,
16474  0 /*offsetRemainder (25200%15)*/,
16475  0 /*deltaMinutes*/,
16476  32767 /*untilYear*/,
16477  1 /*untilMonth*/,
16478  1 /*untilDay*/,
16479  0 /*untilTimeCode (0/15)*/,
16480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16481  },
16482 
16483 };
16484 
16485 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "\x05" "Barnaul";
16486 
16487 const complete::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
16488  kZoneNameAsia_Barnaul /*name*/,
16489  0x9dba4997 /*zoneId*/,
16490  &kZoneContext /*zoneContext*/,
16491  9 /*numEras*/,
16492  kZoneEraAsia_Barnaul /*eras*/,
16493  nullptr /*targetInfo*/,
16494 };
16495 
16496 //---------------------------------------------------------------------------
16497 // Zone name: Asia/Beirut
16498 // Eras: 2
16499 //---------------------------------------------------------------------------
16500 
16501 static const complete::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
16502  // 2:22:00 - LMT 1880
16503  {
16504  nullptr /*zonePolicy*/,
16505  "LMT" /*format*/,
16506  568 /*offsetCode (8520/15)*/,
16507  0 /*offsetRemainder (8520%15)*/,
16508  0 /*deltaMinutes*/,
16509  1880 /*untilYear*/,
16510  1 /*untilMonth*/,
16511  1 /*untilDay*/,
16512  0 /*untilTimeCode (0/15)*/,
16513  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16514  },
16515  // 2:00 Lebanon EE%sT
16516  {
16517  &kZonePolicyLebanon /*zonePolicy*/,
16518  "EE%T" /*format*/,
16519  480 /*offsetCode (7200/15)*/,
16520  0 /*offsetRemainder (7200%15)*/,
16521  0 /*deltaMinutes*/,
16522  32767 /*untilYear*/,
16523  1 /*untilMonth*/,
16524  1 /*untilDay*/,
16525  0 /*untilTimeCode (0/15)*/,
16526  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16527  },
16528 
16529 };
16530 
16531 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x05" "Beirut";
16532 
16533 const complete::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
16534  kZoneNameAsia_Beirut /*name*/,
16535  0xa7f3d5fd /*zoneId*/,
16536  &kZoneContext /*zoneContext*/,
16537  2 /*numEras*/,
16538  kZoneEraAsia_Beirut /*eras*/,
16539  nullptr /*targetInfo*/,
16540 };
16541 
16542 //---------------------------------------------------------------------------
16543 // Zone name: Asia/Bishkek
16544 // Eras: 6
16545 //---------------------------------------------------------------------------
16546 
16547 static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
16548  // 4:58:24 - LMT 1924 May 2
16549  {
16550  nullptr /*zonePolicy*/,
16551  "LMT" /*format*/,
16552  1193 /*offsetCode (17904/15)*/,
16553  9 /*offsetRemainder (17904%15)*/,
16554  0 /*deltaMinutes*/,
16555  1924 /*untilYear*/,
16556  5 /*untilMonth*/,
16557  2 /*untilDay*/,
16558  0 /*untilTimeCode (0/15)*/,
16559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16560  },
16561  // 5:00 - %z 1930 Jun 21
16562  {
16563  nullptr /*zonePolicy*/,
16564  "" /*format*/,
16565  1200 /*offsetCode (18000/15)*/,
16566  0 /*offsetRemainder (18000%15)*/,
16567  0 /*deltaMinutes*/,
16568  1930 /*untilYear*/,
16569  6 /*untilMonth*/,
16570  21 /*untilDay*/,
16571  0 /*untilTimeCode (0/15)*/,
16572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16573  },
16574  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
16575  {
16576  &kZonePolicyRussiaAsia /*zonePolicy*/,
16577  "" /*format*/,
16578  1440 /*offsetCode (21600/15)*/,
16579  0 /*offsetRemainder (21600%15)*/,
16580  0 /*deltaMinutes*/,
16581  1991 /*untilYear*/,
16582  3 /*untilMonth*/,
16583  31 /*untilDay*/,
16584  480 /*untilTimeCode (7200/15)*/,
16585  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16586  },
16587  // 5:00 RussiaAsia %z 1991 Aug 31 2:00
16588  {
16589  &kZonePolicyRussiaAsia /*zonePolicy*/,
16590  "" /*format*/,
16591  1200 /*offsetCode (18000/15)*/,
16592  0 /*offsetRemainder (18000%15)*/,
16593  0 /*deltaMinutes*/,
16594  1991 /*untilYear*/,
16595  8 /*untilMonth*/,
16596  31 /*untilDay*/,
16597  480 /*untilTimeCode (7200/15)*/,
16598  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16599  },
16600  // 5:00 Kyrgyz %z 2005 Aug 12
16601  {
16602  &kZonePolicyKyrgyz /*zonePolicy*/,
16603  "" /*format*/,
16604  1200 /*offsetCode (18000/15)*/,
16605  0 /*offsetRemainder (18000%15)*/,
16606  0 /*deltaMinutes*/,
16607  2005 /*untilYear*/,
16608  8 /*untilMonth*/,
16609  12 /*untilDay*/,
16610  0 /*untilTimeCode (0/15)*/,
16611  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16612  },
16613  // 6:00 - %z
16614  {
16615  nullptr /*zonePolicy*/,
16616  "" /*format*/,
16617  1440 /*offsetCode (21600/15)*/,
16618  0 /*offsetRemainder (21600%15)*/,
16619  0 /*deltaMinutes*/,
16620  32767 /*untilYear*/,
16621  1 /*untilMonth*/,
16622  1 /*untilDay*/,
16623  0 /*untilTimeCode (0/15)*/,
16624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16625  },
16626 
16627 };
16628 
16629 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "\x05" "Bishkek";
16630 
16631 const complete::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
16632  kZoneNameAsia_Bishkek /*name*/,
16633  0xb0728553 /*zoneId*/,
16634  &kZoneContext /*zoneContext*/,
16635  6 /*numEras*/,
16636  kZoneEraAsia_Bishkek /*eras*/,
16637  nullptr /*targetInfo*/,
16638 };
16639 
16640 //---------------------------------------------------------------------------
16641 // Zone name: Asia/Chita
16642 // Eras: 8
16643 //---------------------------------------------------------------------------
16644 
16645 static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
16646  // 7:33:52 - LMT 1919 Dec 15
16647  {
16648  nullptr /*zonePolicy*/,
16649  "LMT" /*format*/,
16650  1815 /*offsetCode (27232/15)*/,
16651  7 /*offsetRemainder (27232%15)*/,
16652  0 /*deltaMinutes*/,
16653  1919 /*untilYear*/,
16654  12 /*untilMonth*/,
16655  15 /*untilDay*/,
16656  0 /*untilTimeCode (0/15)*/,
16657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16658  },
16659  // 8:00 - %z 1930 Jun 21
16660  {
16661  nullptr /*zonePolicy*/,
16662  "" /*format*/,
16663  1920 /*offsetCode (28800/15)*/,
16664  0 /*offsetRemainder (28800%15)*/,
16665  0 /*deltaMinutes*/,
16666  1930 /*untilYear*/,
16667  6 /*untilMonth*/,
16668  21 /*untilDay*/,
16669  0 /*untilTimeCode (0/15)*/,
16670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16671  },
16672  // 9:00 Russia %z 1991 Mar 31 2:00s
16673  {
16674  &kZonePolicyRussia /*zonePolicy*/,
16675  "" /*format*/,
16676  2160 /*offsetCode (32400/15)*/,
16677  0 /*offsetRemainder (32400%15)*/,
16678  0 /*deltaMinutes*/,
16679  1991 /*untilYear*/,
16680  3 /*untilMonth*/,
16681  31 /*untilDay*/,
16682  480 /*untilTimeCode (7200/15)*/,
16683  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16684  },
16685  // 8:00 Russia %z 1992 Jan 19 2:00s
16686  {
16687  &kZonePolicyRussia /*zonePolicy*/,
16688  "" /*format*/,
16689  1920 /*offsetCode (28800/15)*/,
16690  0 /*offsetRemainder (28800%15)*/,
16691  0 /*deltaMinutes*/,
16692  1992 /*untilYear*/,
16693  1 /*untilMonth*/,
16694  19 /*untilDay*/,
16695  480 /*untilTimeCode (7200/15)*/,
16696  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16697  },
16698  // 9:00 Russia %z 2011 Mar 27 2:00s
16699  {
16700  &kZonePolicyRussia /*zonePolicy*/,
16701  "" /*format*/,
16702  2160 /*offsetCode (32400/15)*/,
16703  0 /*offsetRemainder (32400%15)*/,
16704  0 /*deltaMinutes*/,
16705  2011 /*untilYear*/,
16706  3 /*untilMonth*/,
16707  27 /*untilDay*/,
16708  480 /*untilTimeCode (7200/15)*/,
16709  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16710  },
16711  // 10:00 - %z 2014 Oct 26 2:00s
16712  {
16713  nullptr /*zonePolicy*/,
16714  "" /*format*/,
16715  2400 /*offsetCode (36000/15)*/,
16716  0 /*offsetRemainder (36000%15)*/,
16717  0 /*deltaMinutes*/,
16718  2014 /*untilYear*/,
16719  10 /*untilMonth*/,
16720  26 /*untilDay*/,
16721  480 /*untilTimeCode (7200/15)*/,
16722  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16723  },
16724  // 8:00 - %z 2016 Mar 27 2:00
16725  {
16726  nullptr /*zonePolicy*/,
16727  "" /*format*/,
16728  1920 /*offsetCode (28800/15)*/,
16729  0 /*offsetRemainder (28800%15)*/,
16730  0 /*deltaMinutes*/,
16731  2016 /*untilYear*/,
16732  3 /*untilMonth*/,
16733  27 /*untilDay*/,
16734  480 /*untilTimeCode (7200/15)*/,
16735  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16736  },
16737  // 9:00 - %z
16738  {
16739  nullptr /*zonePolicy*/,
16740  "" /*format*/,
16741  2160 /*offsetCode (32400/15)*/,
16742  0 /*offsetRemainder (32400%15)*/,
16743  0 /*deltaMinutes*/,
16744  32767 /*untilYear*/,
16745  1 /*untilMonth*/,
16746  1 /*untilDay*/,
16747  0 /*untilTimeCode (0/15)*/,
16748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16749  },
16750 
16751 };
16752 
16753 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "\x05" "Chita";
16754 
16755 const complete::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
16756  kZoneNameAsia_Chita /*name*/,
16757  0x14ae863b /*zoneId*/,
16758  &kZoneContext /*zoneContext*/,
16759  8 /*numEras*/,
16760  kZoneEraAsia_Chita /*eras*/,
16761  nullptr /*targetInfo*/,
16762 };
16763 
16764 //---------------------------------------------------------------------------
16765 // Zone name: Asia/Colombo
16766 // Eras: 9
16767 //---------------------------------------------------------------------------
16768 
16769 static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
16770  // 5:19:24 - LMT 1880
16771  {
16772  nullptr /*zonePolicy*/,
16773  "LMT" /*format*/,
16774  1277 /*offsetCode (19164/15)*/,
16775  9 /*offsetRemainder (19164%15)*/,
16776  0 /*deltaMinutes*/,
16777  1880 /*untilYear*/,
16778  1 /*untilMonth*/,
16779  1 /*untilDay*/,
16780  0 /*untilTimeCode (0/15)*/,
16781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16782  },
16783  // 5:19:32 - MMT 1906
16784  {
16785  nullptr /*zonePolicy*/,
16786  "MMT" /*format*/,
16787  1278 /*offsetCode (19172/15)*/,
16788  2 /*offsetRemainder (19172%15)*/,
16789  0 /*deltaMinutes*/,
16790  1906 /*untilYear*/,
16791  1 /*untilMonth*/,
16792  1 /*untilDay*/,
16793  0 /*untilTimeCode (0/15)*/,
16794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16795  },
16796  // 5:30 - %z 1942 Jan 5
16797  {
16798  nullptr /*zonePolicy*/,
16799  "" /*format*/,
16800  1320 /*offsetCode (19800/15)*/,
16801  0 /*offsetRemainder (19800%15)*/,
16802  0 /*deltaMinutes*/,
16803  1942 /*untilYear*/,
16804  1 /*untilMonth*/,
16805  5 /*untilDay*/,
16806  0 /*untilTimeCode (0/15)*/,
16807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16808  },
16809  // 5:30 0:30 %z 1942 Sep
16810  {
16811  nullptr /*zonePolicy*/,
16812  "" /*format*/,
16813  1320 /*offsetCode (19800/15)*/,
16814  0 /*offsetRemainder (19800%15)*/,
16815  30 /*deltaMinutes*/,
16816  1942 /*untilYear*/,
16817  9 /*untilMonth*/,
16818  1 /*untilDay*/,
16819  0 /*untilTimeCode (0/15)*/,
16820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16821  },
16822  // 5:30 1:00 %z 1945 Oct 16 2:00
16823  {
16824  nullptr /*zonePolicy*/,
16825  "" /*format*/,
16826  1320 /*offsetCode (19800/15)*/,
16827  0 /*offsetRemainder (19800%15)*/,
16828  60 /*deltaMinutes*/,
16829  1945 /*untilYear*/,
16830  10 /*untilMonth*/,
16831  16 /*untilDay*/,
16832  480 /*untilTimeCode (7200/15)*/,
16833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16834  },
16835  // 5:30 - %z 1996 May 25 0:00
16836  {
16837  nullptr /*zonePolicy*/,
16838  "" /*format*/,
16839  1320 /*offsetCode (19800/15)*/,
16840  0 /*offsetRemainder (19800%15)*/,
16841  0 /*deltaMinutes*/,
16842  1996 /*untilYear*/,
16843  5 /*untilMonth*/,
16844  25 /*untilDay*/,
16845  0 /*untilTimeCode (0/15)*/,
16846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16847  },
16848  // 6:30 - %z 1996 Oct 26 0:30
16849  {
16850  nullptr /*zonePolicy*/,
16851  "" /*format*/,
16852  1560 /*offsetCode (23400/15)*/,
16853  0 /*offsetRemainder (23400%15)*/,
16854  0 /*deltaMinutes*/,
16855  1996 /*untilYear*/,
16856  10 /*untilMonth*/,
16857  26 /*untilDay*/,
16858  120 /*untilTimeCode (1800/15)*/,
16859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16860  },
16861  // 6:00 - %z 2006 Apr 15 0:30
16862  {
16863  nullptr /*zonePolicy*/,
16864  "" /*format*/,
16865  1440 /*offsetCode (21600/15)*/,
16866  0 /*offsetRemainder (21600%15)*/,
16867  0 /*deltaMinutes*/,
16868  2006 /*untilYear*/,
16869  4 /*untilMonth*/,
16870  15 /*untilDay*/,
16871  120 /*untilTimeCode (1800/15)*/,
16872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16873  },
16874  // 5:30 - %z
16875  {
16876  nullptr /*zonePolicy*/,
16877  "" /*format*/,
16878  1320 /*offsetCode (19800/15)*/,
16879  0 /*offsetRemainder (19800%15)*/,
16880  0 /*deltaMinutes*/,
16881  32767 /*untilYear*/,
16882  1 /*untilMonth*/,
16883  1 /*untilDay*/,
16884  0 /*untilTimeCode (0/15)*/,
16885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16886  },
16887 
16888 };
16889 
16890 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "\x05" "Colombo";
16891 
16892 const complete::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
16893  kZoneNameAsia_Colombo /*name*/,
16894  0x0af0e91d /*zoneId*/,
16895  &kZoneContext /*zoneContext*/,
16896  9 /*numEras*/,
16897  kZoneEraAsia_Colombo /*eras*/,
16898  nullptr /*targetInfo*/,
16899 };
16900 
16901 //---------------------------------------------------------------------------
16902 // Zone name: Asia/Damascus
16903 // Eras: 3
16904 //---------------------------------------------------------------------------
16905 
16906 static const complete::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
16907  // 2:25:12 - LMT 1920
16908  {
16909  nullptr /*zonePolicy*/,
16910  "LMT" /*format*/,
16911  580 /*offsetCode (8712/15)*/,
16912  12 /*offsetRemainder (8712%15)*/,
16913  0 /*deltaMinutes*/,
16914  1920 /*untilYear*/,
16915  1 /*untilMonth*/,
16916  1 /*untilDay*/,
16917  0 /*untilTimeCode (0/15)*/,
16918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16919  },
16920  // 2:00 Syria EE%sT 2022 Oct 28 0:00
16921  {
16922  &kZonePolicySyria /*zonePolicy*/,
16923  "EE%T" /*format*/,
16924  480 /*offsetCode (7200/15)*/,
16925  0 /*offsetRemainder (7200%15)*/,
16926  0 /*deltaMinutes*/,
16927  2022 /*untilYear*/,
16928  10 /*untilMonth*/,
16929  28 /*untilDay*/,
16930  0 /*untilTimeCode (0/15)*/,
16931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16932  },
16933  // 3:00 - %z
16934  {
16935  nullptr /*zonePolicy*/,
16936  "" /*format*/,
16937  720 /*offsetCode (10800/15)*/,
16938  0 /*offsetRemainder (10800%15)*/,
16939  0 /*deltaMinutes*/,
16940  32767 /*untilYear*/,
16941  1 /*untilMonth*/,
16942  1 /*untilDay*/,
16943  0 /*untilTimeCode (0/15)*/,
16944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16945  },
16946 
16947 };
16948 
16949 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "\x05" "Damascus";
16950 
16951 const complete::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
16952  kZoneNameAsia_Damascus /*name*/,
16953  0x20fbb063 /*zoneId*/,
16954  &kZoneContext /*zoneContext*/,
16955  3 /*numEras*/,
16956  kZoneEraAsia_Damascus /*eras*/,
16957  nullptr /*targetInfo*/,
16958 };
16959 
16960 //---------------------------------------------------------------------------
16961 // Zone name: Asia/Dhaka
16962 // Eras: 7
16963 //---------------------------------------------------------------------------
16964 
16965 static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
16966  // 6:01:40 - LMT 1890
16967  {
16968  nullptr /*zonePolicy*/,
16969  "LMT" /*format*/,
16970  1446 /*offsetCode (21700/15)*/,
16971  10 /*offsetRemainder (21700%15)*/,
16972  0 /*deltaMinutes*/,
16973  1890 /*untilYear*/,
16974  1 /*untilMonth*/,
16975  1 /*untilDay*/,
16976  0 /*untilTimeCode (0/15)*/,
16977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16978  },
16979  // 5:53:20 - HMT 1941 Oct
16980  {
16981  nullptr /*zonePolicy*/,
16982  "HMT" /*format*/,
16983  1413 /*offsetCode (21200/15)*/,
16984  5 /*offsetRemainder (21200%15)*/,
16985  0 /*deltaMinutes*/,
16986  1941 /*untilYear*/,
16987  10 /*untilMonth*/,
16988  1 /*untilDay*/,
16989  0 /*untilTimeCode (0/15)*/,
16990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16991  },
16992  // 6:30 - %z 1942 May 15
16993  {
16994  nullptr /*zonePolicy*/,
16995  "" /*format*/,
16996  1560 /*offsetCode (23400/15)*/,
16997  0 /*offsetRemainder (23400%15)*/,
16998  0 /*deltaMinutes*/,
16999  1942 /*untilYear*/,
17000  5 /*untilMonth*/,
17001  15 /*untilDay*/,
17002  0 /*untilTimeCode (0/15)*/,
17003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17004  },
17005  // 5:30 - %z 1942 Sep
17006  {
17007  nullptr /*zonePolicy*/,
17008  "" /*format*/,
17009  1320 /*offsetCode (19800/15)*/,
17010  0 /*offsetRemainder (19800%15)*/,
17011  0 /*deltaMinutes*/,
17012  1942 /*untilYear*/,
17013  9 /*untilMonth*/,
17014  1 /*untilDay*/,
17015  0 /*untilTimeCode (0/15)*/,
17016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17017  },
17018  // 6:30 - %z 1951 Sep 30
17019  {
17020  nullptr /*zonePolicy*/,
17021  "" /*format*/,
17022  1560 /*offsetCode (23400/15)*/,
17023  0 /*offsetRemainder (23400%15)*/,
17024  0 /*deltaMinutes*/,
17025  1951 /*untilYear*/,
17026  9 /*untilMonth*/,
17027  30 /*untilDay*/,
17028  0 /*untilTimeCode (0/15)*/,
17029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17030  },
17031  // 6:00 - %z 2009
17032  {
17033  nullptr /*zonePolicy*/,
17034  "" /*format*/,
17035  1440 /*offsetCode (21600/15)*/,
17036  0 /*offsetRemainder (21600%15)*/,
17037  0 /*deltaMinutes*/,
17038  2009 /*untilYear*/,
17039  1 /*untilMonth*/,
17040  1 /*untilDay*/,
17041  0 /*untilTimeCode (0/15)*/,
17042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17043  },
17044  // 6:00 Dhaka %z
17045  {
17046  &kZonePolicyDhaka /*zonePolicy*/,
17047  "" /*format*/,
17048  1440 /*offsetCode (21600/15)*/,
17049  0 /*offsetRemainder (21600%15)*/,
17050  0 /*deltaMinutes*/,
17051  32767 /*untilYear*/,
17052  1 /*untilMonth*/,
17053  1 /*untilDay*/,
17054  0 /*untilTimeCode (0/15)*/,
17055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17056  },
17057 
17058 };
17059 
17060 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x05" "Dhaka";
17061 
17062 const complete::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
17063  kZoneNameAsia_Dhaka /*name*/,
17064  0x14c07b8b /*zoneId*/,
17065  &kZoneContext /*zoneContext*/,
17066  7 /*numEras*/,
17067  kZoneEraAsia_Dhaka /*eras*/,
17068  nullptr /*targetInfo*/,
17069 };
17070 
17071 //---------------------------------------------------------------------------
17072 // Zone name: Asia/Dili
17073 // Eras: 5
17074 //---------------------------------------------------------------------------
17075 
17076 static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
17077  // 8:22:20 - LMT 1911 Dec 31 16:00u
17078  {
17079  nullptr /*zonePolicy*/,
17080  "LMT" /*format*/,
17081  2009 /*offsetCode (30140/15)*/,
17082  5 /*offsetRemainder (30140%15)*/,
17083  0 /*deltaMinutes*/,
17084  1911 /*untilYear*/,
17085  12 /*untilMonth*/,
17086  31 /*untilDay*/,
17087  3840 /*untilTimeCode (57600/15)*/,
17088  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17089  },
17090  // 8:00 - %z 1942 Feb 21 23:00
17091  {
17092  nullptr /*zonePolicy*/,
17093  "" /*format*/,
17094  1920 /*offsetCode (28800/15)*/,
17095  0 /*offsetRemainder (28800%15)*/,
17096  0 /*deltaMinutes*/,
17097  1942 /*untilYear*/,
17098  2 /*untilMonth*/,
17099  21 /*untilDay*/,
17100  5520 /*untilTimeCode (82800/15)*/,
17101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17102  },
17103  // 9:00 - %z 1976 May 3
17104  {
17105  nullptr /*zonePolicy*/,
17106  "" /*format*/,
17107  2160 /*offsetCode (32400/15)*/,
17108  0 /*offsetRemainder (32400%15)*/,
17109  0 /*deltaMinutes*/,
17110  1976 /*untilYear*/,
17111  5 /*untilMonth*/,
17112  3 /*untilDay*/,
17113  0 /*untilTimeCode (0/15)*/,
17114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17115  },
17116  // 8:00 - %z 2000 Sep 17 0:00
17117  {
17118  nullptr /*zonePolicy*/,
17119  "" /*format*/,
17120  1920 /*offsetCode (28800/15)*/,
17121  0 /*offsetRemainder (28800%15)*/,
17122  0 /*deltaMinutes*/,
17123  2000 /*untilYear*/,
17124  9 /*untilMonth*/,
17125  17 /*untilDay*/,
17126  0 /*untilTimeCode (0/15)*/,
17127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17128  },
17129  // 9:00 - %z
17130  {
17131  nullptr /*zonePolicy*/,
17132  "" /*format*/,
17133  2160 /*offsetCode (32400/15)*/,
17134  0 /*offsetRemainder (32400%15)*/,
17135  0 /*deltaMinutes*/,
17136  32767 /*untilYear*/,
17137  1 /*untilMonth*/,
17138  1 /*untilDay*/,
17139  0 /*untilTimeCode (0/15)*/,
17140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17141  },
17142 
17143 };
17144 
17145 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "\x05" "Dili";
17146 
17147 const complete::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
17148  kZoneNameAsia_Dili /*name*/,
17149  0x1fa8c394 /*zoneId*/,
17150  &kZoneContext /*zoneContext*/,
17151  5 /*numEras*/,
17152  kZoneEraAsia_Dili /*eras*/,
17153  nullptr /*targetInfo*/,
17154 };
17155 
17156 //---------------------------------------------------------------------------
17157 // Zone name: Asia/Dubai
17158 // Eras: 2
17159 //---------------------------------------------------------------------------
17160 
17161 static const complete::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
17162  // 3:41:12 - LMT 1920
17163  {
17164  nullptr /*zonePolicy*/,
17165  "LMT" /*format*/,
17166  884 /*offsetCode (13272/15)*/,
17167  12 /*offsetRemainder (13272%15)*/,
17168  0 /*deltaMinutes*/,
17169  1920 /*untilYear*/,
17170  1 /*untilMonth*/,
17171  1 /*untilDay*/,
17172  0 /*untilTimeCode (0/15)*/,
17173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17174  },
17175  // 4:00 - %z
17176  {
17177  nullptr /*zonePolicy*/,
17178  "" /*format*/,
17179  960 /*offsetCode (14400/15)*/,
17180  0 /*offsetRemainder (14400%15)*/,
17181  0 /*deltaMinutes*/,
17182  32767 /*untilYear*/,
17183  1 /*untilMonth*/,
17184  1 /*untilDay*/,
17185  0 /*untilTimeCode (0/15)*/,
17186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17187  },
17188 
17189 };
17190 
17191 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x05" "Dubai";
17192 
17193 const complete::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
17194  kZoneNameAsia_Dubai /*name*/,
17195  0x14c79f77 /*zoneId*/,
17196  &kZoneContext /*zoneContext*/,
17197  2 /*numEras*/,
17198  kZoneEraAsia_Dubai /*eras*/,
17199  nullptr /*targetInfo*/,
17200 };
17201 
17202 //---------------------------------------------------------------------------
17203 // Zone name: Asia/Dushanbe
17204 // Eras: 5
17205 //---------------------------------------------------------------------------
17206 
17207 static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
17208  // 4:35:12 - LMT 1924 May 2
17209  {
17210  nullptr /*zonePolicy*/,
17211  "LMT" /*format*/,
17212  1100 /*offsetCode (16512/15)*/,
17213  12 /*offsetRemainder (16512%15)*/,
17214  0 /*deltaMinutes*/,
17215  1924 /*untilYear*/,
17216  5 /*untilMonth*/,
17217  2 /*untilDay*/,
17218  0 /*untilTimeCode (0/15)*/,
17219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17220  },
17221  // 5:00 - %z 1930 Jun 21
17222  {
17223  nullptr /*zonePolicy*/,
17224  "" /*format*/,
17225  1200 /*offsetCode (18000/15)*/,
17226  0 /*offsetRemainder (18000%15)*/,
17227  0 /*deltaMinutes*/,
17228  1930 /*untilYear*/,
17229  6 /*untilMonth*/,
17230  21 /*untilDay*/,
17231  0 /*untilTimeCode (0/15)*/,
17232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17233  },
17234  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
17235  {
17236  &kZonePolicyRussiaAsia /*zonePolicy*/,
17237  "" /*format*/,
17238  1440 /*offsetCode (21600/15)*/,
17239  0 /*offsetRemainder (21600%15)*/,
17240  0 /*deltaMinutes*/,
17241  1991 /*untilYear*/,
17242  3 /*untilMonth*/,
17243  31 /*untilDay*/,
17244  480 /*untilTimeCode (7200/15)*/,
17245  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17246  },
17247  // 5:00 1:00 %z 1991 Sep 9 2:00s
17248  {
17249  nullptr /*zonePolicy*/,
17250  "" /*format*/,
17251  1200 /*offsetCode (18000/15)*/,
17252  0 /*offsetRemainder (18000%15)*/,
17253  60 /*deltaMinutes*/,
17254  1991 /*untilYear*/,
17255  9 /*untilMonth*/,
17256  9 /*untilDay*/,
17257  480 /*untilTimeCode (7200/15)*/,
17258  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17259  },
17260  // 5:00 - %z
17261  {
17262  nullptr /*zonePolicy*/,
17263  "" /*format*/,
17264  1200 /*offsetCode (18000/15)*/,
17265  0 /*offsetRemainder (18000%15)*/,
17266  0 /*deltaMinutes*/,
17267  32767 /*untilYear*/,
17268  1 /*untilMonth*/,
17269  1 /*untilDay*/,
17270  0 /*untilTimeCode (0/15)*/,
17271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17272  },
17273 
17274 };
17275 
17276 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x05" "Dushanbe";
17277 
17278 const complete::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
17279  kZoneNameAsia_Dushanbe /*name*/,
17280  0x32fc5c3c /*zoneId*/,
17281  &kZoneContext /*zoneContext*/,
17282  5 /*numEras*/,
17283  kZoneEraAsia_Dushanbe /*eras*/,
17284  nullptr /*targetInfo*/,
17285 };
17286 
17287 //---------------------------------------------------------------------------
17288 // Zone name: Asia/Famagusta
17289 // Eras: 5
17290 //---------------------------------------------------------------------------
17291 
17292 static const complete::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
17293  // 2:15:48 - LMT 1921 Nov 14
17294  {
17295  nullptr /*zonePolicy*/,
17296  "LMT" /*format*/,
17297  543 /*offsetCode (8148/15)*/,
17298  3 /*offsetRemainder (8148%15)*/,
17299  0 /*deltaMinutes*/,
17300  1921 /*untilYear*/,
17301  11 /*untilMonth*/,
17302  14 /*untilDay*/,
17303  0 /*untilTimeCode (0/15)*/,
17304  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17305  },
17306  // 2:00 Cyprus EE%sT 1998 Sep
17307  {
17308  &kZonePolicyCyprus /*zonePolicy*/,
17309  "EE%T" /*format*/,
17310  480 /*offsetCode (7200/15)*/,
17311  0 /*offsetRemainder (7200%15)*/,
17312  0 /*deltaMinutes*/,
17313  1998 /*untilYear*/,
17314  9 /*untilMonth*/,
17315  1 /*untilDay*/,
17316  0 /*untilTimeCode (0/15)*/,
17317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17318  },
17319  // 2:00 EUAsia EE%sT 2016 Sep 8
17320  {
17321  &kZonePolicyEUAsia /*zonePolicy*/,
17322  "EE%T" /*format*/,
17323  480 /*offsetCode (7200/15)*/,
17324  0 /*offsetRemainder (7200%15)*/,
17325  0 /*deltaMinutes*/,
17326  2016 /*untilYear*/,
17327  9 /*untilMonth*/,
17328  8 /*untilDay*/,
17329  0 /*untilTimeCode (0/15)*/,
17330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17331  },
17332  // 3:00 - %z 2017 Oct 29 1:00u
17333  {
17334  nullptr /*zonePolicy*/,
17335  "" /*format*/,
17336  720 /*offsetCode (10800/15)*/,
17337  0 /*offsetRemainder (10800%15)*/,
17338  0 /*deltaMinutes*/,
17339  2017 /*untilYear*/,
17340  10 /*untilMonth*/,
17341  29 /*untilDay*/,
17342  240 /*untilTimeCode (3600/15)*/,
17343  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17344  },
17345  // 2:00 EUAsia EE%sT
17346  {
17347  &kZonePolicyEUAsia /*zonePolicy*/,
17348  "EE%T" /*format*/,
17349  480 /*offsetCode (7200/15)*/,
17350  0 /*offsetRemainder (7200%15)*/,
17351  0 /*deltaMinutes*/,
17352  32767 /*untilYear*/,
17353  1 /*untilMonth*/,
17354  1 /*untilDay*/,
17355  0 /*untilTimeCode (0/15)*/,
17356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17357  },
17358 
17359 };
17360 
17361 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "\x05" "Famagusta";
17362 
17363 const complete::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
17364  kZoneNameAsia_Famagusta /*name*/,
17365  0x289b4f8b /*zoneId*/,
17366  &kZoneContext /*zoneContext*/,
17367  5 /*numEras*/,
17368  kZoneEraAsia_Famagusta /*eras*/,
17369  nullptr /*targetInfo*/,
17370 };
17371 
17372 //---------------------------------------------------------------------------
17373 // Zone name: Asia/Gaza
17374 // Eras: 12
17375 //---------------------------------------------------------------------------
17376 
17377 static const complete::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
17378  // 2:17:52 - LMT 1900 Oct
17379  {
17380  nullptr /*zonePolicy*/,
17381  "LMT" /*format*/,
17382  551 /*offsetCode (8272/15)*/,
17383  7 /*offsetRemainder (8272%15)*/,
17384  0 /*deltaMinutes*/,
17385  1900 /*untilYear*/,
17386  10 /*untilMonth*/,
17387  1 /*untilDay*/,
17388  0 /*untilTimeCode (0/15)*/,
17389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17390  },
17391  // 2:00 Zion EET/EEST 1948 May 15
17392  {
17393  &kZonePolicyZion /*zonePolicy*/,
17394  "EET/EEST" /*format*/,
17395  480 /*offsetCode (7200/15)*/,
17396  0 /*offsetRemainder (7200%15)*/,
17397  0 /*deltaMinutes*/,
17398  1948 /*untilYear*/,
17399  5 /*untilMonth*/,
17400  15 /*untilDay*/,
17401  0 /*untilTimeCode (0/15)*/,
17402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17403  },
17404  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17405  {
17406  &kZonePolicyEgyptAsia /*zonePolicy*/,
17407  "EE%T" /*format*/,
17408  480 /*offsetCode (7200/15)*/,
17409  0 /*offsetRemainder (7200%15)*/,
17410  0 /*deltaMinutes*/,
17411  1967 /*untilYear*/,
17412  6 /*untilMonth*/,
17413  5 /*untilDay*/,
17414  0 /*untilTimeCode (0/15)*/,
17415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17416  },
17417  // 2:00 Zion I%sT 1996
17418  {
17419  &kZonePolicyZion /*zonePolicy*/,
17420  "I%T" /*format*/,
17421  480 /*offsetCode (7200/15)*/,
17422  0 /*offsetRemainder (7200%15)*/,
17423  0 /*deltaMinutes*/,
17424  1996 /*untilYear*/,
17425  1 /*untilMonth*/,
17426  1 /*untilDay*/,
17427  0 /*untilTimeCode (0/15)*/,
17428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17429  },
17430  // 2:00 Jordan EE%sT 1999
17431  {
17432  &kZonePolicyJordan /*zonePolicy*/,
17433  "EE%T" /*format*/,
17434  480 /*offsetCode (7200/15)*/,
17435  0 /*offsetRemainder (7200%15)*/,
17436  0 /*deltaMinutes*/,
17437  1999 /*untilYear*/,
17438  1 /*untilMonth*/,
17439  1 /*untilDay*/,
17440  0 /*untilTimeCode (0/15)*/,
17441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17442  },
17443  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
17444  {
17445  &kZonePolicyPalestine /*zonePolicy*/,
17446  "EE%T" /*format*/,
17447  480 /*offsetCode (7200/15)*/,
17448  0 /*offsetRemainder (7200%15)*/,
17449  0 /*deltaMinutes*/,
17450  2008 /*untilYear*/,
17451  8 /*untilMonth*/,
17452  29 /*untilDay*/,
17453  0 /*untilTimeCode (0/15)*/,
17454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17455  },
17456  // 2:00 - EET 2008 Sep
17457  {
17458  nullptr /*zonePolicy*/,
17459  "EET" /*format*/,
17460  480 /*offsetCode (7200/15)*/,
17461  0 /*offsetRemainder (7200%15)*/,
17462  0 /*deltaMinutes*/,
17463  2008 /*untilYear*/,
17464  9 /*untilMonth*/,
17465  1 /*untilDay*/,
17466  0 /*untilTimeCode (0/15)*/,
17467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17468  },
17469  // 2:00 Palestine EE%sT 2010
17470  {
17471  &kZonePolicyPalestine /*zonePolicy*/,
17472  "EE%T" /*format*/,
17473  480 /*offsetCode (7200/15)*/,
17474  0 /*offsetRemainder (7200%15)*/,
17475  0 /*deltaMinutes*/,
17476  2010 /*untilYear*/,
17477  1 /*untilMonth*/,
17478  1 /*untilDay*/,
17479  0 /*untilTimeCode (0/15)*/,
17480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17481  },
17482  // 2:00 - EET 2010 Mar 27 0:01
17483  {
17484  nullptr /*zonePolicy*/,
17485  "EET" /*format*/,
17486  480 /*offsetCode (7200/15)*/,
17487  0 /*offsetRemainder (7200%15)*/,
17488  0 /*deltaMinutes*/,
17489  2010 /*untilYear*/,
17490  3 /*untilMonth*/,
17491  27 /*untilDay*/,
17492  4 /*untilTimeCode (60/15)*/,
17493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17494  },
17495  // 2:00 Palestine EE%sT 2011 Aug 1
17496  {
17497  &kZonePolicyPalestine /*zonePolicy*/,
17498  "EE%T" /*format*/,
17499  480 /*offsetCode (7200/15)*/,
17500  0 /*offsetRemainder (7200%15)*/,
17501  0 /*deltaMinutes*/,
17502  2011 /*untilYear*/,
17503  8 /*untilMonth*/,
17504  1 /*untilDay*/,
17505  0 /*untilTimeCode (0/15)*/,
17506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17507  },
17508  // 2:00 - EET 2012
17509  {
17510  nullptr /*zonePolicy*/,
17511  "EET" /*format*/,
17512  480 /*offsetCode (7200/15)*/,
17513  0 /*offsetRemainder (7200%15)*/,
17514  0 /*deltaMinutes*/,
17515  2012 /*untilYear*/,
17516  1 /*untilMonth*/,
17517  1 /*untilDay*/,
17518  0 /*untilTimeCode (0/15)*/,
17519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17520  },
17521  // 2:00 Palestine EE%sT
17522  {
17523  &kZonePolicyPalestine /*zonePolicy*/,
17524  "EE%T" /*format*/,
17525  480 /*offsetCode (7200/15)*/,
17526  0 /*offsetRemainder (7200%15)*/,
17527  0 /*deltaMinutes*/,
17528  32767 /*untilYear*/,
17529  1 /*untilMonth*/,
17530  1 /*untilDay*/,
17531  0 /*untilTimeCode (0/15)*/,
17532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17533  },
17534 
17535 };
17536 
17537 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "\x05" "Gaza";
17538 
17539 const complete::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
17540  kZoneNameAsia_Gaza /*name*/,
17541  0x1faa4875 /*zoneId*/,
17542  &kZoneContext /*zoneContext*/,
17543  12 /*numEras*/,
17544  kZoneEraAsia_Gaza /*eras*/,
17545  nullptr /*targetInfo*/,
17546 };
17547 
17548 //---------------------------------------------------------------------------
17549 // Zone name: Asia/Hebron
17550 // Eras: 6
17551 //---------------------------------------------------------------------------
17552 
17553 static const complete::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
17554  // 2:20:23 - LMT 1900 Oct
17555  {
17556  nullptr /*zonePolicy*/,
17557  "LMT" /*format*/,
17558  561 /*offsetCode (8423/15)*/,
17559  8 /*offsetRemainder (8423%15)*/,
17560  0 /*deltaMinutes*/,
17561  1900 /*untilYear*/,
17562  10 /*untilMonth*/,
17563  1 /*untilDay*/,
17564  0 /*untilTimeCode (0/15)*/,
17565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17566  },
17567  // 2:00 Zion EET/EEST 1948 May 15
17568  {
17569  &kZonePolicyZion /*zonePolicy*/,
17570  "EET/EEST" /*format*/,
17571  480 /*offsetCode (7200/15)*/,
17572  0 /*offsetRemainder (7200%15)*/,
17573  0 /*deltaMinutes*/,
17574  1948 /*untilYear*/,
17575  5 /*untilMonth*/,
17576  15 /*untilDay*/,
17577  0 /*untilTimeCode (0/15)*/,
17578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17579  },
17580  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17581  {
17582  &kZonePolicyEgyptAsia /*zonePolicy*/,
17583  "EE%T" /*format*/,
17584  480 /*offsetCode (7200/15)*/,
17585  0 /*offsetRemainder (7200%15)*/,
17586  0 /*deltaMinutes*/,
17587  1967 /*untilYear*/,
17588  6 /*untilMonth*/,
17589  5 /*untilDay*/,
17590  0 /*untilTimeCode (0/15)*/,
17591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17592  },
17593  // 2:00 Zion I%sT 1996
17594  {
17595  &kZonePolicyZion /*zonePolicy*/,
17596  "I%T" /*format*/,
17597  480 /*offsetCode (7200/15)*/,
17598  0 /*offsetRemainder (7200%15)*/,
17599  0 /*deltaMinutes*/,
17600  1996 /*untilYear*/,
17601  1 /*untilMonth*/,
17602  1 /*untilDay*/,
17603  0 /*untilTimeCode (0/15)*/,
17604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17605  },
17606  // 2:00 Jordan EE%sT 1999
17607  {
17608  &kZonePolicyJordan /*zonePolicy*/,
17609  "EE%T" /*format*/,
17610  480 /*offsetCode (7200/15)*/,
17611  0 /*offsetRemainder (7200%15)*/,
17612  0 /*deltaMinutes*/,
17613  1999 /*untilYear*/,
17614  1 /*untilMonth*/,
17615  1 /*untilDay*/,
17616  0 /*untilTimeCode (0/15)*/,
17617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17618  },
17619  // 2:00 Palestine EE%sT
17620  {
17621  &kZonePolicyPalestine /*zonePolicy*/,
17622  "EE%T" /*format*/,
17623  480 /*offsetCode (7200/15)*/,
17624  0 /*offsetRemainder (7200%15)*/,
17625  0 /*deltaMinutes*/,
17626  32767 /*untilYear*/,
17627  1 /*untilMonth*/,
17628  1 /*untilDay*/,
17629  0 /*untilTimeCode (0/15)*/,
17630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17631  },
17632 
17633 };
17634 
17635 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "\x05" "Hebron";
17636 
17637 const complete::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
17638  kZoneNameAsia_Hebron /*name*/,
17639  0xb5eef250 /*zoneId*/,
17640  &kZoneContext /*zoneContext*/,
17641  6 /*numEras*/,
17642  kZoneEraAsia_Hebron /*eras*/,
17643  nullptr /*targetInfo*/,
17644 };
17645 
17646 //---------------------------------------------------------------------------
17647 // Zone name: Asia/Ho_Chi_Minh
17648 // Eras: 10
17649 //---------------------------------------------------------------------------
17650 
17651 static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
17652  // 7:06:30 - LMT 1906 Jul 1
17653  {
17654  nullptr /*zonePolicy*/,
17655  "LMT" /*format*/,
17656  1706 /*offsetCode (25590/15)*/,
17657  0 /*offsetRemainder (25590%15)*/,
17658  0 /*deltaMinutes*/,
17659  1906 /*untilYear*/,
17660  7 /*untilMonth*/,
17661  1 /*untilDay*/,
17662  0 /*untilTimeCode (0/15)*/,
17663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17664  },
17665  // 7:06:30 - PLMT 1911 May 1
17666  {
17667  nullptr /*zonePolicy*/,
17668  "PLMT" /*format*/,
17669  1706 /*offsetCode (25590/15)*/,
17670  0 /*offsetRemainder (25590%15)*/,
17671  0 /*deltaMinutes*/,
17672  1911 /*untilYear*/,
17673  5 /*untilMonth*/,
17674  1 /*untilDay*/,
17675  0 /*untilTimeCode (0/15)*/,
17676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17677  },
17678  // 7:00 - %z 1942 Dec 31 23:00
17679  {
17680  nullptr /*zonePolicy*/,
17681  "" /*format*/,
17682  1680 /*offsetCode (25200/15)*/,
17683  0 /*offsetRemainder (25200%15)*/,
17684  0 /*deltaMinutes*/,
17685  1942 /*untilYear*/,
17686  12 /*untilMonth*/,
17687  31 /*untilDay*/,
17688  5520 /*untilTimeCode (82800/15)*/,
17689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17690  },
17691  // 8:00 - %z 1945 Mar 14 23:00
17692  {
17693  nullptr /*zonePolicy*/,
17694  "" /*format*/,
17695  1920 /*offsetCode (28800/15)*/,
17696  0 /*offsetRemainder (28800%15)*/,
17697  0 /*deltaMinutes*/,
17698  1945 /*untilYear*/,
17699  3 /*untilMonth*/,
17700  14 /*untilDay*/,
17701  5520 /*untilTimeCode (82800/15)*/,
17702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17703  },
17704  // 9:00 - %z 1945 Sep 1 24:00
17705  {
17706  nullptr /*zonePolicy*/,
17707  "" /*format*/,
17708  2160 /*offsetCode (32400/15)*/,
17709  0 /*offsetRemainder (32400%15)*/,
17710  0 /*deltaMinutes*/,
17711  1945 /*untilYear*/,
17712  9 /*untilMonth*/,
17713  1 /*untilDay*/,
17714  5760 /*untilTimeCode (86400/15)*/,
17715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17716  },
17717  // 7:00 - %z 1947 Apr 1
17718  {
17719  nullptr /*zonePolicy*/,
17720  "" /*format*/,
17721  1680 /*offsetCode (25200/15)*/,
17722  0 /*offsetRemainder (25200%15)*/,
17723  0 /*deltaMinutes*/,
17724  1947 /*untilYear*/,
17725  4 /*untilMonth*/,
17726  1 /*untilDay*/,
17727  0 /*untilTimeCode (0/15)*/,
17728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17729  },
17730  // 8:00 - %z 1955 Jul 1 01:00
17731  {
17732  nullptr /*zonePolicy*/,
17733  "" /*format*/,
17734  1920 /*offsetCode (28800/15)*/,
17735  0 /*offsetRemainder (28800%15)*/,
17736  0 /*deltaMinutes*/,
17737  1955 /*untilYear*/,
17738  7 /*untilMonth*/,
17739  1 /*untilDay*/,
17740  240 /*untilTimeCode (3600/15)*/,
17741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17742  },
17743  // 7:00 - %z 1959 Dec 31 23:00
17744  {
17745  nullptr /*zonePolicy*/,
17746  "" /*format*/,
17747  1680 /*offsetCode (25200/15)*/,
17748  0 /*offsetRemainder (25200%15)*/,
17749  0 /*deltaMinutes*/,
17750  1959 /*untilYear*/,
17751  12 /*untilMonth*/,
17752  31 /*untilDay*/,
17753  5520 /*untilTimeCode (82800/15)*/,
17754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17755  },
17756  // 8:00 - %z 1975 Jun 13
17757  {
17758  nullptr /*zonePolicy*/,
17759  "" /*format*/,
17760  1920 /*offsetCode (28800/15)*/,
17761  0 /*offsetRemainder (28800%15)*/,
17762  0 /*deltaMinutes*/,
17763  1975 /*untilYear*/,
17764  6 /*untilMonth*/,
17765  13 /*untilDay*/,
17766  0 /*untilTimeCode (0/15)*/,
17767  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17768  },
17769  // 7:00 - %z
17770  {
17771  nullptr /*zonePolicy*/,
17772  "" /*format*/,
17773  1680 /*offsetCode (25200/15)*/,
17774  0 /*offsetRemainder (25200%15)*/,
17775  0 /*deltaMinutes*/,
17776  32767 /*untilYear*/,
17777  1 /*untilMonth*/,
17778  1 /*untilDay*/,
17779  0 /*untilTimeCode (0/15)*/,
17780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17781  },
17782 
17783 };
17784 
17785 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x05" "Ho_Chi_Minh";
17786 
17787 const complete::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
17788  kZoneNameAsia_Ho_Chi_Minh /*name*/,
17789  0x20f2d127 /*zoneId*/,
17790  &kZoneContext /*zoneContext*/,
17791  10 /*numEras*/,
17792  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
17793  nullptr /*targetInfo*/,
17794 };
17795 
17796 //---------------------------------------------------------------------------
17797 // Zone name: Asia/Hong_Kong
17798 // Eras: 6
17799 //---------------------------------------------------------------------------
17800 
17801 static const complete::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
17802  // 7:36:42 - LMT 1904 Oct 29 17:00u
17803  {
17804  nullptr /*zonePolicy*/,
17805  "LMT" /*format*/,
17806  1826 /*offsetCode (27402/15)*/,
17807  12 /*offsetRemainder (27402%15)*/,
17808  0 /*deltaMinutes*/,
17809  1904 /*untilYear*/,
17810  10 /*untilMonth*/,
17811  29 /*untilDay*/,
17812  4080 /*untilTimeCode (61200/15)*/,
17813  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17814  },
17815  // 8:00 - HKT 1941 Jun 15 3:00
17816  {
17817  nullptr /*zonePolicy*/,
17818  "HKT" /*format*/,
17819  1920 /*offsetCode (28800/15)*/,
17820  0 /*offsetRemainder (28800%15)*/,
17821  0 /*deltaMinutes*/,
17822  1941 /*untilYear*/,
17823  6 /*untilMonth*/,
17824  15 /*untilDay*/,
17825  720 /*untilTimeCode (10800/15)*/,
17826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17827  },
17828  // 8:00 1:00 HKST 1941 Oct 1 4:00
17829  {
17830  nullptr /*zonePolicy*/,
17831  "HKST" /*format*/,
17832  1920 /*offsetCode (28800/15)*/,
17833  0 /*offsetRemainder (28800%15)*/,
17834  60 /*deltaMinutes*/,
17835  1941 /*untilYear*/,
17836  10 /*untilMonth*/,
17837  1 /*untilDay*/,
17838  960 /*untilTimeCode (14400/15)*/,
17839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17840  },
17841  // 8:00 0:30 HKWT 1941 Dec 25
17842  {
17843  nullptr /*zonePolicy*/,
17844  "HKWT" /*format*/,
17845  1920 /*offsetCode (28800/15)*/,
17846  0 /*offsetRemainder (28800%15)*/,
17847  30 /*deltaMinutes*/,
17848  1941 /*untilYear*/,
17849  12 /*untilMonth*/,
17850  25 /*untilDay*/,
17851  0 /*untilTimeCode (0/15)*/,
17852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17853  },
17854  // 9:00 - JST 1945 Nov 18 2:00
17855  {
17856  nullptr /*zonePolicy*/,
17857  "JST" /*format*/,
17858  2160 /*offsetCode (32400/15)*/,
17859  0 /*offsetRemainder (32400%15)*/,
17860  0 /*deltaMinutes*/,
17861  1945 /*untilYear*/,
17862  11 /*untilMonth*/,
17863  18 /*untilDay*/,
17864  480 /*untilTimeCode (7200/15)*/,
17865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17866  },
17867  // 8:00 HK HK%sT
17868  {
17869  &kZonePolicyHK /*zonePolicy*/,
17870  "HK%T" /*format*/,
17871  1920 /*offsetCode (28800/15)*/,
17872  0 /*offsetRemainder (28800%15)*/,
17873  0 /*deltaMinutes*/,
17874  32767 /*untilYear*/,
17875  1 /*untilMonth*/,
17876  1 /*untilDay*/,
17877  0 /*untilTimeCode (0/15)*/,
17878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17879  },
17880 
17881 };
17882 
17883 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x05" "Hong_Kong";
17884 
17885 const complete::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
17886  kZoneNameAsia_Hong_Kong /*name*/,
17887  0x577f28ac /*zoneId*/,
17888  &kZoneContext /*zoneContext*/,
17889  6 /*numEras*/,
17890  kZoneEraAsia_Hong_Kong /*eras*/,
17891  nullptr /*targetInfo*/,
17892 };
17893 
17894 //---------------------------------------------------------------------------
17895 // Zone name: Asia/Hovd
17896 // Eras: 3
17897 //---------------------------------------------------------------------------
17898 
17899 static const complete::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
17900  // 6:06:36 - LMT 1905 Aug
17901  {
17902  nullptr /*zonePolicy*/,
17903  "LMT" /*format*/,
17904  1466 /*offsetCode (21996/15)*/,
17905  6 /*offsetRemainder (21996%15)*/,
17906  0 /*deltaMinutes*/,
17907  1905 /*untilYear*/,
17908  8 /*untilMonth*/,
17909  1 /*untilDay*/,
17910  0 /*untilTimeCode (0/15)*/,
17911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17912  },
17913  // 6:00 - %z 1978
17914  {
17915  nullptr /*zonePolicy*/,
17916  "" /*format*/,
17917  1440 /*offsetCode (21600/15)*/,
17918  0 /*offsetRemainder (21600%15)*/,
17919  0 /*deltaMinutes*/,
17920  1978 /*untilYear*/,
17921  1 /*untilMonth*/,
17922  1 /*untilDay*/,
17923  0 /*untilTimeCode (0/15)*/,
17924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17925  },
17926  // 7:00 Mongol %z
17927  {
17928  &kZonePolicyMongol /*zonePolicy*/,
17929  "" /*format*/,
17930  1680 /*offsetCode (25200/15)*/,
17931  0 /*offsetRemainder (25200%15)*/,
17932  0 /*deltaMinutes*/,
17933  32767 /*untilYear*/,
17934  1 /*untilMonth*/,
17935  1 /*untilDay*/,
17936  0 /*untilTimeCode (0/15)*/,
17937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17938  },
17939 
17940 };
17941 
17942 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x05" "Hovd";
17943 
17944 const complete::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
17945  kZoneNameAsia_Hovd /*name*/,
17946  0x1fab0fe3 /*zoneId*/,
17947  &kZoneContext /*zoneContext*/,
17948  3 /*numEras*/,
17949  kZoneEraAsia_Hovd /*eras*/,
17950  nullptr /*targetInfo*/,
17951 };
17952 
17953 //---------------------------------------------------------------------------
17954 // Zone name: Asia/Irkutsk
17955 // Eras: 8
17956 //---------------------------------------------------------------------------
17957 
17958 static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
17959  // 6:57:05 - LMT 1880
17960  {
17961  nullptr /*zonePolicy*/,
17962  "LMT" /*format*/,
17963  1668 /*offsetCode (25025/15)*/,
17964  5 /*offsetRemainder (25025%15)*/,
17965  0 /*deltaMinutes*/,
17966  1880 /*untilYear*/,
17967  1 /*untilMonth*/,
17968  1 /*untilDay*/,
17969  0 /*untilTimeCode (0/15)*/,
17970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17971  },
17972  // 6:57:05 - IMT 1920 Jan 25
17973  {
17974  nullptr /*zonePolicy*/,
17975  "IMT" /*format*/,
17976  1668 /*offsetCode (25025/15)*/,
17977  5 /*offsetRemainder (25025%15)*/,
17978  0 /*deltaMinutes*/,
17979  1920 /*untilYear*/,
17980  1 /*untilMonth*/,
17981  25 /*untilDay*/,
17982  0 /*untilTimeCode (0/15)*/,
17983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17984  },
17985  // 7:00 - %z 1930 Jun 21
17986  {
17987  nullptr /*zonePolicy*/,
17988  "" /*format*/,
17989  1680 /*offsetCode (25200/15)*/,
17990  0 /*offsetRemainder (25200%15)*/,
17991  0 /*deltaMinutes*/,
17992  1930 /*untilYear*/,
17993  6 /*untilMonth*/,
17994  21 /*untilDay*/,
17995  0 /*untilTimeCode (0/15)*/,
17996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17997  },
17998  // 8:00 Russia %z 1991 Mar 31 2:00s
17999  {
18000  &kZonePolicyRussia /*zonePolicy*/,
18001  "" /*format*/,
18002  1920 /*offsetCode (28800/15)*/,
18003  0 /*offsetRemainder (28800%15)*/,
18004  0 /*deltaMinutes*/,
18005  1991 /*untilYear*/,
18006  3 /*untilMonth*/,
18007  31 /*untilDay*/,
18008  480 /*untilTimeCode (7200/15)*/,
18009  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18010  },
18011  // 7:00 Russia %z 1992 Jan 19 2:00s
18012  {
18013  &kZonePolicyRussia /*zonePolicy*/,
18014  "" /*format*/,
18015  1680 /*offsetCode (25200/15)*/,
18016  0 /*offsetRemainder (25200%15)*/,
18017  0 /*deltaMinutes*/,
18018  1992 /*untilYear*/,
18019  1 /*untilMonth*/,
18020  19 /*untilDay*/,
18021  480 /*untilTimeCode (7200/15)*/,
18022  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18023  },
18024  // 8:00 Russia %z 2011 Mar 27 2:00s
18025  {
18026  &kZonePolicyRussia /*zonePolicy*/,
18027  "" /*format*/,
18028  1920 /*offsetCode (28800/15)*/,
18029  0 /*offsetRemainder (28800%15)*/,
18030  0 /*deltaMinutes*/,
18031  2011 /*untilYear*/,
18032  3 /*untilMonth*/,
18033  27 /*untilDay*/,
18034  480 /*untilTimeCode (7200/15)*/,
18035  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18036  },
18037  // 9:00 - %z 2014 Oct 26 2:00s
18038  {
18039  nullptr /*zonePolicy*/,
18040  "" /*format*/,
18041  2160 /*offsetCode (32400/15)*/,
18042  0 /*offsetRemainder (32400%15)*/,
18043  0 /*deltaMinutes*/,
18044  2014 /*untilYear*/,
18045  10 /*untilMonth*/,
18046  26 /*untilDay*/,
18047  480 /*untilTimeCode (7200/15)*/,
18048  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18049  },
18050  // 8:00 - %z
18051  {
18052  nullptr /*zonePolicy*/,
18053  "" /*format*/,
18054  1920 /*offsetCode (28800/15)*/,
18055  0 /*offsetRemainder (28800%15)*/,
18056  0 /*deltaMinutes*/,
18057  32767 /*untilYear*/,
18058  1 /*untilMonth*/,
18059  1 /*untilDay*/,
18060  0 /*untilTimeCode (0/15)*/,
18061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18062  },
18063 
18064 };
18065 
18066 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "\x05" "Irkutsk";
18067 
18068 const complete::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
18069  kZoneNameAsia_Irkutsk /*name*/,
18070  0xdfbf213f /*zoneId*/,
18071  &kZoneContext /*zoneContext*/,
18072  8 /*numEras*/,
18073  kZoneEraAsia_Irkutsk /*eras*/,
18074  nullptr /*targetInfo*/,
18075 };
18076 
18077 //---------------------------------------------------------------------------
18078 // Zone name: Asia/Jakarta
18079 // Eras: 9
18080 //---------------------------------------------------------------------------
18081 
18082 static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
18083  // 7:07:12 - LMT 1867 Aug 10
18084  {
18085  nullptr /*zonePolicy*/,
18086  "LMT" /*format*/,
18087  1708 /*offsetCode (25632/15)*/,
18088  12 /*offsetRemainder (25632%15)*/,
18089  0 /*deltaMinutes*/,
18090  1867 /*untilYear*/,
18091  8 /*untilMonth*/,
18092  10 /*untilDay*/,
18093  0 /*untilTimeCode (0/15)*/,
18094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18095  },
18096  // 7:07:12 - BMT 1923 Dec 31 16:40u
18097  {
18098  nullptr /*zonePolicy*/,
18099  "BMT" /*format*/,
18100  1708 /*offsetCode (25632/15)*/,
18101  12 /*offsetRemainder (25632%15)*/,
18102  0 /*deltaMinutes*/,
18103  1923 /*untilYear*/,
18104  12 /*untilMonth*/,
18105  31 /*untilDay*/,
18106  4000 /*untilTimeCode (60000/15)*/,
18107  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
18108  },
18109  // 7:20 - %z 1932 Nov
18110  {
18111  nullptr /*zonePolicy*/,
18112  "" /*format*/,
18113  1760 /*offsetCode (26400/15)*/,
18114  0 /*offsetRemainder (26400%15)*/,
18115  0 /*deltaMinutes*/,
18116  1932 /*untilYear*/,
18117  11 /*untilMonth*/,
18118  1 /*untilDay*/,
18119  0 /*untilTimeCode (0/15)*/,
18120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18121  },
18122  // 7:30 - %z 1942 Mar 23
18123  {
18124  nullptr /*zonePolicy*/,
18125  "" /*format*/,
18126  1800 /*offsetCode (27000/15)*/,
18127  0 /*offsetRemainder (27000%15)*/,
18128  0 /*deltaMinutes*/,
18129  1942 /*untilYear*/,
18130  3 /*untilMonth*/,
18131  23 /*untilDay*/,
18132  0 /*untilTimeCode (0/15)*/,
18133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18134  },
18135  // 9:00 - %z 1945 Sep 23
18136  {
18137  nullptr /*zonePolicy*/,
18138  "" /*format*/,
18139  2160 /*offsetCode (32400/15)*/,
18140  0 /*offsetRemainder (32400%15)*/,
18141  0 /*deltaMinutes*/,
18142  1945 /*untilYear*/,
18143  9 /*untilMonth*/,
18144  23 /*untilDay*/,
18145  0 /*untilTimeCode (0/15)*/,
18146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18147  },
18148  // 7:30 - %z 1948 May
18149  {
18150  nullptr /*zonePolicy*/,
18151  "" /*format*/,
18152  1800 /*offsetCode (27000/15)*/,
18153  0 /*offsetRemainder (27000%15)*/,
18154  0 /*deltaMinutes*/,
18155  1948 /*untilYear*/,
18156  5 /*untilMonth*/,
18157  1 /*untilDay*/,
18158  0 /*untilTimeCode (0/15)*/,
18159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18160  },
18161  // 8:00 - %z 1950 May
18162  {
18163  nullptr /*zonePolicy*/,
18164  "" /*format*/,
18165  1920 /*offsetCode (28800/15)*/,
18166  0 /*offsetRemainder (28800%15)*/,
18167  0 /*deltaMinutes*/,
18168  1950 /*untilYear*/,
18169  5 /*untilMonth*/,
18170  1 /*untilDay*/,
18171  0 /*untilTimeCode (0/15)*/,
18172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18173  },
18174  // 7:30 - %z 1964
18175  {
18176  nullptr /*zonePolicy*/,
18177  "" /*format*/,
18178  1800 /*offsetCode (27000/15)*/,
18179  0 /*offsetRemainder (27000%15)*/,
18180  0 /*deltaMinutes*/,
18181  1964 /*untilYear*/,
18182  1 /*untilMonth*/,
18183  1 /*untilDay*/,
18184  0 /*untilTimeCode (0/15)*/,
18185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18186  },
18187  // 7:00 - WIB
18188  {
18189  nullptr /*zonePolicy*/,
18190  "WIB" /*format*/,
18191  1680 /*offsetCode (25200/15)*/,
18192  0 /*offsetRemainder (25200%15)*/,
18193  0 /*deltaMinutes*/,
18194  32767 /*untilYear*/,
18195  1 /*untilMonth*/,
18196  1 /*untilDay*/,
18197  0 /*untilTimeCode (0/15)*/,
18198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18199  },
18200 
18201 };
18202 
18203 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x05" "Jakarta";
18204 
18205 const complete::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
18206  kZoneNameAsia_Jakarta /*name*/,
18207  0x0506ab50 /*zoneId*/,
18208  &kZoneContext /*zoneContext*/,
18209  9 /*numEras*/,
18210  kZoneEraAsia_Jakarta /*eras*/,
18211  nullptr /*targetInfo*/,
18212 };
18213 
18214 //---------------------------------------------------------------------------
18215 // Zone name: Asia/Jayapura
18216 // Eras: 4
18217 //---------------------------------------------------------------------------
18218 
18219 static const complete::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
18220  // 9:22:48 - LMT 1932 Nov
18221  {
18222  nullptr /*zonePolicy*/,
18223  "LMT" /*format*/,
18224  2251 /*offsetCode (33768/15)*/,
18225  3 /*offsetRemainder (33768%15)*/,
18226  0 /*deltaMinutes*/,
18227  1932 /*untilYear*/,
18228  11 /*untilMonth*/,
18229  1 /*untilDay*/,
18230  0 /*untilTimeCode (0/15)*/,
18231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18232  },
18233  // 9:00 - %z 1944 Sep 1
18234  {
18235  nullptr /*zonePolicy*/,
18236  "" /*format*/,
18237  2160 /*offsetCode (32400/15)*/,
18238  0 /*offsetRemainder (32400%15)*/,
18239  0 /*deltaMinutes*/,
18240  1944 /*untilYear*/,
18241  9 /*untilMonth*/,
18242  1 /*untilDay*/,
18243  0 /*untilTimeCode (0/15)*/,
18244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18245  },
18246  // 9:30 - %z 1964
18247  {
18248  nullptr /*zonePolicy*/,
18249  "" /*format*/,
18250  2280 /*offsetCode (34200/15)*/,
18251  0 /*offsetRemainder (34200%15)*/,
18252  0 /*deltaMinutes*/,
18253  1964 /*untilYear*/,
18254  1 /*untilMonth*/,
18255  1 /*untilDay*/,
18256  0 /*untilTimeCode (0/15)*/,
18257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18258  },
18259  // 9:00 - WIT
18260  {
18261  nullptr /*zonePolicy*/,
18262  "WIT" /*format*/,
18263  2160 /*offsetCode (32400/15)*/,
18264  0 /*offsetRemainder (32400%15)*/,
18265  0 /*deltaMinutes*/,
18266  32767 /*untilYear*/,
18267  1 /*untilMonth*/,
18268  1 /*untilDay*/,
18269  0 /*untilTimeCode (0/15)*/,
18270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18271  },
18272 
18273 };
18274 
18275 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x05" "Jayapura";
18276 
18277 const complete::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
18278  kZoneNameAsia_Jayapura /*name*/,
18279  0xc6833c2f /*zoneId*/,
18280  &kZoneContext /*zoneContext*/,
18281  4 /*numEras*/,
18282  kZoneEraAsia_Jayapura /*eras*/,
18283  nullptr /*targetInfo*/,
18284 };
18285 
18286 //---------------------------------------------------------------------------
18287 // Zone name: Asia/Jerusalem
18288 // Eras: 3
18289 //---------------------------------------------------------------------------
18290 
18291 static const complete::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
18292  // 2:20:54 - LMT 1880
18293  {
18294  nullptr /*zonePolicy*/,
18295  "LMT" /*format*/,
18296  563 /*offsetCode (8454/15)*/,
18297  9 /*offsetRemainder (8454%15)*/,
18298  0 /*deltaMinutes*/,
18299  1880 /*untilYear*/,
18300  1 /*untilMonth*/,
18301  1 /*untilDay*/,
18302  0 /*untilTimeCode (0/15)*/,
18303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18304  },
18305  // 2:20:40 - JMT 1918
18306  {
18307  nullptr /*zonePolicy*/,
18308  "JMT" /*format*/,
18309  562 /*offsetCode (8440/15)*/,
18310  10 /*offsetRemainder (8440%15)*/,
18311  0 /*deltaMinutes*/,
18312  1918 /*untilYear*/,
18313  1 /*untilMonth*/,
18314  1 /*untilDay*/,
18315  0 /*untilTimeCode (0/15)*/,
18316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18317  },
18318  // 2:00 Zion I%sT
18319  {
18320  &kZonePolicyZion /*zonePolicy*/,
18321  "I%T" /*format*/,
18322  480 /*offsetCode (7200/15)*/,
18323  0 /*offsetRemainder (7200%15)*/,
18324  0 /*deltaMinutes*/,
18325  32767 /*untilYear*/,
18326  1 /*untilMonth*/,
18327  1 /*untilDay*/,
18328  0 /*untilTimeCode (0/15)*/,
18329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18330  },
18331 
18332 };
18333 
18334 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x05" "Jerusalem";
18335 
18336 const complete::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
18337  kZoneNameAsia_Jerusalem /*name*/,
18338  0x5becd23a /*zoneId*/,
18339  &kZoneContext /*zoneContext*/,
18340  3 /*numEras*/,
18341  kZoneEraAsia_Jerusalem /*eras*/,
18342  nullptr /*targetInfo*/,
18343 };
18344 
18345 //---------------------------------------------------------------------------
18346 // Zone name: Asia/Kabul
18347 // Eras: 3
18348 //---------------------------------------------------------------------------
18349 
18350 static const complete::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
18351  // 4:36:48 - LMT 1890
18352  {
18353  nullptr /*zonePolicy*/,
18354  "LMT" /*format*/,
18355  1107 /*offsetCode (16608/15)*/,
18356  3 /*offsetRemainder (16608%15)*/,
18357  0 /*deltaMinutes*/,
18358  1890 /*untilYear*/,
18359  1 /*untilMonth*/,
18360  1 /*untilDay*/,
18361  0 /*untilTimeCode (0/15)*/,
18362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18363  },
18364  // 4:00 - %z 1945
18365  {
18366  nullptr /*zonePolicy*/,
18367  "" /*format*/,
18368  960 /*offsetCode (14400/15)*/,
18369  0 /*offsetRemainder (14400%15)*/,
18370  0 /*deltaMinutes*/,
18371  1945 /*untilYear*/,
18372  1 /*untilMonth*/,
18373  1 /*untilDay*/,
18374  0 /*untilTimeCode (0/15)*/,
18375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18376  },
18377  // 4:30 - %z
18378  {
18379  nullptr /*zonePolicy*/,
18380  "" /*format*/,
18381  1080 /*offsetCode (16200/15)*/,
18382  0 /*offsetRemainder (16200%15)*/,
18383  0 /*deltaMinutes*/,
18384  32767 /*untilYear*/,
18385  1 /*untilMonth*/,
18386  1 /*untilDay*/,
18387  0 /*untilTimeCode (0/15)*/,
18388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18389  },
18390 
18391 };
18392 
18393 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x05" "Kabul";
18394 
18395 const complete::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
18396  kZoneNameAsia_Kabul /*name*/,
18397  0x153b5601 /*zoneId*/,
18398  &kZoneContext /*zoneContext*/,
18399  3 /*numEras*/,
18400  kZoneEraAsia_Kabul /*eras*/,
18401  nullptr /*targetInfo*/,
18402 };
18403 
18404 //---------------------------------------------------------------------------
18405 // Zone name: Asia/Kamchatka
18406 // Eras: 7
18407 //---------------------------------------------------------------------------
18408 
18409 static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
18410  // 10:34:36 - LMT 1922 Nov 10
18411  {
18412  nullptr /*zonePolicy*/,
18413  "LMT" /*format*/,
18414  2538 /*offsetCode (38076/15)*/,
18415  6 /*offsetRemainder (38076%15)*/,
18416  0 /*deltaMinutes*/,
18417  1922 /*untilYear*/,
18418  11 /*untilMonth*/,
18419  10 /*untilDay*/,
18420  0 /*untilTimeCode (0/15)*/,
18421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18422  },
18423  // 11:00 - %z 1930 Jun 21
18424  {
18425  nullptr /*zonePolicy*/,
18426  "" /*format*/,
18427  2640 /*offsetCode (39600/15)*/,
18428  0 /*offsetRemainder (39600%15)*/,
18429  0 /*deltaMinutes*/,
18430  1930 /*untilYear*/,
18431  6 /*untilMonth*/,
18432  21 /*untilDay*/,
18433  0 /*untilTimeCode (0/15)*/,
18434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18435  },
18436  // 12:00 Russia %z 1991 Mar 31 2:00s
18437  {
18438  &kZonePolicyRussia /*zonePolicy*/,
18439  "" /*format*/,
18440  2880 /*offsetCode (43200/15)*/,
18441  0 /*offsetRemainder (43200%15)*/,
18442  0 /*deltaMinutes*/,
18443  1991 /*untilYear*/,
18444  3 /*untilMonth*/,
18445  31 /*untilDay*/,
18446  480 /*untilTimeCode (7200/15)*/,
18447  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18448  },
18449  // 11:00 Russia %z 1992 Jan 19 2:00s
18450  {
18451  &kZonePolicyRussia /*zonePolicy*/,
18452  "" /*format*/,
18453  2640 /*offsetCode (39600/15)*/,
18454  0 /*offsetRemainder (39600%15)*/,
18455  0 /*deltaMinutes*/,
18456  1992 /*untilYear*/,
18457  1 /*untilMonth*/,
18458  19 /*untilDay*/,
18459  480 /*untilTimeCode (7200/15)*/,
18460  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18461  },
18462  // 12:00 Russia %z 2010 Mar 28 2:00s
18463  {
18464  &kZonePolicyRussia /*zonePolicy*/,
18465  "" /*format*/,
18466  2880 /*offsetCode (43200/15)*/,
18467  0 /*offsetRemainder (43200%15)*/,
18468  0 /*deltaMinutes*/,
18469  2010 /*untilYear*/,
18470  3 /*untilMonth*/,
18471  28 /*untilDay*/,
18472  480 /*untilTimeCode (7200/15)*/,
18473  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18474  },
18475  // 11:00 Russia %z 2011 Mar 27 2:00s
18476  {
18477  &kZonePolicyRussia /*zonePolicy*/,
18478  "" /*format*/,
18479  2640 /*offsetCode (39600/15)*/,
18480  0 /*offsetRemainder (39600%15)*/,
18481  0 /*deltaMinutes*/,
18482  2011 /*untilYear*/,
18483  3 /*untilMonth*/,
18484  27 /*untilDay*/,
18485  480 /*untilTimeCode (7200/15)*/,
18486  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18487  },
18488  // 12:00 - %z
18489  {
18490  nullptr /*zonePolicy*/,
18491  "" /*format*/,
18492  2880 /*offsetCode (43200/15)*/,
18493  0 /*offsetRemainder (43200%15)*/,
18494  0 /*deltaMinutes*/,
18495  32767 /*untilYear*/,
18496  1 /*untilMonth*/,
18497  1 /*untilDay*/,
18498  0 /*untilTimeCode (0/15)*/,
18499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18500  },
18501 
18502 };
18503 
18504 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "\x05" "Kamchatka";
18505 
18506 const complete::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
18507  kZoneNameAsia_Kamchatka /*name*/,
18508  0x73baf9d7 /*zoneId*/,
18509  &kZoneContext /*zoneContext*/,
18510  7 /*numEras*/,
18511  kZoneEraAsia_Kamchatka /*eras*/,
18512  nullptr /*targetInfo*/,
18513 };
18514 
18515 //---------------------------------------------------------------------------
18516 // Zone name: Asia/Karachi
18517 // Eras: 6
18518 //---------------------------------------------------------------------------
18519 
18520 static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
18521  // 4:28:12 - LMT 1907
18522  {
18523  nullptr /*zonePolicy*/,
18524  "LMT" /*format*/,
18525  1072 /*offsetCode (16092/15)*/,
18526  12 /*offsetRemainder (16092%15)*/,
18527  0 /*deltaMinutes*/,
18528  1907 /*untilYear*/,
18529  1 /*untilMonth*/,
18530  1 /*untilDay*/,
18531  0 /*untilTimeCode (0/15)*/,
18532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18533  },
18534  // 5:30 - %z 1942 Sep
18535  {
18536  nullptr /*zonePolicy*/,
18537  "" /*format*/,
18538  1320 /*offsetCode (19800/15)*/,
18539  0 /*offsetRemainder (19800%15)*/,
18540  0 /*deltaMinutes*/,
18541  1942 /*untilYear*/,
18542  9 /*untilMonth*/,
18543  1 /*untilDay*/,
18544  0 /*untilTimeCode (0/15)*/,
18545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18546  },
18547  // 5:30 1:00 %z 1945 Oct 15
18548  {
18549  nullptr /*zonePolicy*/,
18550  "" /*format*/,
18551  1320 /*offsetCode (19800/15)*/,
18552  0 /*offsetRemainder (19800%15)*/,
18553  60 /*deltaMinutes*/,
18554  1945 /*untilYear*/,
18555  10 /*untilMonth*/,
18556  15 /*untilDay*/,
18557  0 /*untilTimeCode (0/15)*/,
18558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18559  },
18560  // 5:30 - %z 1951 Sep 30
18561  {
18562  nullptr /*zonePolicy*/,
18563  "" /*format*/,
18564  1320 /*offsetCode (19800/15)*/,
18565  0 /*offsetRemainder (19800%15)*/,
18566  0 /*deltaMinutes*/,
18567  1951 /*untilYear*/,
18568  9 /*untilMonth*/,
18569  30 /*untilDay*/,
18570  0 /*untilTimeCode (0/15)*/,
18571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18572  },
18573  // 5:00 - %z 1971 Mar 26
18574  {
18575  nullptr /*zonePolicy*/,
18576  "" /*format*/,
18577  1200 /*offsetCode (18000/15)*/,
18578  0 /*offsetRemainder (18000%15)*/,
18579  0 /*deltaMinutes*/,
18580  1971 /*untilYear*/,
18581  3 /*untilMonth*/,
18582  26 /*untilDay*/,
18583  0 /*untilTimeCode (0/15)*/,
18584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18585  },
18586  // 5:00 Pakistan PK%sT
18587  {
18588  &kZonePolicyPakistan /*zonePolicy*/,
18589  "PK%T" /*format*/,
18590  1200 /*offsetCode (18000/15)*/,
18591  0 /*offsetRemainder (18000%15)*/,
18592  0 /*deltaMinutes*/,
18593  32767 /*untilYear*/,
18594  1 /*untilMonth*/,
18595  1 /*untilDay*/,
18596  0 /*untilTimeCode (0/15)*/,
18597  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18598  },
18599 
18600 };
18601 
18602 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x05" "Karachi";
18603 
18604 const complete::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
18605  kZoneNameAsia_Karachi /*name*/,
18606  0x527f5245 /*zoneId*/,
18607  &kZoneContext /*zoneContext*/,
18608  6 /*numEras*/,
18609  kZoneEraAsia_Karachi /*eras*/,
18610  nullptr /*targetInfo*/,
18611 };
18612 
18613 //---------------------------------------------------------------------------
18614 // Zone name: Asia/Kathmandu
18615 // Eras: 3
18616 //---------------------------------------------------------------------------
18617 
18618 static const complete::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
18619  // 5:41:16 - LMT 1920
18620  {
18621  nullptr /*zonePolicy*/,
18622  "LMT" /*format*/,
18623  1365 /*offsetCode (20476/15)*/,
18624  1 /*offsetRemainder (20476%15)*/,
18625  0 /*deltaMinutes*/,
18626  1920 /*untilYear*/,
18627  1 /*untilMonth*/,
18628  1 /*untilDay*/,
18629  0 /*untilTimeCode (0/15)*/,
18630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18631  },
18632  // 5:30 - %z 1986
18633  {
18634  nullptr /*zonePolicy*/,
18635  "" /*format*/,
18636  1320 /*offsetCode (19800/15)*/,
18637  0 /*offsetRemainder (19800%15)*/,
18638  0 /*deltaMinutes*/,
18639  1986 /*untilYear*/,
18640  1 /*untilMonth*/,
18641  1 /*untilDay*/,
18642  0 /*untilTimeCode (0/15)*/,
18643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18644  },
18645  // 5:45 - %z
18646  {
18647  nullptr /*zonePolicy*/,
18648  "" /*format*/,
18649  1380 /*offsetCode (20700/15)*/,
18650  0 /*offsetRemainder (20700%15)*/,
18651  0 /*deltaMinutes*/,
18652  32767 /*untilYear*/,
18653  1 /*untilMonth*/,
18654  1 /*untilDay*/,
18655  0 /*untilTimeCode (0/15)*/,
18656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18657  },
18658 
18659 };
18660 
18661 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x05" "Kathmandu";
18662 
18663 const complete::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
18664  kZoneNameAsia_Kathmandu /*name*/,
18665  0x9a96ce6f /*zoneId*/,
18666  &kZoneContext /*zoneContext*/,
18667  3 /*numEras*/,
18668  kZoneEraAsia_Kathmandu /*eras*/,
18669  nullptr /*targetInfo*/,
18670 };
18671 
18672 //---------------------------------------------------------------------------
18673 // Zone name: Asia/Khandyga
18674 // Eras: 9
18675 //---------------------------------------------------------------------------
18676 
18677 static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
18678  // 9:02:13 - LMT 1919 Dec 15
18679  {
18680  nullptr /*zonePolicy*/,
18681  "LMT" /*format*/,
18682  2168 /*offsetCode (32533/15)*/,
18683  13 /*offsetRemainder (32533%15)*/,
18684  0 /*deltaMinutes*/,
18685  1919 /*untilYear*/,
18686  12 /*untilMonth*/,
18687  15 /*untilDay*/,
18688  0 /*untilTimeCode (0/15)*/,
18689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18690  },
18691  // 8:00 - %z 1930 Jun 21
18692  {
18693  nullptr /*zonePolicy*/,
18694  "" /*format*/,
18695  1920 /*offsetCode (28800/15)*/,
18696  0 /*offsetRemainder (28800%15)*/,
18697  0 /*deltaMinutes*/,
18698  1930 /*untilYear*/,
18699  6 /*untilMonth*/,
18700  21 /*untilDay*/,
18701  0 /*untilTimeCode (0/15)*/,
18702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18703  },
18704  // 9:00 Russia %z 1991 Mar 31 2:00s
18705  {
18706  &kZonePolicyRussia /*zonePolicy*/,
18707  "" /*format*/,
18708  2160 /*offsetCode (32400/15)*/,
18709  0 /*offsetRemainder (32400%15)*/,
18710  0 /*deltaMinutes*/,
18711  1991 /*untilYear*/,
18712  3 /*untilMonth*/,
18713  31 /*untilDay*/,
18714  480 /*untilTimeCode (7200/15)*/,
18715  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18716  },
18717  // 8:00 Russia %z 1992 Jan 19 2:00s
18718  {
18719  &kZonePolicyRussia /*zonePolicy*/,
18720  "" /*format*/,
18721  1920 /*offsetCode (28800/15)*/,
18722  0 /*offsetRemainder (28800%15)*/,
18723  0 /*deltaMinutes*/,
18724  1992 /*untilYear*/,
18725  1 /*untilMonth*/,
18726  19 /*untilDay*/,
18727  480 /*untilTimeCode (7200/15)*/,
18728  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18729  },
18730  // 9:00 Russia %z 2004
18731  {
18732  &kZonePolicyRussia /*zonePolicy*/,
18733  "" /*format*/,
18734  2160 /*offsetCode (32400/15)*/,
18735  0 /*offsetRemainder (32400%15)*/,
18736  0 /*deltaMinutes*/,
18737  2004 /*untilYear*/,
18738  1 /*untilMonth*/,
18739  1 /*untilDay*/,
18740  0 /*untilTimeCode (0/15)*/,
18741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18742  },
18743  // 10:00 Russia %z 2011 Mar 27 2:00s
18744  {
18745  &kZonePolicyRussia /*zonePolicy*/,
18746  "" /*format*/,
18747  2400 /*offsetCode (36000/15)*/,
18748  0 /*offsetRemainder (36000%15)*/,
18749  0 /*deltaMinutes*/,
18750  2011 /*untilYear*/,
18751  3 /*untilMonth*/,
18752  27 /*untilDay*/,
18753  480 /*untilTimeCode (7200/15)*/,
18754  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18755  },
18756  // 11:00 - %z 2011 Sep 13 0:00s
18757  {
18758  nullptr /*zonePolicy*/,
18759  "" /*format*/,
18760  2640 /*offsetCode (39600/15)*/,
18761  0 /*offsetRemainder (39600%15)*/,
18762  0 /*deltaMinutes*/,
18763  2011 /*untilYear*/,
18764  9 /*untilMonth*/,
18765  13 /*untilDay*/,
18766  0 /*untilTimeCode (0/15)*/,
18767  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18768  },
18769  // 10:00 - %z 2014 Oct 26 2:00s
18770  {
18771  nullptr /*zonePolicy*/,
18772  "" /*format*/,
18773  2400 /*offsetCode (36000/15)*/,
18774  0 /*offsetRemainder (36000%15)*/,
18775  0 /*deltaMinutes*/,
18776  2014 /*untilYear*/,
18777  10 /*untilMonth*/,
18778  26 /*untilDay*/,
18779  480 /*untilTimeCode (7200/15)*/,
18780  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18781  },
18782  // 9:00 - %z
18783  {
18784  nullptr /*zonePolicy*/,
18785  "" /*format*/,
18786  2160 /*offsetCode (32400/15)*/,
18787  0 /*offsetRemainder (32400%15)*/,
18788  0 /*deltaMinutes*/,
18789  32767 /*untilYear*/,
18790  1 /*untilMonth*/,
18791  1 /*untilDay*/,
18792  0 /*untilTimeCode (0/15)*/,
18793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18794  },
18795 
18796 };
18797 
18798 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "\x05" "Khandyga";
18799 
18800 const complete::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
18801  kZoneNameAsia_Khandyga /*name*/,
18802  0x9685a4d9 /*zoneId*/,
18803  &kZoneContext /*zoneContext*/,
18804  9 /*numEras*/,
18805  kZoneEraAsia_Khandyga /*eras*/,
18806  nullptr /*targetInfo*/,
18807 };
18808 
18809 //---------------------------------------------------------------------------
18810 // Zone name: Asia/Kolkata
18811 // Eras: 8
18812 //---------------------------------------------------------------------------
18813 
18814 static const complete::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
18815  // 5:53:28 - LMT 1854 Jun 28
18816  {
18817  nullptr /*zonePolicy*/,
18818  "LMT" /*format*/,
18819  1413 /*offsetCode (21208/15)*/,
18820  13 /*offsetRemainder (21208%15)*/,
18821  0 /*deltaMinutes*/,
18822  1854 /*untilYear*/,
18823  6 /*untilMonth*/,
18824  28 /*untilDay*/,
18825  0 /*untilTimeCode (0/15)*/,
18826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18827  },
18828  // 5:53:20 - HMT 1870
18829  {
18830  nullptr /*zonePolicy*/,
18831  "HMT" /*format*/,
18832  1413 /*offsetCode (21200/15)*/,
18833  5 /*offsetRemainder (21200%15)*/,
18834  0 /*deltaMinutes*/,
18835  1870 /*untilYear*/,
18836  1 /*untilMonth*/,
18837  1 /*untilDay*/,
18838  0 /*untilTimeCode (0/15)*/,
18839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18840  },
18841  // 5:21:10 - MMT 1906 Jan 1
18842  {
18843  nullptr /*zonePolicy*/,
18844  "MMT" /*format*/,
18845  1284 /*offsetCode (19270/15)*/,
18846  10 /*offsetRemainder (19270%15)*/,
18847  0 /*deltaMinutes*/,
18848  1906 /*untilYear*/,
18849  1 /*untilMonth*/,
18850  1 /*untilDay*/,
18851  0 /*untilTimeCode (0/15)*/,
18852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18853  },
18854  // 5:30 - IST 1941 Oct
18855  {
18856  nullptr /*zonePolicy*/,
18857  "IST" /*format*/,
18858  1320 /*offsetCode (19800/15)*/,
18859  0 /*offsetRemainder (19800%15)*/,
18860  0 /*deltaMinutes*/,
18861  1941 /*untilYear*/,
18862  10 /*untilMonth*/,
18863  1 /*untilDay*/,
18864  0 /*untilTimeCode (0/15)*/,
18865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18866  },
18867  // 5:30 1:00 %z 1942 May 15
18868  {
18869  nullptr /*zonePolicy*/,
18870  "" /*format*/,
18871  1320 /*offsetCode (19800/15)*/,
18872  0 /*offsetRemainder (19800%15)*/,
18873  60 /*deltaMinutes*/,
18874  1942 /*untilYear*/,
18875  5 /*untilMonth*/,
18876  15 /*untilDay*/,
18877  0 /*untilTimeCode (0/15)*/,
18878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18879  },
18880  // 5:30 - IST 1942 Sep
18881  {
18882  nullptr /*zonePolicy*/,
18883  "IST" /*format*/,
18884  1320 /*offsetCode (19800/15)*/,
18885  0 /*offsetRemainder (19800%15)*/,
18886  0 /*deltaMinutes*/,
18887  1942 /*untilYear*/,
18888  9 /*untilMonth*/,
18889  1 /*untilDay*/,
18890  0 /*untilTimeCode (0/15)*/,
18891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18892  },
18893  // 5:30 1:00 %z 1945 Oct 15
18894  {
18895  nullptr /*zonePolicy*/,
18896  "" /*format*/,
18897  1320 /*offsetCode (19800/15)*/,
18898  0 /*offsetRemainder (19800%15)*/,
18899  60 /*deltaMinutes*/,
18900  1945 /*untilYear*/,
18901  10 /*untilMonth*/,
18902  15 /*untilDay*/,
18903  0 /*untilTimeCode (0/15)*/,
18904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18905  },
18906  // 5:30 - IST
18907  {
18908  nullptr /*zonePolicy*/,
18909  "IST" /*format*/,
18910  1320 /*offsetCode (19800/15)*/,
18911  0 /*offsetRemainder (19800%15)*/,
18912  0 /*deltaMinutes*/,
18913  32767 /*untilYear*/,
18914  1 /*untilMonth*/,
18915  1 /*untilDay*/,
18916  0 /*untilTimeCode (0/15)*/,
18917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18918  },
18919 
18920 };
18921 
18922 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x05" "Kolkata";
18923 
18924 const complete::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
18925  kZoneNameAsia_Kolkata /*name*/,
18926  0x72c06cd9 /*zoneId*/,
18927  &kZoneContext /*zoneContext*/,
18928  8 /*numEras*/,
18929  kZoneEraAsia_Kolkata /*eras*/,
18930  nullptr /*targetInfo*/,
18931 };
18932 
18933 //---------------------------------------------------------------------------
18934 // Zone name: Asia/Krasnoyarsk
18935 // Eras: 7
18936 //---------------------------------------------------------------------------
18937 
18938 static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
18939  // 6:11:26 - LMT 1920 Jan 6
18940  {
18941  nullptr /*zonePolicy*/,
18942  "LMT" /*format*/,
18943  1485 /*offsetCode (22286/15)*/,
18944  11 /*offsetRemainder (22286%15)*/,
18945  0 /*deltaMinutes*/,
18946  1920 /*untilYear*/,
18947  1 /*untilMonth*/,
18948  6 /*untilDay*/,
18949  0 /*untilTimeCode (0/15)*/,
18950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18951  },
18952  // 6:00 - %z 1930 Jun 21
18953  {
18954  nullptr /*zonePolicy*/,
18955  "" /*format*/,
18956  1440 /*offsetCode (21600/15)*/,
18957  0 /*offsetRemainder (21600%15)*/,
18958  0 /*deltaMinutes*/,
18959  1930 /*untilYear*/,
18960  6 /*untilMonth*/,
18961  21 /*untilDay*/,
18962  0 /*untilTimeCode (0/15)*/,
18963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18964  },
18965  // 7:00 Russia %z 1991 Mar 31 2:00s
18966  {
18967  &kZonePolicyRussia /*zonePolicy*/,
18968  "" /*format*/,
18969  1680 /*offsetCode (25200/15)*/,
18970  0 /*offsetRemainder (25200%15)*/,
18971  0 /*deltaMinutes*/,
18972  1991 /*untilYear*/,
18973  3 /*untilMonth*/,
18974  31 /*untilDay*/,
18975  480 /*untilTimeCode (7200/15)*/,
18976  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18977  },
18978  // 6:00 Russia %z 1992 Jan 19 2:00s
18979  {
18980  &kZonePolicyRussia /*zonePolicy*/,
18981  "" /*format*/,
18982  1440 /*offsetCode (21600/15)*/,
18983  0 /*offsetRemainder (21600%15)*/,
18984  0 /*deltaMinutes*/,
18985  1992 /*untilYear*/,
18986  1 /*untilMonth*/,
18987  19 /*untilDay*/,
18988  480 /*untilTimeCode (7200/15)*/,
18989  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18990  },
18991  // 7:00 Russia %z 2011 Mar 27 2:00s
18992  {
18993  &kZonePolicyRussia /*zonePolicy*/,
18994  "" /*format*/,
18995  1680 /*offsetCode (25200/15)*/,
18996  0 /*offsetRemainder (25200%15)*/,
18997  0 /*deltaMinutes*/,
18998  2011 /*untilYear*/,
18999  3 /*untilMonth*/,
19000  27 /*untilDay*/,
19001  480 /*untilTimeCode (7200/15)*/,
19002  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19003  },
19004  // 8:00 - %z 2014 Oct 26 2:00s
19005  {
19006  nullptr /*zonePolicy*/,
19007  "" /*format*/,
19008  1920 /*offsetCode (28800/15)*/,
19009  0 /*offsetRemainder (28800%15)*/,
19010  0 /*deltaMinutes*/,
19011  2014 /*untilYear*/,
19012  10 /*untilMonth*/,
19013  26 /*untilDay*/,
19014  480 /*untilTimeCode (7200/15)*/,
19015  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19016  },
19017  // 7:00 - %z
19018  {
19019  nullptr /*zonePolicy*/,
19020  "" /*format*/,
19021  1680 /*offsetCode (25200/15)*/,
19022  0 /*offsetRemainder (25200%15)*/,
19023  0 /*deltaMinutes*/,
19024  32767 /*untilYear*/,
19025  1 /*untilMonth*/,
19026  1 /*untilDay*/,
19027  0 /*untilTimeCode (0/15)*/,
19028  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19029  },
19030 
19031 };
19032 
19033 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "\x05" "Krasnoyarsk";
19034 
19035 const complete::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
19036  kZoneNameAsia_Krasnoyarsk /*name*/,
19037  0xd0376c6a /*zoneId*/,
19038  &kZoneContext /*zoneContext*/,
19039  7 /*numEras*/,
19040  kZoneEraAsia_Krasnoyarsk /*eras*/,
19041  nullptr /*targetInfo*/,
19042 };
19043 
19044 //---------------------------------------------------------------------------
19045 // Zone name: Asia/Kuching
19046 // Eras: 5
19047 //---------------------------------------------------------------------------
19048 
19049 static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
19050  // 7:21:20 - LMT 1926 Mar
19051  {
19052  nullptr /*zonePolicy*/,
19053  "LMT" /*format*/,
19054  1765 /*offsetCode (26480/15)*/,
19055  5 /*offsetRemainder (26480%15)*/,
19056  0 /*deltaMinutes*/,
19057  1926 /*untilYear*/,
19058  3 /*untilMonth*/,
19059  1 /*untilDay*/,
19060  0 /*untilTimeCode (0/15)*/,
19061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19062  },
19063  // 7:30 - %z 1933
19064  {
19065  nullptr /*zonePolicy*/,
19066  "" /*format*/,
19067  1800 /*offsetCode (27000/15)*/,
19068  0 /*offsetRemainder (27000%15)*/,
19069  0 /*deltaMinutes*/,
19070  1933 /*untilYear*/,
19071  1 /*untilMonth*/,
19072  1 /*untilDay*/,
19073  0 /*untilTimeCode (0/15)*/,
19074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19075  },
19076  // 8:00 NBorneo %z 1942 Feb 16
19077  {
19078  &kZonePolicyNBorneo /*zonePolicy*/,
19079  "" /*format*/,
19080  1920 /*offsetCode (28800/15)*/,
19081  0 /*offsetRemainder (28800%15)*/,
19082  0 /*deltaMinutes*/,
19083  1942 /*untilYear*/,
19084  2 /*untilMonth*/,
19085  16 /*untilDay*/,
19086  0 /*untilTimeCode (0/15)*/,
19087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19088  },
19089  // 9:00 - %z 1945 Sep 12
19090  {
19091  nullptr /*zonePolicy*/,
19092  "" /*format*/,
19093  2160 /*offsetCode (32400/15)*/,
19094  0 /*offsetRemainder (32400%15)*/,
19095  0 /*deltaMinutes*/,
19096  1945 /*untilYear*/,
19097  9 /*untilMonth*/,
19098  12 /*untilDay*/,
19099  0 /*untilTimeCode (0/15)*/,
19100  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19101  },
19102  // 8:00 - %z
19103  {
19104  nullptr /*zonePolicy*/,
19105  "" /*format*/,
19106  1920 /*offsetCode (28800/15)*/,
19107  0 /*offsetRemainder (28800%15)*/,
19108  0 /*deltaMinutes*/,
19109  32767 /*untilYear*/,
19110  1 /*untilMonth*/,
19111  1 /*untilDay*/,
19112  0 /*untilTimeCode (0/15)*/,
19113  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19114  },
19115 
19116 };
19117 
19118 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x05" "Kuching";
19119 
19120 const complete::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
19121  kZoneNameAsia_Kuching /*name*/,
19122  0x801b003b /*zoneId*/,
19123  &kZoneContext /*zoneContext*/,
19124  5 /*numEras*/,
19125  kZoneEraAsia_Kuching /*eras*/,
19126  nullptr /*targetInfo*/,
19127 };
19128 
19129 //---------------------------------------------------------------------------
19130 // Zone name: Asia/Macau
19131 // Eras: 4
19132 //---------------------------------------------------------------------------
19133 
19134 static const complete::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
19135  // 7:34:10 - LMT 1904 Oct 30
19136  {
19137  nullptr /*zonePolicy*/,
19138  "LMT" /*format*/,
19139  1816 /*offsetCode (27250/15)*/,
19140  10 /*offsetRemainder (27250%15)*/,
19141  0 /*deltaMinutes*/,
19142  1904 /*untilYear*/,
19143  10 /*untilMonth*/,
19144  30 /*untilDay*/,
19145  0 /*untilTimeCode (0/15)*/,
19146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19147  },
19148  // 8:00 - CST 1941 Dec 21 23:00
19149  {
19150  nullptr /*zonePolicy*/,
19151  "CST" /*format*/,
19152  1920 /*offsetCode (28800/15)*/,
19153  0 /*offsetRemainder (28800%15)*/,
19154  0 /*deltaMinutes*/,
19155  1941 /*untilYear*/,
19156  12 /*untilMonth*/,
19157  21 /*untilDay*/,
19158  5520 /*untilTimeCode (82800/15)*/,
19159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19160  },
19161  // 9:00 Macau %z 1945 Sep 30 24:00
19162  {
19163  &kZonePolicyMacau /*zonePolicy*/,
19164  "" /*format*/,
19165  2160 /*offsetCode (32400/15)*/,
19166  0 /*offsetRemainder (32400%15)*/,
19167  0 /*deltaMinutes*/,
19168  1945 /*untilYear*/,
19169  9 /*untilMonth*/,
19170  30 /*untilDay*/,
19171  5760 /*untilTimeCode (86400/15)*/,
19172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19173  },
19174  // 8:00 Macau C%sT
19175  {
19176  &kZonePolicyMacau /*zonePolicy*/,
19177  "C%T" /*format*/,
19178  1920 /*offsetCode (28800/15)*/,
19179  0 /*offsetRemainder (28800%15)*/,
19180  0 /*deltaMinutes*/,
19181  32767 /*untilYear*/,
19182  1 /*untilMonth*/,
19183  1 /*untilDay*/,
19184  0 /*untilTimeCode (0/15)*/,
19185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19186  },
19187 
19188 };
19189 
19190 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x05" "Macau";
19191 
19192 const complete::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
19193  kZoneNameAsia_Macau /*name*/,
19194  0x155f88b9 /*zoneId*/,
19195  &kZoneContext /*zoneContext*/,
19196  4 /*numEras*/,
19197  kZoneEraAsia_Macau /*eras*/,
19198  nullptr /*targetInfo*/,
19199 };
19200 
19201 //---------------------------------------------------------------------------
19202 // Zone name: Asia/Magadan
19203 // Eras: 8
19204 //---------------------------------------------------------------------------
19205 
19206 static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
19207  // 10:03:12 - LMT 1924 May 2
19208  {
19209  nullptr /*zonePolicy*/,
19210  "LMT" /*format*/,
19211  2412 /*offsetCode (36192/15)*/,
19212  12 /*offsetRemainder (36192%15)*/,
19213  0 /*deltaMinutes*/,
19214  1924 /*untilYear*/,
19215  5 /*untilMonth*/,
19216  2 /*untilDay*/,
19217  0 /*untilTimeCode (0/15)*/,
19218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19219  },
19220  // 10:00 - %z 1930 Jun 21
19221  {
19222  nullptr /*zonePolicy*/,
19223  "" /*format*/,
19224  2400 /*offsetCode (36000/15)*/,
19225  0 /*offsetRemainder (36000%15)*/,
19226  0 /*deltaMinutes*/,
19227  1930 /*untilYear*/,
19228  6 /*untilMonth*/,
19229  21 /*untilDay*/,
19230  0 /*untilTimeCode (0/15)*/,
19231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19232  },
19233  // 11:00 Russia %z 1991 Mar 31 2:00s
19234  {
19235  &kZonePolicyRussia /*zonePolicy*/,
19236  "" /*format*/,
19237  2640 /*offsetCode (39600/15)*/,
19238  0 /*offsetRemainder (39600%15)*/,
19239  0 /*deltaMinutes*/,
19240  1991 /*untilYear*/,
19241  3 /*untilMonth*/,
19242  31 /*untilDay*/,
19243  480 /*untilTimeCode (7200/15)*/,
19244  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19245  },
19246  // 10:00 Russia %z 1992 Jan 19 2:00s
19247  {
19248  &kZonePolicyRussia /*zonePolicy*/,
19249  "" /*format*/,
19250  2400 /*offsetCode (36000/15)*/,
19251  0 /*offsetRemainder (36000%15)*/,
19252  0 /*deltaMinutes*/,
19253  1992 /*untilYear*/,
19254  1 /*untilMonth*/,
19255  19 /*untilDay*/,
19256  480 /*untilTimeCode (7200/15)*/,
19257  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19258  },
19259  // 11:00 Russia %z 2011 Mar 27 2:00s
19260  {
19261  &kZonePolicyRussia /*zonePolicy*/,
19262  "" /*format*/,
19263  2640 /*offsetCode (39600/15)*/,
19264  0 /*offsetRemainder (39600%15)*/,
19265  0 /*deltaMinutes*/,
19266  2011 /*untilYear*/,
19267  3 /*untilMonth*/,
19268  27 /*untilDay*/,
19269  480 /*untilTimeCode (7200/15)*/,
19270  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19271  },
19272  // 12:00 - %z 2014 Oct 26 2:00s
19273  {
19274  nullptr /*zonePolicy*/,
19275  "" /*format*/,
19276  2880 /*offsetCode (43200/15)*/,
19277  0 /*offsetRemainder (43200%15)*/,
19278  0 /*deltaMinutes*/,
19279  2014 /*untilYear*/,
19280  10 /*untilMonth*/,
19281  26 /*untilDay*/,
19282  480 /*untilTimeCode (7200/15)*/,
19283  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19284  },
19285  // 10:00 - %z 2016 Apr 24 2:00s
19286  {
19287  nullptr /*zonePolicy*/,
19288  "" /*format*/,
19289  2400 /*offsetCode (36000/15)*/,
19290  0 /*offsetRemainder (36000%15)*/,
19291  0 /*deltaMinutes*/,
19292  2016 /*untilYear*/,
19293  4 /*untilMonth*/,
19294  24 /*untilDay*/,
19295  480 /*untilTimeCode (7200/15)*/,
19296  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19297  },
19298  // 11:00 - %z
19299  {
19300  nullptr /*zonePolicy*/,
19301  "" /*format*/,
19302  2640 /*offsetCode (39600/15)*/,
19303  0 /*offsetRemainder (39600%15)*/,
19304  0 /*deltaMinutes*/,
19305  32767 /*untilYear*/,
19306  1 /*untilMonth*/,
19307  1 /*untilDay*/,
19308  0 /*untilTimeCode (0/15)*/,
19309  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19310  },
19311 
19312 };
19313 
19314 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "\x05" "Magadan";
19315 
19316 const complete::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
19317  kZoneNameAsia_Magadan /*name*/,
19318  0xebacc19b /*zoneId*/,
19319  &kZoneContext /*zoneContext*/,
19320  8 /*numEras*/,
19321  kZoneEraAsia_Magadan /*eras*/,
19322  nullptr /*targetInfo*/,
19323 };
19324 
19325 //---------------------------------------------------------------------------
19326 // Zone name: Asia/Makassar
19327 // Eras: 5
19328 //---------------------------------------------------------------------------
19329 
19330 static const complete::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
19331  // 7:57:36 - LMT 1920
19332  {
19333  nullptr /*zonePolicy*/,
19334  "LMT" /*format*/,
19335  1910 /*offsetCode (28656/15)*/,
19336  6 /*offsetRemainder (28656%15)*/,
19337  0 /*deltaMinutes*/,
19338  1920 /*untilYear*/,
19339  1 /*untilMonth*/,
19340  1 /*untilDay*/,
19341  0 /*untilTimeCode (0/15)*/,
19342  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19343  },
19344  // 7:57:36 - MMT 1932 Nov
19345  {
19346  nullptr /*zonePolicy*/,
19347  "MMT" /*format*/,
19348  1910 /*offsetCode (28656/15)*/,
19349  6 /*offsetRemainder (28656%15)*/,
19350  0 /*deltaMinutes*/,
19351  1932 /*untilYear*/,
19352  11 /*untilMonth*/,
19353  1 /*untilDay*/,
19354  0 /*untilTimeCode (0/15)*/,
19355  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19356  },
19357  // 8:00 - %z 1942 Feb 9
19358  {
19359  nullptr /*zonePolicy*/,
19360  "" /*format*/,
19361  1920 /*offsetCode (28800/15)*/,
19362  0 /*offsetRemainder (28800%15)*/,
19363  0 /*deltaMinutes*/,
19364  1942 /*untilYear*/,
19365  2 /*untilMonth*/,
19366  9 /*untilDay*/,
19367  0 /*untilTimeCode (0/15)*/,
19368  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19369  },
19370  // 9:00 - %z 1945 Sep 23
19371  {
19372  nullptr /*zonePolicy*/,
19373  "" /*format*/,
19374  2160 /*offsetCode (32400/15)*/,
19375  0 /*offsetRemainder (32400%15)*/,
19376  0 /*deltaMinutes*/,
19377  1945 /*untilYear*/,
19378  9 /*untilMonth*/,
19379  23 /*untilDay*/,
19380  0 /*untilTimeCode (0/15)*/,
19381  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19382  },
19383  // 8:00 - WITA
19384  {
19385  nullptr /*zonePolicy*/,
19386  "WITA" /*format*/,
19387  1920 /*offsetCode (28800/15)*/,
19388  0 /*offsetRemainder (28800%15)*/,
19389  0 /*deltaMinutes*/,
19390  32767 /*untilYear*/,
19391  1 /*untilMonth*/,
19392  1 /*untilDay*/,
19393  0 /*untilTimeCode (0/15)*/,
19394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19395  },
19396 
19397 };
19398 
19399 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x05" "Makassar";
19400 
19401 const complete::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
19402  kZoneNameAsia_Makassar /*name*/,
19403  0x6aa21c85 /*zoneId*/,
19404  &kZoneContext /*zoneContext*/,
19405  5 /*numEras*/,
19406  kZoneEraAsia_Makassar /*eras*/,
19407  nullptr /*targetInfo*/,
19408 };
19409 
19410 //---------------------------------------------------------------------------
19411 // Zone name: Asia/Manila
19412 // Eras: 5
19413 //---------------------------------------------------------------------------
19414 
19415 static const complete::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
19416  // -15:56:00 - LMT 1844 Dec 31
19417  {
19418  nullptr /*zonePolicy*/,
19419  "LMT" /*format*/,
19420  -3824 /*offsetCode (-57360/15)*/,
19421  0 /*offsetRemainder (-57360%15)*/,
19422  0 /*deltaMinutes*/,
19423  1844 /*untilYear*/,
19424  12 /*untilMonth*/,
19425  31 /*untilDay*/,
19426  0 /*untilTimeCode (0/15)*/,
19427  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19428  },
19429  // 8:04:00 - LMT 1899 May 11
19430  {
19431  nullptr /*zonePolicy*/,
19432  "LMT" /*format*/,
19433  1936 /*offsetCode (29040/15)*/,
19434  0 /*offsetRemainder (29040%15)*/,
19435  0 /*deltaMinutes*/,
19436  1899 /*untilYear*/,
19437  5 /*untilMonth*/,
19438  11 /*untilDay*/,
19439  0 /*untilTimeCode (0/15)*/,
19440  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19441  },
19442  // 8:00 Phil P%sT 1942 May
19443  {
19444  &kZonePolicyPhil /*zonePolicy*/,
19445  "P%T" /*format*/,
19446  1920 /*offsetCode (28800/15)*/,
19447  0 /*offsetRemainder (28800%15)*/,
19448  0 /*deltaMinutes*/,
19449  1942 /*untilYear*/,
19450  5 /*untilMonth*/,
19451  1 /*untilDay*/,
19452  0 /*untilTimeCode (0/15)*/,
19453  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19454  },
19455  // 9:00 - JST 1944 Nov
19456  {
19457  nullptr /*zonePolicy*/,
19458  "JST" /*format*/,
19459  2160 /*offsetCode (32400/15)*/,
19460  0 /*offsetRemainder (32400%15)*/,
19461  0 /*deltaMinutes*/,
19462  1944 /*untilYear*/,
19463  11 /*untilMonth*/,
19464  1 /*untilDay*/,
19465  0 /*untilTimeCode (0/15)*/,
19466  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19467  },
19468  // 8:00 Phil P%sT
19469  {
19470  &kZonePolicyPhil /*zonePolicy*/,
19471  "P%T" /*format*/,
19472  1920 /*offsetCode (28800/15)*/,
19473  0 /*offsetRemainder (28800%15)*/,
19474  0 /*deltaMinutes*/,
19475  32767 /*untilYear*/,
19476  1 /*untilMonth*/,
19477  1 /*untilDay*/,
19478  0 /*untilTimeCode (0/15)*/,
19479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19480  },
19481 
19482 };
19483 
19484 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x05" "Manila";
19485 
19486 const complete::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
19487  kZoneNameAsia_Manila /*name*/,
19488  0xc156c944 /*zoneId*/,
19489  &kZoneContext /*zoneContext*/,
19490  5 /*numEras*/,
19491  kZoneEraAsia_Manila /*eras*/,
19492  nullptr /*targetInfo*/,
19493 };
19494 
19495 //---------------------------------------------------------------------------
19496 // Zone name: Asia/Nicosia
19497 // Eras: 3
19498 //---------------------------------------------------------------------------
19499 
19500 static const complete::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
19501  // 2:13:28 - LMT 1921 Nov 14
19502  {
19503  nullptr /*zonePolicy*/,
19504  "LMT" /*format*/,
19505  533 /*offsetCode (8008/15)*/,
19506  13 /*offsetRemainder (8008%15)*/,
19507  0 /*deltaMinutes*/,
19508  1921 /*untilYear*/,
19509  11 /*untilMonth*/,
19510  14 /*untilDay*/,
19511  0 /*untilTimeCode (0/15)*/,
19512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19513  },
19514  // 2:00 Cyprus EE%sT 1998 Sep
19515  {
19516  &kZonePolicyCyprus /*zonePolicy*/,
19517  "EE%T" /*format*/,
19518  480 /*offsetCode (7200/15)*/,
19519  0 /*offsetRemainder (7200%15)*/,
19520  0 /*deltaMinutes*/,
19521  1998 /*untilYear*/,
19522  9 /*untilMonth*/,
19523  1 /*untilDay*/,
19524  0 /*untilTimeCode (0/15)*/,
19525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19526  },
19527  // 2:00 EUAsia EE%sT
19528  {
19529  &kZonePolicyEUAsia /*zonePolicy*/,
19530  "EE%T" /*format*/,
19531  480 /*offsetCode (7200/15)*/,
19532  0 /*offsetRemainder (7200%15)*/,
19533  0 /*deltaMinutes*/,
19534  32767 /*untilYear*/,
19535  1 /*untilMonth*/,
19536  1 /*untilDay*/,
19537  0 /*untilTimeCode (0/15)*/,
19538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19539  },
19540 
19541 };
19542 
19543 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x05" "Nicosia";
19544 
19545 const complete::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
19546  kZoneNameAsia_Nicosia /*name*/,
19547  0x4b0fcf78 /*zoneId*/,
19548  &kZoneContext /*zoneContext*/,
19549  3 /*numEras*/,
19550  kZoneEraAsia_Nicosia /*eras*/,
19551  nullptr /*targetInfo*/,
19552 };
19553 
19554 //---------------------------------------------------------------------------
19555 // Zone name: Asia/Novokuznetsk
19556 // Eras: 7
19557 //---------------------------------------------------------------------------
19558 
19559 static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
19560  // 5:48:48 - LMT 1924 May 1
19561  {
19562  nullptr /*zonePolicy*/,
19563  "LMT" /*format*/,
19564  1395 /*offsetCode (20928/15)*/,
19565  3 /*offsetRemainder (20928%15)*/,
19566  0 /*deltaMinutes*/,
19567  1924 /*untilYear*/,
19568  5 /*untilMonth*/,
19569  1 /*untilDay*/,
19570  0 /*untilTimeCode (0/15)*/,
19571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19572  },
19573  // 6:00 - %z 1930 Jun 21
19574  {
19575  nullptr /*zonePolicy*/,
19576  "" /*format*/,
19577  1440 /*offsetCode (21600/15)*/,
19578  0 /*offsetRemainder (21600%15)*/,
19579  0 /*deltaMinutes*/,
19580  1930 /*untilYear*/,
19581  6 /*untilMonth*/,
19582  21 /*untilDay*/,
19583  0 /*untilTimeCode (0/15)*/,
19584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19585  },
19586  // 7:00 Russia %z 1991 Mar 31 2:00s
19587  {
19588  &kZonePolicyRussia /*zonePolicy*/,
19589  "" /*format*/,
19590  1680 /*offsetCode (25200/15)*/,
19591  0 /*offsetRemainder (25200%15)*/,
19592  0 /*deltaMinutes*/,
19593  1991 /*untilYear*/,
19594  3 /*untilMonth*/,
19595  31 /*untilDay*/,
19596  480 /*untilTimeCode (7200/15)*/,
19597  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19598  },
19599  // 6:00 Russia %z 1992 Jan 19 2:00s
19600  {
19601  &kZonePolicyRussia /*zonePolicy*/,
19602  "" /*format*/,
19603  1440 /*offsetCode (21600/15)*/,
19604  0 /*offsetRemainder (21600%15)*/,
19605  0 /*deltaMinutes*/,
19606  1992 /*untilYear*/,
19607  1 /*untilMonth*/,
19608  19 /*untilDay*/,
19609  480 /*untilTimeCode (7200/15)*/,
19610  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19611  },
19612  // 7:00 Russia %z 2010 Mar 28 2:00s
19613  {
19614  &kZonePolicyRussia /*zonePolicy*/,
19615  "" /*format*/,
19616  1680 /*offsetCode (25200/15)*/,
19617  0 /*offsetRemainder (25200%15)*/,
19618  0 /*deltaMinutes*/,
19619  2010 /*untilYear*/,
19620  3 /*untilMonth*/,
19621  28 /*untilDay*/,
19622  480 /*untilTimeCode (7200/15)*/,
19623  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19624  },
19625  // 6:00 Russia %z 2011 Mar 27 2:00s
19626  {
19627  &kZonePolicyRussia /*zonePolicy*/,
19628  "" /*format*/,
19629  1440 /*offsetCode (21600/15)*/,
19630  0 /*offsetRemainder (21600%15)*/,
19631  0 /*deltaMinutes*/,
19632  2011 /*untilYear*/,
19633  3 /*untilMonth*/,
19634  27 /*untilDay*/,
19635  480 /*untilTimeCode (7200/15)*/,
19636  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19637  },
19638  // 7:00 - %z
19639  {
19640  nullptr /*zonePolicy*/,
19641  "" /*format*/,
19642  1680 /*offsetCode (25200/15)*/,
19643  0 /*offsetRemainder (25200%15)*/,
19644  0 /*deltaMinutes*/,
19645  32767 /*untilYear*/,
19646  1 /*untilMonth*/,
19647  1 /*untilDay*/,
19648  0 /*untilTimeCode (0/15)*/,
19649  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19650  },
19651 
19652 };
19653 
19654 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "\x05" "Novokuznetsk";
19655 
19656 const complete::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
19657  kZoneNameAsia_Novokuznetsk /*name*/,
19658  0x69264f93 /*zoneId*/,
19659  &kZoneContext /*zoneContext*/,
19660  7 /*numEras*/,
19661  kZoneEraAsia_Novokuznetsk /*eras*/,
19662  nullptr /*targetInfo*/,
19663 };
19664 
19665 //---------------------------------------------------------------------------
19666 // Zone name: Asia/Novosibirsk
19667 // Eras: 9
19668 //---------------------------------------------------------------------------
19669 
19670 static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
19671  // 5:31:40 - LMT 1919 Dec 14 6:00
19672  {
19673  nullptr /*zonePolicy*/,
19674  "LMT" /*format*/,
19675  1326 /*offsetCode (19900/15)*/,
19676  10 /*offsetRemainder (19900%15)*/,
19677  0 /*deltaMinutes*/,
19678  1919 /*untilYear*/,
19679  12 /*untilMonth*/,
19680  14 /*untilDay*/,
19681  1440 /*untilTimeCode (21600/15)*/,
19682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19683  },
19684  // 6:00 - %z 1930 Jun 21
19685  {
19686  nullptr /*zonePolicy*/,
19687  "" /*format*/,
19688  1440 /*offsetCode (21600/15)*/,
19689  0 /*offsetRemainder (21600%15)*/,
19690  0 /*deltaMinutes*/,
19691  1930 /*untilYear*/,
19692  6 /*untilMonth*/,
19693  21 /*untilDay*/,
19694  0 /*untilTimeCode (0/15)*/,
19695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19696  },
19697  // 7:00 Russia %z 1991 Mar 31 2:00s
19698  {
19699  &kZonePolicyRussia /*zonePolicy*/,
19700  "" /*format*/,
19701  1680 /*offsetCode (25200/15)*/,
19702  0 /*offsetRemainder (25200%15)*/,
19703  0 /*deltaMinutes*/,
19704  1991 /*untilYear*/,
19705  3 /*untilMonth*/,
19706  31 /*untilDay*/,
19707  480 /*untilTimeCode (7200/15)*/,
19708  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19709  },
19710  // 6:00 Russia %z 1992 Jan 19 2:00s
19711  {
19712  &kZonePolicyRussia /*zonePolicy*/,
19713  "" /*format*/,
19714  1440 /*offsetCode (21600/15)*/,
19715  0 /*offsetRemainder (21600%15)*/,
19716  0 /*deltaMinutes*/,
19717  1992 /*untilYear*/,
19718  1 /*untilMonth*/,
19719  19 /*untilDay*/,
19720  480 /*untilTimeCode (7200/15)*/,
19721  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19722  },
19723  // 7:00 Russia %z 1993 May 23
19724  {
19725  &kZonePolicyRussia /*zonePolicy*/,
19726  "" /*format*/,
19727  1680 /*offsetCode (25200/15)*/,
19728  0 /*offsetRemainder (25200%15)*/,
19729  0 /*deltaMinutes*/,
19730  1993 /*untilYear*/,
19731  5 /*untilMonth*/,
19732  23 /*untilDay*/,
19733  0 /*untilTimeCode (0/15)*/,
19734  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19735  },
19736  // 6:00 Russia %z 2011 Mar 27 2:00s
19737  {
19738  &kZonePolicyRussia /*zonePolicy*/,
19739  "" /*format*/,
19740  1440 /*offsetCode (21600/15)*/,
19741  0 /*offsetRemainder (21600%15)*/,
19742  0 /*deltaMinutes*/,
19743  2011 /*untilYear*/,
19744  3 /*untilMonth*/,
19745  27 /*untilDay*/,
19746  480 /*untilTimeCode (7200/15)*/,
19747  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19748  },
19749  // 7:00 - %z 2014 Oct 26 2:00s
19750  {
19751  nullptr /*zonePolicy*/,
19752  "" /*format*/,
19753  1680 /*offsetCode (25200/15)*/,
19754  0 /*offsetRemainder (25200%15)*/,
19755  0 /*deltaMinutes*/,
19756  2014 /*untilYear*/,
19757  10 /*untilMonth*/,
19758  26 /*untilDay*/,
19759  480 /*untilTimeCode (7200/15)*/,
19760  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19761  },
19762  // 6:00 - %z 2016 Jul 24 2:00s
19763  {
19764  nullptr /*zonePolicy*/,
19765  "" /*format*/,
19766  1440 /*offsetCode (21600/15)*/,
19767  0 /*offsetRemainder (21600%15)*/,
19768  0 /*deltaMinutes*/,
19769  2016 /*untilYear*/,
19770  7 /*untilMonth*/,
19771  24 /*untilDay*/,
19772  480 /*untilTimeCode (7200/15)*/,
19773  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19774  },
19775  // 7:00 - %z
19776  {
19777  nullptr /*zonePolicy*/,
19778  "" /*format*/,
19779  1680 /*offsetCode (25200/15)*/,
19780  0 /*offsetRemainder (25200%15)*/,
19781  0 /*deltaMinutes*/,
19782  32767 /*untilYear*/,
19783  1 /*untilMonth*/,
19784  1 /*untilDay*/,
19785  0 /*untilTimeCode (0/15)*/,
19786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19787  },
19788 
19789 };
19790 
19791 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "\x05" "Novosibirsk";
19792 
19793 const complete::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
19794  kZoneNameAsia_Novosibirsk /*name*/,
19795  0xa2a435cb /*zoneId*/,
19796  &kZoneContext /*zoneContext*/,
19797  9 /*numEras*/,
19798  kZoneEraAsia_Novosibirsk /*eras*/,
19799  nullptr /*targetInfo*/,
19800 };
19801 
19802 //---------------------------------------------------------------------------
19803 // Zone name: Asia/Omsk
19804 // Eras: 7
19805 //---------------------------------------------------------------------------
19806 
19807 static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
19808  // 4:53:30 - LMT 1919 Nov 14
19809  {
19810  nullptr /*zonePolicy*/,
19811  "LMT" /*format*/,
19812  1174 /*offsetCode (17610/15)*/,
19813  0 /*offsetRemainder (17610%15)*/,
19814  0 /*deltaMinutes*/,
19815  1919 /*untilYear*/,
19816  11 /*untilMonth*/,
19817  14 /*untilDay*/,
19818  0 /*untilTimeCode (0/15)*/,
19819  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19820  },
19821  // 5:00 - %z 1930 Jun 21
19822  {
19823  nullptr /*zonePolicy*/,
19824  "" /*format*/,
19825  1200 /*offsetCode (18000/15)*/,
19826  0 /*offsetRemainder (18000%15)*/,
19827  0 /*deltaMinutes*/,
19828  1930 /*untilYear*/,
19829  6 /*untilMonth*/,
19830  21 /*untilDay*/,
19831  0 /*untilTimeCode (0/15)*/,
19832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19833  },
19834  // 6:00 Russia %z 1991 Mar 31 2:00s
19835  {
19836  &kZonePolicyRussia /*zonePolicy*/,
19837  "" /*format*/,
19838  1440 /*offsetCode (21600/15)*/,
19839  0 /*offsetRemainder (21600%15)*/,
19840  0 /*deltaMinutes*/,
19841  1991 /*untilYear*/,
19842  3 /*untilMonth*/,
19843  31 /*untilDay*/,
19844  480 /*untilTimeCode (7200/15)*/,
19845  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19846  },
19847  // 5:00 Russia %z 1992 Jan 19 2:00s
19848  {
19849  &kZonePolicyRussia /*zonePolicy*/,
19850  "" /*format*/,
19851  1200 /*offsetCode (18000/15)*/,
19852  0 /*offsetRemainder (18000%15)*/,
19853  0 /*deltaMinutes*/,
19854  1992 /*untilYear*/,
19855  1 /*untilMonth*/,
19856  19 /*untilDay*/,
19857  480 /*untilTimeCode (7200/15)*/,
19858  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19859  },
19860  // 6:00 Russia %z 2011 Mar 27 2:00s
19861  {
19862  &kZonePolicyRussia /*zonePolicy*/,
19863  "" /*format*/,
19864  1440 /*offsetCode (21600/15)*/,
19865  0 /*offsetRemainder (21600%15)*/,
19866  0 /*deltaMinutes*/,
19867  2011 /*untilYear*/,
19868  3 /*untilMonth*/,
19869  27 /*untilDay*/,
19870  480 /*untilTimeCode (7200/15)*/,
19871  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19872  },
19873  // 7:00 - %z 2014 Oct 26 2:00s
19874  {
19875  nullptr /*zonePolicy*/,
19876  "" /*format*/,
19877  1680 /*offsetCode (25200/15)*/,
19878  0 /*offsetRemainder (25200%15)*/,
19879  0 /*deltaMinutes*/,
19880  2014 /*untilYear*/,
19881  10 /*untilMonth*/,
19882  26 /*untilDay*/,
19883  480 /*untilTimeCode (7200/15)*/,
19884  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19885  },
19886  // 6:00 - %z
19887  {
19888  nullptr /*zonePolicy*/,
19889  "" /*format*/,
19890  1440 /*offsetCode (21600/15)*/,
19891  0 /*offsetRemainder (21600%15)*/,
19892  0 /*deltaMinutes*/,
19893  32767 /*untilYear*/,
19894  1 /*untilMonth*/,
19895  1 /*untilDay*/,
19896  0 /*untilTimeCode (0/15)*/,
19897  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19898  },
19899 
19900 };
19901 
19902 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "\x05" "Omsk";
19903 
19904 const complete::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
19905  kZoneNameAsia_Omsk /*name*/,
19906  0x1faeddac /*zoneId*/,
19907  &kZoneContext /*zoneContext*/,
19908  7 /*numEras*/,
19909  kZoneEraAsia_Omsk /*eras*/,
19910  nullptr /*targetInfo*/,
19911 };
19912 
19913 //---------------------------------------------------------------------------
19914 // Zone name: Asia/Oral
19915 // Eras: 10
19916 //---------------------------------------------------------------------------
19917 
19918 static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
19919  // 3:25:24 - LMT 1924 May 2
19920  {
19921  nullptr /*zonePolicy*/,
19922  "LMT" /*format*/,
19923  821 /*offsetCode (12324/15)*/,
19924  9 /*offsetRemainder (12324%15)*/,
19925  0 /*deltaMinutes*/,
19926  1924 /*untilYear*/,
19927  5 /*untilMonth*/,
19928  2 /*untilDay*/,
19929  0 /*untilTimeCode (0/15)*/,
19930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19931  },
19932  // 3:00 - %z 1930 Jun 21
19933  {
19934  nullptr /*zonePolicy*/,
19935  "" /*format*/,
19936  720 /*offsetCode (10800/15)*/,
19937  0 /*offsetRemainder (10800%15)*/,
19938  0 /*deltaMinutes*/,
19939  1930 /*untilYear*/,
19940  6 /*untilMonth*/,
19941  21 /*untilDay*/,
19942  0 /*untilTimeCode (0/15)*/,
19943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19944  },
19945  // 5:00 - %z 1981 Apr 1
19946  {
19947  nullptr /*zonePolicy*/,
19948  "" /*format*/,
19949  1200 /*offsetCode (18000/15)*/,
19950  0 /*offsetRemainder (18000%15)*/,
19951  0 /*deltaMinutes*/,
19952  1981 /*untilYear*/,
19953  4 /*untilMonth*/,
19954  1 /*untilDay*/,
19955  0 /*untilTimeCode (0/15)*/,
19956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19957  },
19958  // 5:00 1:00 %z 1981 Oct 1
19959  {
19960  nullptr /*zonePolicy*/,
19961  "" /*format*/,
19962  1200 /*offsetCode (18000/15)*/,
19963  0 /*offsetRemainder (18000%15)*/,
19964  60 /*deltaMinutes*/,
19965  1981 /*untilYear*/,
19966  10 /*untilMonth*/,
19967  1 /*untilDay*/,
19968  0 /*untilTimeCode (0/15)*/,
19969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19970  },
19971  // 6:00 - %z 1982 Apr 1
19972  {
19973  nullptr /*zonePolicy*/,
19974  "" /*format*/,
19975  1440 /*offsetCode (21600/15)*/,
19976  0 /*offsetRemainder (21600%15)*/,
19977  0 /*deltaMinutes*/,
19978  1982 /*untilYear*/,
19979  4 /*untilMonth*/,
19980  1 /*untilDay*/,
19981  0 /*untilTimeCode (0/15)*/,
19982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19983  },
19984  // 5:00 RussiaAsia %z 1989 Mar 26 2:00s
19985  {
19986  &kZonePolicyRussiaAsia /*zonePolicy*/,
19987  "" /*format*/,
19988  1200 /*offsetCode (18000/15)*/,
19989  0 /*offsetRemainder (18000%15)*/,
19990  0 /*deltaMinutes*/,
19991  1989 /*untilYear*/,
19992  3 /*untilMonth*/,
19993  26 /*untilDay*/,
19994  480 /*untilTimeCode (7200/15)*/,
19995  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19996  },
19997  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
19998  {
19999  &kZonePolicyRussiaAsia /*zonePolicy*/,
20000  "" /*format*/,
20001  960 /*offsetCode (14400/15)*/,
20002  0 /*offsetRemainder (14400%15)*/,
20003  0 /*deltaMinutes*/,
20004  1992 /*untilYear*/,
20005  1 /*untilMonth*/,
20006  19 /*untilDay*/,
20007  480 /*untilTimeCode (7200/15)*/,
20008  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20009  },
20010  // 5:00 RussiaAsia %z 1992 Mar 29 2:00s
20011  {
20012  &kZonePolicyRussiaAsia /*zonePolicy*/,
20013  "" /*format*/,
20014  1200 /*offsetCode (18000/15)*/,
20015  0 /*offsetRemainder (18000%15)*/,
20016  0 /*deltaMinutes*/,
20017  1992 /*untilYear*/,
20018  3 /*untilMonth*/,
20019  29 /*untilDay*/,
20020  480 /*untilTimeCode (7200/15)*/,
20021  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20022  },
20023  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
20024  {
20025  &kZonePolicyRussiaAsia /*zonePolicy*/,
20026  "" /*format*/,
20027  960 /*offsetCode (14400/15)*/,
20028  0 /*offsetRemainder (14400%15)*/,
20029  0 /*deltaMinutes*/,
20030  2004 /*untilYear*/,
20031  10 /*untilMonth*/,
20032  31 /*untilDay*/,
20033  480 /*untilTimeCode (7200/15)*/,
20034  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20035  },
20036  // 5:00 - %z
20037  {
20038  nullptr /*zonePolicy*/,
20039  "" /*format*/,
20040  1200 /*offsetCode (18000/15)*/,
20041  0 /*offsetRemainder (18000%15)*/,
20042  0 /*deltaMinutes*/,
20043  32767 /*untilYear*/,
20044  1 /*untilMonth*/,
20045  1 /*untilDay*/,
20046  0 /*untilTimeCode (0/15)*/,
20047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20048  },
20049 
20050 };
20051 
20052 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "\x05" "Oral";
20053 
20054 const complete::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
20055  kZoneNameAsia_Oral /*name*/,
20056  0x1faef0a0 /*zoneId*/,
20057  &kZoneContext /*zoneContext*/,
20058  10 /*numEras*/,
20059  kZoneEraAsia_Oral /*eras*/,
20060  nullptr /*targetInfo*/,
20061 };
20062 
20063 //---------------------------------------------------------------------------
20064 // Zone name: Asia/Pontianak
20065 // Eras: 9
20066 //---------------------------------------------------------------------------
20067 
20068 static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
20069  // 7:17:20 - LMT 1908 May
20070  {
20071  nullptr /*zonePolicy*/,
20072  "LMT" /*format*/,
20073  1749 /*offsetCode (26240/15)*/,
20074  5 /*offsetRemainder (26240%15)*/,
20075  0 /*deltaMinutes*/,
20076  1908 /*untilYear*/,
20077  5 /*untilMonth*/,
20078  1 /*untilDay*/,
20079  0 /*untilTimeCode (0/15)*/,
20080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20081  },
20082  // 7:17:20 - PMT 1932 Nov
20083  {
20084  nullptr /*zonePolicy*/,
20085  "PMT" /*format*/,
20086  1749 /*offsetCode (26240/15)*/,
20087  5 /*offsetRemainder (26240%15)*/,
20088  0 /*deltaMinutes*/,
20089  1932 /*untilYear*/,
20090  11 /*untilMonth*/,
20091  1 /*untilDay*/,
20092  0 /*untilTimeCode (0/15)*/,
20093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20094  },
20095  // 7:30 - %z 1942 Jan 29
20096  {
20097  nullptr /*zonePolicy*/,
20098  "" /*format*/,
20099  1800 /*offsetCode (27000/15)*/,
20100  0 /*offsetRemainder (27000%15)*/,
20101  0 /*deltaMinutes*/,
20102  1942 /*untilYear*/,
20103  1 /*untilMonth*/,
20104  29 /*untilDay*/,
20105  0 /*untilTimeCode (0/15)*/,
20106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20107  },
20108  // 9:00 - %z 1945 Sep 23
20109  {
20110  nullptr /*zonePolicy*/,
20111  "" /*format*/,
20112  2160 /*offsetCode (32400/15)*/,
20113  0 /*offsetRemainder (32400%15)*/,
20114  0 /*deltaMinutes*/,
20115  1945 /*untilYear*/,
20116  9 /*untilMonth*/,
20117  23 /*untilDay*/,
20118  0 /*untilTimeCode (0/15)*/,
20119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20120  },
20121  // 7:30 - %z 1948 May
20122  {
20123  nullptr /*zonePolicy*/,
20124  "" /*format*/,
20125  1800 /*offsetCode (27000/15)*/,
20126  0 /*offsetRemainder (27000%15)*/,
20127  0 /*deltaMinutes*/,
20128  1948 /*untilYear*/,
20129  5 /*untilMonth*/,
20130  1 /*untilDay*/,
20131  0 /*untilTimeCode (0/15)*/,
20132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20133  },
20134  // 8:00 - %z 1950 May
20135  {
20136  nullptr /*zonePolicy*/,
20137  "" /*format*/,
20138  1920 /*offsetCode (28800/15)*/,
20139  0 /*offsetRemainder (28800%15)*/,
20140  0 /*deltaMinutes*/,
20141  1950 /*untilYear*/,
20142  5 /*untilMonth*/,
20143  1 /*untilDay*/,
20144  0 /*untilTimeCode (0/15)*/,
20145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20146  },
20147  // 7:30 - %z 1964
20148  {
20149  nullptr /*zonePolicy*/,
20150  "" /*format*/,
20151  1800 /*offsetCode (27000/15)*/,
20152  0 /*offsetRemainder (27000%15)*/,
20153  0 /*deltaMinutes*/,
20154  1964 /*untilYear*/,
20155  1 /*untilMonth*/,
20156  1 /*untilDay*/,
20157  0 /*untilTimeCode (0/15)*/,
20158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20159  },
20160  // 8:00 - WITA 1988 Jan 1
20161  {
20162  nullptr /*zonePolicy*/,
20163  "WITA" /*format*/,
20164  1920 /*offsetCode (28800/15)*/,
20165  0 /*offsetRemainder (28800%15)*/,
20166  0 /*deltaMinutes*/,
20167  1988 /*untilYear*/,
20168  1 /*untilMonth*/,
20169  1 /*untilDay*/,
20170  0 /*untilTimeCode (0/15)*/,
20171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20172  },
20173  // 7:00 - WIB
20174  {
20175  nullptr /*zonePolicy*/,
20176  "WIB" /*format*/,
20177  1680 /*offsetCode (25200/15)*/,
20178  0 /*offsetRemainder (25200%15)*/,
20179  0 /*deltaMinutes*/,
20180  32767 /*untilYear*/,
20181  1 /*untilMonth*/,
20182  1 /*untilDay*/,
20183  0 /*untilTimeCode (0/15)*/,
20184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20185  },
20186 
20187 };
20188 
20189 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x05" "Pontianak";
20190 
20191 const complete::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
20192  kZoneNameAsia_Pontianak /*name*/,
20193  0x1a76c057 /*zoneId*/,
20194  &kZoneContext /*zoneContext*/,
20195  9 /*numEras*/,
20196  kZoneEraAsia_Pontianak /*eras*/,
20197  nullptr /*targetInfo*/,
20198 };
20199 
20200 //---------------------------------------------------------------------------
20201 // Zone name: Asia/Pyongyang
20202 // Eras: 6
20203 //---------------------------------------------------------------------------
20204 
20205 static const complete::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
20206  // 8:23:00 - LMT 1908 Apr 1
20207  {
20208  nullptr /*zonePolicy*/,
20209  "LMT" /*format*/,
20210  2012 /*offsetCode (30180/15)*/,
20211  0 /*offsetRemainder (30180%15)*/,
20212  0 /*deltaMinutes*/,
20213  1908 /*untilYear*/,
20214  4 /*untilMonth*/,
20215  1 /*untilDay*/,
20216  0 /*untilTimeCode (0/15)*/,
20217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20218  },
20219  // 8:30 - KST 1912 Jan 1
20220  {
20221  nullptr /*zonePolicy*/,
20222  "KST" /*format*/,
20223  2040 /*offsetCode (30600/15)*/,
20224  0 /*offsetRemainder (30600%15)*/,
20225  0 /*deltaMinutes*/,
20226  1912 /*untilYear*/,
20227  1 /*untilMonth*/,
20228  1 /*untilDay*/,
20229  0 /*untilTimeCode (0/15)*/,
20230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20231  },
20232  // 9:00 - JST 1945 Aug 24
20233  {
20234  nullptr /*zonePolicy*/,
20235  "JST" /*format*/,
20236  2160 /*offsetCode (32400/15)*/,
20237  0 /*offsetRemainder (32400%15)*/,
20238  0 /*deltaMinutes*/,
20239  1945 /*untilYear*/,
20240  8 /*untilMonth*/,
20241  24 /*untilDay*/,
20242  0 /*untilTimeCode (0/15)*/,
20243  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20244  },
20245  // 9:00 - KST 2015 Aug 15 00:00
20246  {
20247  nullptr /*zonePolicy*/,
20248  "KST" /*format*/,
20249  2160 /*offsetCode (32400/15)*/,
20250  0 /*offsetRemainder (32400%15)*/,
20251  0 /*deltaMinutes*/,
20252  2015 /*untilYear*/,
20253  8 /*untilMonth*/,
20254  15 /*untilDay*/,
20255  0 /*untilTimeCode (0/15)*/,
20256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20257  },
20258  // 8:30 - KST 2018 May 4 23:30
20259  {
20260  nullptr /*zonePolicy*/,
20261  "KST" /*format*/,
20262  2040 /*offsetCode (30600/15)*/,
20263  0 /*offsetRemainder (30600%15)*/,
20264  0 /*deltaMinutes*/,
20265  2018 /*untilYear*/,
20266  5 /*untilMonth*/,
20267  4 /*untilDay*/,
20268  5640 /*untilTimeCode (84600/15)*/,
20269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20270  },
20271  // 9:00 - KST
20272  {
20273  nullptr /*zonePolicy*/,
20274  "KST" /*format*/,
20275  2160 /*offsetCode (32400/15)*/,
20276  0 /*offsetRemainder (32400%15)*/,
20277  0 /*deltaMinutes*/,
20278  32767 /*untilYear*/,
20279  1 /*untilMonth*/,
20280  1 /*untilDay*/,
20281  0 /*untilTimeCode (0/15)*/,
20282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20283  },
20284 
20285 };
20286 
20287 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "\x05" "Pyongyang";
20288 
20289 const complete::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
20290  kZoneNameAsia_Pyongyang /*name*/,
20291  0x93ed1c8e /*zoneId*/,
20292  &kZoneContext /*zoneContext*/,
20293  6 /*numEras*/,
20294  kZoneEraAsia_Pyongyang /*eras*/,
20295  nullptr /*targetInfo*/,
20296 };
20297 
20298 //---------------------------------------------------------------------------
20299 // Zone name: Asia/Qatar
20300 // Eras: 3
20301 //---------------------------------------------------------------------------
20302 
20303 static const complete::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
20304  // 3:26:08 - LMT 1920
20305  {
20306  nullptr /*zonePolicy*/,
20307  "LMT" /*format*/,
20308  824 /*offsetCode (12368/15)*/,
20309  8 /*offsetRemainder (12368%15)*/,
20310  0 /*deltaMinutes*/,
20311  1920 /*untilYear*/,
20312  1 /*untilMonth*/,
20313  1 /*untilDay*/,
20314  0 /*untilTimeCode (0/15)*/,
20315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20316  },
20317  // 4:00 - %z 1972 Jun
20318  {
20319  nullptr /*zonePolicy*/,
20320  "" /*format*/,
20321  960 /*offsetCode (14400/15)*/,
20322  0 /*offsetRemainder (14400%15)*/,
20323  0 /*deltaMinutes*/,
20324  1972 /*untilYear*/,
20325  6 /*untilMonth*/,
20326  1 /*untilDay*/,
20327  0 /*untilTimeCode (0/15)*/,
20328  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20329  },
20330  // 3:00 - %z
20331  {
20332  nullptr /*zonePolicy*/,
20333  "" /*format*/,
20334  720 /*offsetCode (10800/15)*/,
20335  0 /*offsetRemainder (10800%15)*/,
20336  0 /*deltaMinutes*/,
20337  32767 /*untilYear*/,
20338  1 /*untilMonth*/,
20339  1 /*untilDay*/,
20340  0 /*untilTimeCode (0/15)*/,
20341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20342  },
20343 
20344 };
20345 
20346 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x05" "Qatar";
20347 
20348 const complete::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
20349  kZoneNameAsia_Qatar /*name*/,
20350  0x15a8330b /*zoneId*/,
20351  &kZoneContext /*zoneContext*/,
20352  3 /*numEras*/,
20353  kZoneEraAsia_Qatar /*eras*/,
20354  nullptr /*targetInfo*/,
20355 };
20356 
20357 //---------------------------------------------------------------------------
20358 // Zone name: Asia/Qostanay
20359 // Eras: 10
20360 //---------------------------------------------------------------------------
20361 
20362 static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
20363  // 4:14:28 - LMT 1924 May 2
20364  {
20365  nullptr /*zonePolicy*/,
20366  "LMT" /*format*/,
20367  1017 /*offsetCode (15268/15)*/,
20368  13 /*offsetRemainder (15268%15)*/,
20369  0 /*deltaMinutes*/,
20370  1924 /*untilYear*/,
20371  5 /*untilMonth*/,
20372  2 /*untilDay*/,
20373  0 /*untilTimeCode (0/15)*/,
20374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20375  },
20376  // 4:00 - %z 1930 Jun 21
20377  {
20378  nullptr /*zonePolicy*/,
20379  "" /*format*/,
20380  960 /*offsetCode (14400/15)*/,
20381  0 /*offsetRemainder (14400%15)*/,
20382  0 /*deltaMinutes*/,
20383  1930 /*untilYear*/,
20384  6 /*untilMonth*/,
20385  21 /*untilDay*/,
20386  0 /*untilTimeCode (0/15)*/,
20387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20388  },
20389  // 5:00 - %z 1981 Apr 1
20390  {
20391  nullptr /*zonePolicy*/,
20392  "" /*format*/,
20393  1200 /*offsetCode (18000/15)*/,
20394  0 /*offsetRemainder (18000%15)*/,
20395  0 /*deltaMinutes*/,
20396  1981 /*untilYear*/,
20397  4 /*untilMonth*/,
20398  1 /*untilDay*/,
20399  0 /*untilTimeCode (0/15)*/,
20400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20401  },
20402  // 5:00 1:00 %z 1981 Oct 1
20403  {
20404  nullptr /*zonePolicy*/,
20405  "" /*format*/,
20406  1200 /*offsetCode (18000/15)*/,
20407  0 /*offsetRemainder (18000%15)*/,
20408  60 /*deltaMinutes*/,
20409  1981 /*untilYear*/,
20410  10 /*untilMonth*/,
20411  1 /*untilDay*/,
20412  0 /*untilTimeCode (0/15)*/,
20413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20414  },
20415  // 6:00 - %z 1982 Apr 1
20416  {
20417  nullptr /*zonePolicy*/,
20418  "" /*format*/,
20419  1440 /*offsetCode (21600/15)*/,
20420  0 /*offsetRemainder (21600%15)*/,
20421  0 /*deltaMinutes*/,
20422  1982 /*untilYear*/,
20423  4 /*untilMonth*/,
20424  1 /*untilDay*/,
20425  0 /*untilTimeCode (0/15)*/,
20426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20427  },
20428  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20429  {
20430  &kZonePolicyRussiaAsia /*zonePolicy*/,
20431  "" /*format*/,
20432  1200 /*offsetCode (18000/15)*/,
20433  0 /*offsetRemainder (18000%15)*/,
20434  0 /*deltaMinutes*/,
20435  1991 /*untilYear*/,
20436  3 /*untilMonth*/,
20437  31 /*untilDay*/,
20438  480 /*untilTimeCode (7200/15)*/,
20439  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20440  },
20441  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
20442  {
20443  &kZonePolicyRussiaAsia /*zonePolicy*/,
20444  "" /*format*/,
20445  960 /*offsetCode (14400/15)*/,
20446  0 /*offsetRemainder (14400%15)*/,
20447  0 /*deltaMinutes*/,
20448  1992 /*untilYear*/,
20449  1 /*untilMonth*/,
20450  19 /*untilDay*/,
20451  480 /*untilTimeCode (7200/15)*/,
20452  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20453  },
20454  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20455  {
20456  &kZonePolicyRussiaAsia /*zonePolicy*/,
20457  "" /*format*/,
20458  1200 /*offsetCode (18000/15)*/,
20459  0 /*offsetRemainder (18000%15)*/,
20460  0 /*deltaMinutes*/,
20461  2004 /*untilYear*/,
20462  10 /*untilMonth*/,
20463  31 /*untilDay*/,
20464  480 /*untilTimeCode (7200/15)*/,
20465  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20466  },
20467  // 6:00 - %z 2024 Mar 1 0:00
20468  {
20469  nullptr /*zonePolicy*/,
20470  "" /*format*/,
20471  1440 /*offsetCode (21600/15)*/,
20472  0 /*offsetRemainder (21600%15)*/,
20473  0 /*deltaMinutes*/,
20474  2024 /*untilYear*/,
20475  3 /*untilMonth*/,
20476  1 /*untilDay*/,
20477  0 /*untilTimeCode (0/15)*/,
20478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20479  },
20480  // 5:00 - %z
20481  {
20482  nullptr /*zonePolicy*/,
20483  "" /*format*/,
20484  1200 /*offsetCode (18000/15)*/,
20485  0 /*offsetRemainder (18000%15)*/,
20486  0 /*deltaMinutes*/,
20487  32767 /*untilYear*/,
20488  1 /*untilMonth*/,
20489  1 /*untilDay*/,
20490  0 /*untilTimeCode (0/15)*/,
20491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20492  },
20493 
20494 };
20495 
20496 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "\x05" "Qostanay";
20497 
20498 const complete::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
20499  kZoneNameAsia_Qostanay /*name*/,
20500  0x654fe522 /*zoneId*/,
20501  &kZoneContext /*zoneContext*/,
20502  10 /*numEras*/,
20503  kZoneEraAsia_Qostanay /*eras*/,
20504  nullptr /*targetInfo*/,
20505 };
20506 
20507 //---------------------------------------------------------------------------
20508 // Zone name: Asia/Qyzylorda
20509 // Eras: 12
20510 //---------------------------------------------------------------------------
20511 
20512 static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
20513  // 4:21:52 - LMT 1924 May 2
20514  {
20515  nullptr /*zonePolicy*/,
20516  "LMT" /*format*/,
20517  1047 /*offsetCode (15712/15)*/,
20518  7 /*offsetRemainder (15712%15)*/,
20519  0 /*deltaMinutes*/,
20520  1924 /*untilYear*/,
20521  5 /*untilMonth*/,
20522  2 /*untilDay*/,
20523  0 /*untilTimeCode (0/15)*/,
20524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20525  },
20526  // 4:00 - %z 1930 Jun 21
20527  {
20528  nullptr /*zonePolicy*/,
20529  "" /*format*/,
20530  960 /*offsetCode (14400/15)*/,
20531  0 /*offsetRemainder (14400%15)*/,
20532  0 /*deltaMinutes*/,
20533  1930 /*untilYear*/,
20534  6 /*untilMonth*/,
20535  21 /*untilDay*/,
20536  0 /*untilTimeCode (0/15)*/,
20537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20538  },
20539  // 5:00 - %z 1981 Apr 1
20540  {
20541  nullptr /*zonePolicy*/,
20542  "" /*format*/,
20543  1200 /*offsetCode (18000/15)*/,
20544  0 /*offsetRemainder (18000%15)*/,
20545  0 /*deltaMinutes*/,
20546  1981 /*untilYear*/,
20547  4 /*untilMonth*/,
20548  1 /*untilDay*/,
20549  0 /*untilTimeCode (0/15)*/,
20550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20551  },
20552  // 5:00 1:00 %z 1981 Oct 1
20553  {
20554  nullptr /*zonePolicy*/,
20555  "" /*format*/,
20556  1200 /*offsetCode (18000/15)*/,
20557  0 /*offsetRemainder (18000%15)*/,
20558  60 /*deltaMinutes*/,
20559  1981 /*untilYear*/,
20560  10 /*untilMonth*/,
20561  1 /*untilDay*/,
20562  0 /*untilTimeCode (0/15)*/,
20563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20564  },
20565  // 6:00 - %z 1982 Apr 1
20566  {
20567  nullptr /*zonePolicy*/,
20568  "" /*format*/,
20569  1440 /*offsetCode (21600/15)*/,
20570  0 /*offsetRemainder (21600%15)*/,
20571  0 /*deltaMinutes*/,
20572  1982 /*untilYear*/,
20573  4 /*untilMonth*/,
20574  1 /*untilDay*/,
20575  0 /*untilTimeCode (0/15)*/,
20576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20577  },
20578  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20579  {
20580  &kZonePolicyRussiaAsia /*zonePolicy*/,
20581  "" /*format*/,
20582  1200 /*offsetCode (18000/15)*/,
20583  0 /*offsetRemainder (18000%15)*/,
20584  0 /*deltaMinutes*/,
20585  1991 /*untilYear*/,
20586  3 /*untilMonth*/,
20587  31 /*untilDay*/,
20588  480 /*untilTimeCode (7200/15)*/,
20589  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20590  },
20591  // 4:00 RussiaAsia %z 1991 Sep 29 2:00s
20592  {
20593  &kZonePolicyRussiaAsia /*zonePolicy*/,
20594  "" /*format*/,
20595  960 /*offsetCode (14400/15)*/,
20596  0 /*offsetRemainder (14400%15)*/,
20597  0 /*deltaMinutes*/,
20598  1991 /*untilYear*/,
20599  9 /*untilMonth*/,
20600  29 /*untilDay*/,
20601  480 /*untilTimeCode (7200/15)*/,
20602  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20603  },
20604  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
20605  {
20606  &kZonePolicyRussiaAsia /*zonePolicy*/,
20607  "" /*format*/,
20608  1200 /*offsetCode (18000/15)*/,
20609  0 /*offsetRemainder (18000%15)*/,
20610  0 /*deltaMinutes*/,
20611  1992 /*untilYear*/,
20612  1 /*untilMonth*/,
20613  19 /*untilDay*/,
20614  480 /*untilTimeCode (7200/15)*/,
20615  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20616  },
20617  // 6:00 RussiaAsia %z 1992 Mar 29 2:00s
20618  {
20619  &kZonePolicyRussiaAsia /*zonePolicy*/,
20620  "" /*format*/,
20621  1440 /*offsetCode (21600/15)*/,
20622  0 /*offsetRemainder (21600%15)*/,
20623  0 /*deltaMinutes*/,
20624  1992 /*untilYear*/,
20625  3 /*untilMonth*/,
20626  29 /*untilDay*/,
20627  480 /*untilTimeCode (7200/15)*/,
20628  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20629  },
20630  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20631  {
20632  &kZonePolicyRussiaAsia /*zonePolicy*/,
20633  "" /*format*/,
20634  1200 /*offsetCode (18000/15)*/,
20635  0 /*offsetRemainder (18000%15)*/,
20636  0 /*deltaMinutes*/,
20637  2004 /*untilYear*/,
20638  10 /*untilMonth*/,
20639  31 /*untilDay*/,
20640  480 /*untilTimeCode (7200/15)*/,
20641  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20642  },
20643  // 6:00 - %z 2018 Dec 21 0:00
20644  {
20645  nullptr /*zonePolicy*/,
20646  "" /*format*/,
20647  1440 /*offsetCode (21600/15)*/,
20648  0 /*offsetRemainder (21600%15)*/,
20649  0 /*deltaMinutes*/,
20650  2018 /*untilYear*/,
20651  12 /*untilMonth*/,
20652  21 /*untilDay*/,
20653  0 /*untilTimeCode (0/15)*/,
20654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20655  },
20656  // 5:00 - %z
20657  {
20658  nullptr /*zonePolicy*/,
20659  "" /*format*/,
20660  1200 /*offsetCode (18000/15)*/,
20661  0 /*offsetRemainder (18000%15)*/,
20662  0 /*deltaMinutes*/,
20663  32767 /*untilYear*/,
20664  1 /*untilMonth*/,
20665  1 /*untilDay*/,
20666  0 /*untilTimeCode (0/15)*/,
20667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20668  },
20669 
20670 };
20671 
20672 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "\x05" "Qyzylorda";
20673 
20674 const complete::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
20675  kZoneNameAsia_Qyzylorda /*name*/,
20676  0x71282e81 /*zoneId*/,
20677  &kZoneContext /*zoneContext*/,
20678  12 /*numEras*/,
20679  kZoneEraAsia_Qyzylorda /*eras*/,
20680  nullptr /*targetInfo*/,
20681 };
20682 
20683 //---------------------------------------------------------------------------
20684 // Zone name: Asia/Riyadh
20685 // Eras: 2
20686 //---------------------------------------------------------------------------
20687 
20688 static const complete::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
20689  // 3:06:52 - LMT 1947 Mar 14
20690  {
20691  nullptr /*zonePolicy*/,
20692  "LMT" /*format*/,
20693  747 /*offsetCode (11212/15)*/,
20694  7 /*offsetRemainder (11212%15)*/,
20695  0 /*deltaMinutes*/,
20696  1947 /*untilYear*/,
20697  3 /*untilMonth*/,
20698  14 /*untilDay*/,
20699  0 /*untilTimeCode (0/15)*/,
20700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20701  },
20702  // 3:00 - %z
20703  {
20704  nullptr /*zonePolicy*/,
20705  "" /*format*/,
20706  720 /*offsetCode (10800/15)*/,
20707  0 /*offsetRemainder (10800%15)*/,
20708  0 /*deltaMinutes*/,
20709  32767 /*untilYear*/,
20710  1 /*untilMonth*/,
20711  1 /*untilDay*/,
20712  0 /*untilTimeCode (0/15)*/,
20713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20714  },
20715 
20716 };
20717 
20718 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x05" "Riyadh";
20719 
20720 const complete::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
20721  kZoneNameAsia_Riyadh /*name*/,
20722  0xcd973d93 /*zoneId*/,
20723  &kZoneContext /*zoneContext*/,
20724  2 /*numEras*/,
20725  kZoneEraAsia_Riyadh /*eras*/,
20726  nullptr /*targetInfo*/,
20727 };
20728 
20729 //---------------------------------------------------------------------------
20730 // Zone name: Asia/Sakhalin
20731 // Eras: 9
20732 //---------------------------------------------------------------------------
20733 
20734 static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
20735  // 9:30:48 - LMT 1905 Aug 23
20736  {
20737  nullptr /*zonePolicy*/,
20738  "LMT" /*format*/,
20739  2283 /*offsetCode (34248/15)*/,
20740  3 /*offsetRemainder (34248%15)*/,
20741  0 /*deltaMinutes*/,
20742  1905 /*untilYear*/,
20743  8 /*untilMonth*/,
20744  23 /*untilDay*/,
20745  0 /*untilTimeCode (0/15)*/,
20746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20747  },
20748  // 9:00 - %z 1945 Aug 25
20749  {
20750  nullptr /*zonePolicy*/,
20751  "" /*format*/,
20752  2160 /*offsetCode (32400/15)*/,
20753  0 /*offsetRemainder (32400%15)*/,
20754  0 /*deltaMinutes*/,
20755  1945 /*untilYear*/,
20756  8 /*untilMonth*/,
20757  25 /*untilDay*/,
20758  0 /*untilTimeCode (0/15)*/,
20759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20760  },
20761  // 11:00 Russia %z 1991 Mar 31 2:00s
20762  {
20763  &kZonePolicyRussia /*zonePolicy*/,
20764  "" /*format*/,
20765  2640 /*offsetCode (39600/15)*/,
20766  0 /*offsetRemainder (39600%15)*/,
20767  0 /*deltaMinutes*/,
20768  1991 /*untilYear*/,
20769  3 /*untilMonth*/,
20770  31 /*untilDay*/,
20771  480 /*untilTimeCode (7200/15)*/,
20772  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20773  },
20774  // 10:00 Russia %z 1992 Jan 19 2:00s
20775  {
20776  &kZonePolicyRussia /*zonePolicy*/,
20777  "" /*format*/,
20778  2400 /*offsetCode (36000/15)*/,
20779  0 /*offsetRemainder (36000%15)*/,
20780  0 /*deltaMinutes*/,
20781  1992 /*untilYear*/,
20782  1 /*untilMonth*/,
20783  19 /*untilDay*/,
20784  480 /*untilTimeCode (7200/15)*/,
20785  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20786  },
20787  // 11:00 Russia %z 1997 Mar lastSun 2:00s
20788  {
20789  &kZonePolicyRussia /*zonePolicy*/,
20790  "" /*format*/,
20791  2640 /*offsetCode (39600/15)*/,
20792  0 /*offsetRemainder (39600%15)*/,
20793  0 /*deltaMinutes*/,
20794  1997 /*untilYear*/,
20795  3 /*untilMonth*/,
20796  30 /*untilDay*/,
20797  480 /*untilTimeCode (7200/15)*/,
20798  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20799  },
20800  // 10:00 Russia %z 2011 Mar 27 2:00s
20801  {
20802  &kZonePolicyRussia /*zonePolicy*/,
20803  "" /*format*/,
20804  2400 /*offsetCode (36000/15)*/,
20805  0 /*offsetRemainder (36000%15)*/,
20806  0 /*deltaMinutes*/,
20807  2011 /*untilYear*/,
20808  3 /*untilMonth*/,
20809  27 /*untilDay*/,
20810  480 /*untilTimeCode (7200/15)*/,
20811  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20812  },
20813  // 11:00 - %z 2014 Oct 26 2:00s
20814  {
20815  nullptr /*zonePolicy*/,
20816  "" /*format*/,
20817  2640 /*offsetCode (39600/15)*/,
20818  0 /*offsetRemainder (39600%15)*/,
20819  0 /*deltaMinutes*/,
20820  2014 /*untilYear*/,
20821  10 /*untilMonth*/,
20822  26 /*untilDay*/,
20823  480 /*untilTimeCode (7200/15)*/,
20824  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20825  },
20826  // 10:00 - %z 2016 Mar 27 2:00s
20827  {
20828  nullptr /*zonePolicy*/,
20829  "" /*format*/,
20830  2400 /*offsetCode (36000/15)*/,
20831  0 /*offsetRemainder (36000%15)*/,
20832  0 /*deltaMinutes*/,
20833  2016 /*untilYear*/,
20834  3 /*untilMonth*/,
20835  27 /*untilDay*/,
20836  480 /*untilTimeCode (7200/15)*/,
20837  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20838  },
20839  // 11:00 - %z
20840  {
20841  nullptr /*zonePolicy*/,
20842  "" /*format*/,
20843  2640 /*offsetCode (39600/15)*/,
20844  0 /*offsetRemainder (39600%15)*/,
20845  0 /*deltaMinutes*/,
20846  32767 /*untilYear*/,
20847  1 /*untilMonth*/,
20848  1 /*untilDay*/,
20849  0 /*untilTimeCode (0/15)*/,
20850  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20851  },
20852 
20853 };
20854 
20855 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "\x05" "Sakhalin";
20856 
20857 const complete::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
20858  kZoneNameAsia_Sakhalin /*name*/,
20859  0xf4a1c9bd /*zoneId*/,
20860  &kZoneContext /*zoneContext*/,
20861  9 /*numEras*/,
20862  kZoneEraAsia_Sakhalin /*eras*/,
20863  nullptr /*targetInfo*/,
20864 };
20865 
20866 //---------------------------------------------------------------------------
20867 // Zone name: Asia/Samarkand
20868 // Eras: 7
20869 //---------------------------------------------------------------------------
20870 
20871 static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
20872  // 4:27:53 - LMT 1924 May 2
20873  {
20874  nullptr /*zonePolicy*/,
20875  "LMT" /*format*/,
20876  1071 /*offsetCode (16073/15)*/,
20877  8 /*offsetRemainder (16073%15)*/,
20878  0 /*deltaMinutes*/,
20879  1924 /*untilYear*/,
20880  5 /*untilMonth*/,
20881  2 /*untilDay*/,
20882  0 /*untilTimeCode (0/15)*/,
20883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20884  },
20885  // 4:00 - %z 1930 Jun 21
20886  {
20887  nullptr /*zonePolicy*/,
20888  "" /*format*/,
20889  960 /*offsetCode (14400/15)*/,
20890  0 /*offsetRemainder (14400%15)*/,
20891  0 /*deltaMinutes*/,
20892  1930 /*untilYear*/,
20893  6 /*untilMonth*/,
20894  21 /*untilDay*/,
20895  0 /*untilTimeCode (0/15)*/,
20896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20897  },
20898  // 5:00 - %z 1981 Apr 1
20899  {
20900  nullptr /*zonePolicy*/,
20901  "" /*format*/,
20902  1200 /*offsetCode (18000/15)*/,
20903  0 /*offsetRemainder (18000%15)*/,
20904  0 /*deltaMinutes*/,
20905  1981 /*untilYear*/,
20906  4 /*untilMonth*/,
20907  1 /*untilDay*/,
20908  0 /*untilTimeCode (0/15)*/,
20909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20910  },
20911  // 5:00 1:00 %z 1981 Oct 1
20912  {
20913  nullptr /*zonePolicy*/,
20914  "" /*format*/,
20915  1200 /*offsetCode (18000/15)*/,
20916  0 /*offsetRemainder (18000%15)*/,
20917  60 /*deltaMinutes*/,
20918  1981 /*untilYear*/,
20919  10 /*untilMonth*/,
20920  1 /*untilDay*/,
20921  0 /*untilTimeCode (0/15)*/,
20922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20923  },
20924  // 6:00 - %z 1982 Apr 1
20925  {
20926  nullptr /*zonePolicy*/,
20927  "" /*format*/,
20928  1440 /*offsetCode (21600/15)*/,
20929  0 /*offsetRemainder (21600%15)*/,
20930  0 /*deltaMinutes*/,
20931  1982 /*untilYear*/,
20932  4 /*untilMonth*/,
20933  1 /*untilDay*/,
20934  0 /*untilTimeCode (0/15)*/,
20935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20936  },
20937  // 5:00 RussiaAsia %z 1992
20938  {
20939  &kZonePolicyRussiaAsia /*zonePolicy*/,
20940  "" /*format*/,
20941  1200 /*offsetCode (18000/15)*/,
20942  0 /*offsetRemainder (18000%15)*/,
20943  0 /*deltaMinutes*/,
20944  1992 /*untilYear*/,
20945  1 /*untilMonth*/,
20946  1 /*untilDay*/,
20947  0 /*untilTimeCode (0/15)*/,
20948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20949  },
20950  // 5:00 - %z
20951  {
20952  nullptr /*zonePolicy*/,
20953  "" /*format*/,
20954  1200 /*offsetCode (18000/15)*/,
20955  0 /*offsetRemainder (18000%15)*/,
20956  0 /*deltaMinutes*/,
20957  32767 /*untilYear*/,
20958  1 /*untilMonth*/,
20959  1 /*untilDay*/,
20960  0 /*untilTimeCode (0/15)*/,
20961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20962  },
20963 
20964 };
20965 
20966 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x05" "Samarkand";
20967 
20968 const complete::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
20969  kZoneNameAsia_Samarkand /*name*/,
20970  0x13ae5104 /*zoneId*/,
20971  &kZoneContext /*zoneContext*/,
20972  7 /*numEras*/,
20973  kZoneEraAsia_Samarkand /*eras*/,
20974  nullptr /*targetInfo*/,
20975 };
20976 
20977 //---------------------------------------------------------------------------
20978 // Zone name: Asia/Seoul
20979 // Eras: 6
20980 //---------------------------------------------------------------------------
20981 
20982 static const complete::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
20983  // 8:27:52 - LMT 1908 Apr 1
20984  {
20985  nullptr /*zonePolicy*/,
20986  "LMT" /*format*/,
20987  2031 /*offsetCode (30472/15)*/,
20988  7 /*offsetRemainder (30472%15)*/,
20989  0 /*deltaMinutes*/,
20990  1908 /*untilYear*/,
20991  4 /*untilMonth*/,
20992  1 /*untilDay*/,
20993  0 /*untilTimeCode (0/15)*/,
20994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20995  },
20996  // 8:30 - KST 1912 Jan 1
20997  {
20998  nullptr /*zonePolicy*/,
20999  "KST" /*format*/,
21000  2040 /*offsetCode (30600/15)*/,
21001  0 /*offsetRemainder (30600%15)*/,
21002  0 /*deltaMinutes*/,
21003  1912 /*untilYear*/,
21004  1 /*untilMonth*/,
21005  1 /*untilDay*/,
21006  0 /*untilTimeCode (0/15)*/,
21007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21008  },
21009  // 9:00 - JST 1945 Sep 8
21010  {
21011  nullptr /*zonePolicy*/,
21012  "JST" /*format*/,
21013  2160 /*offsetCode (32400/15)*/,
21014  0 /*offsetRemainder (32400%15)*/,
21015  0 /*deltaMinutes*/,
21016  1945 /*untilYear*/,
21017  9 /*untilMonth*/,
21018  8 /*untilDay*/,
21019  0 /*untilTimeCode (0/15)*/,
21020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21021  },
21022  // 9:00 ROK K%sT 1954 Mar 21
21023  {
21024  &kZonePolicyROK /*zonePolicy*/,
21025  "K%T" /*format*/,
21026  2160 /*offsetCode (32400/15)*/,
21027  0 /*offsetRemainder (32400%15)*/,
21028  0 /*deltaMinutes*/,
21029  1954 /*untilYear*/,
21030  3 /*untilMonth*/,
21031  21 /*untilDay*/,
21032  0 /*untilTimeCode (0/15)*/,
21033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21034  },
21035  // 8:30 ROK K%sT 1961 Aug 10
21036  {
21037  &kZonePolicyROK /*zonePolicy*/,
21038  "K%T" /*format*/,
21039  2040 /*offsetCode (30600/15)*/,
21040  0 /*offsetRemainder (30600%15)*/,
21041  0 /*deltaMinutes*/,
21042  1961 /*untilYear*/,
21043  8 /*untilMonth*/,
21044  10 /*untilDay*/,
21045  0 /*untilTimeCode (0/15)*/,
21046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21047  },
21048  // 9:00 ROK K%sT
21049  {
21050  &kZonePolicyROK /*zonePolicy*/,
21051  "K%T" /*format*/,
21052  2160 /*offsetCode (32400/15)*/,
21053  0 /*offsetRemainder (32400%15)*/,
21054  0 /*deltaMinutes*/,
21055  32767 /*untilYear*/,
21056  1 /*untilMonth*/,
21057  1 /*untilDay*/,
21058  0 /*untilTimeCode (0/15)*/,
21059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21060  },
21061 
21062 };
21063 
21064 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x05" "Seoul";
21065 
21066 const complete::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
21067  kZoneNameAsia_Seoul /*name*/,
21068  0x15ce82da /*zoneId*/,
21069  &kZoneContext /*zoneContext*/,
21070  6 /*numEras*/,
21071  kZoneEraAsia_Seoul /*eras*/,
21072  nullptr /*targetInfo*/,
21073 };
21074 
21075 //---------------------------------------------------------------------------
21076 // Zone name: Asia/Shanghai
21077 // Eras: 3
21078 //---------------------------------------------------------------------------
21079 
21080 static const complete::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
21081  // 8:05:43 - LMT 1901
21082  {
21083  nullptr /*zonePolicy*/,
21084  "LMT" /*format*/,
21085  1942 /*offsetCode (29143/15)*/,
21086  13 /*offsetRemainder (29143%15)*/,
21087  0 /*deltaMinutes*/,
21088  1901 /*untilYear*/,
21089  1 /*untilMonth*/,
21090  1 /*untilDay*/,
21091  0 /*untilTimeCode (0/15)*/,
21092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21093  },
21094  // 8:00 Shang C%sT 1949 May 28
21095  {
21096  &kZonePolicyShang /*zonePolicy*/,
21097  "C%T" /*format*/,
21098  1920 /*offsetCode (28800/15)*/,
21099  0 /*offsetRemainder (28800%15)*/,
21100  0 /*deltaMinutes*/,
21101  1949 /*untilYear*/,
21102  5 /*untilMonth*/,
21103  28 /*untilDay*/,
21104  0 /*untilTimeCode (0/15)*/,
21105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21106  },
21107  // 8:00 PRC C%sT
21108  {
21109  &kZonePolicyPRC /*zonePolicy*/,
21110  "C%T" /*format*/,
21111  1920 /*offsetCode (28800/15)*/,
21112  0 /*offsetRemainder (28800%15)*/,
21113  0 /*deltaMinutes*/,
21114  32767 /*untilYear*/,
21115  1 /*untilMonth*/,
21116  1 /*untilDay*/,
21117  0 /*untilTimeCode (0/15)*/,
21118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21119  },
21120 
21121 };
21122 
21123 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x05" "Shanghai";
21124 
21125 const complete::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
21126  kZoneNameAsia_Shanghai /*name*/,
21127  0xf895a7f5 /*zoneId*/,
21128  &kZoneContext /*zoneContext*/,
21129  3 /*numEras*/,
21130  kZoneEraAsia_Shanghai /*eras*/,
21131  nullptr /*targetInfo*/,
21132 };
21133 
21134 //---------------------------------------------------------------------------
21135 // Zone name: Asia/Singapore
21136 // Eras: 9
21137 //---------------------------------------------------------------------------
21138 
21139 static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
21140  // 6:55:25 - LMT 1901 Jan 1
21141  {
21142  nullptr /*zonePolicy*/,
21143  "LMT" /*format*/,
21144  1661 /*offsetCode (24925/15)*/,
21145  10 /*offsetRemainder (24925%15)*/,
21146  0 /*deltaMinutes*/,
21147  1901 /*untilYear*/,
21148  1 /*untilMonth*/,
21149  1 /*untilDay*/,
21150  0 /*untilTimeCode (0/15)*/,
21151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21152  },
21153  // 6:55:25 - SMT 1905 Jun 1
21154  {
21155  nullptr /*zonePolicy*/,
21156  "SMT" /*format*/,
21157  1661 /*offsetCode (24925/15)*/,
21158  10 /*offsetRemainder (24925%15)*/,
21159  0 /*deltaMinutes*/,
21160  1905 /*untilYear*/,
21161  6 /*untilMonth*/,
21162  1 /*untilDay*/,
21163  0 /*untilTimeCode (0/15)*/,
21164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21165  },
21166  // 7:00 - %z 1933 Jan 1
21167  {
21168  nullptr /*zonePolicy*/,
21169  "" /*format*/,
21170  1680 /*offsetCode (25200/15)*/,
21171  0 /*offsetRemainder (25200%15)*/,
21172  0 /*deltaMinutes*/,
21173  1933 /*untilYear*/,
21174  1 /*untilMonth*/,
21175  1 /*untilDay*/,
21176  0 /*untilTimeCode (0/15)*/,
21177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21178  },
21179  // 7:00 0:20 %z 1936 Jan 1
21180  {
21181  nullptr /*zonePolicy*/,
21182  "" /*format*/,
21183  1680 /*offsetCode (25200/15)*/,
21184  0 /*offsetRemainder (25200%15)*/,
21185  20 /*deltaMinutes*/,
21186  1936 /*untilYear*/,
21187  1 /*untilMonth*/,
21188  1 /*untilDay*/,
21189  0 /*untilTimeCode (0/15)*/,
21190  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21191  },
21192  // 7:20 - %z 1941 Sep 1
21193  {
21194  nullptr /*zonePolicy*/,
21195  "" /*format*/,
21196  1760 /*offsetCode (26400/15)*/,
21197  0 /*offsetRemainder (26400%15)*/,
21198  0 /*deltaMinutes*/,
21199  1941 /*untilYear*/,
21200  9 /*untilMonth*/,
21201  1 /*untilDay*/,
21202  0 /*untilTimeCode (0/15)*/,
21203  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21204  },
21205  // 7:30 - %z 1942 Feb 16
21206  {
21207  nullptr /*zonePolicy*/,
21208  "" /*format*/,
21209  1800 /*offsetCode (27000/15)*/,
21210  0 /*offsetRemainder (27000%15)*/,
21211  0 /*deltaMinutes*/,
21212  1942 /*untilYear*/,
21213  2 /*untilMonth*/,
21214  16 /*untilDay*/,
21215  0 /*untilTimeCode (0/15)*/,
21216  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21217  },
21218  // 9:00 - %z 1945 Sep 12
21219  {
21220  nullptr /*zonePolicy*/,
21221  "" /*format*/,
21222  2160 /*offsetCode (32400/15)*/,
21223  0 /*offsetRemainder (32400%15)*/,
21224  0 /*deltaMinutes*/,
21225  1945 /*untilYear*/,
21226  9 /*untilMonth*/,
21227  12 /*untilDay*/,
21228  0 /*untilTimeCode (0/15)*/,
21229  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21230  },
21231  // 7:30 - %z 1981 Dec 31 16:00u
21232  {
21233  nullptr /*zonePolicy*/,
21234  "" /*format*/,
21235  1800 /*offsetCode (27000/15)*/,
21236  0 /*offsetRemainder (27000%15)*/,
21237  0 /*deltaMinutes*/,
21238  1981 /*untilYear*/,
21239  12 /*untilMonth*/,
21240  31 /*untilDay*/,
21241  3840 /*untilTimeCode (57600/15)*/,
21242  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21243  },
21244  // 8:00 - %z
21245  {
21246  nullptr /*zonePolicy*/,
21247  "" /*format*/,
21248  1920 /*offsetCode (28800/15)*/,
21249  0 /*offsetRemainder (28800%15)*/,
21250  0 /*deltaMinutes*/,
21251  32767 /*untilYear*/,
21252  1 /*untilMonth*/,
21253  1 /*untilDay*/,
21254  0 /*untilTimeCode (0/15)*/,
21255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21256  },
21257 
21258 };
21259 
21260 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x05" "Singapore";
21261 
21262 const complete::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
21263  kZoneNameAsia_Singapore /*name*/,
21264  0xcf8581fa /*zoneId*/,
21265  &kZoneContext /*zoneContext*/,
21266  9 /*numEras*/,
21267  kZoneEraAsia_Singapore /*eras*/,
21268  nullptr /*targetInfo*/,
21269 };
21270 
21271 //---------------------------------------------------------------------------
21272 // Zone name: Asia/Srednekolymsk
21273 // Eras: 7
21274 //---------------------------------------------------------------------------
21275 
21276 static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
21277  // 10:14:52 - LMT 1924 May 2
21278  {
21279  nullptr /*zonePolicy*/,
21280  "LMT" /*format*/,
21281  2459 /*offsetCode (36892/15)*/,
21282  7 /*offsetRemainder (36892%15)*/,
21283  0 /*deltaMinutes*/,
21284  1924 /*untilYear*/,
21285  5 /*untilMonth*/,
21286  2 /*untilDay*/,
21287  0 /*untilTimeCode (0/15)*/,
21288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21289  },
21290  // 10:00 - %z 1930 Jun 21
21291  {
21292  nullptr /*zonePolicy*/,
21293  "" /*format*/,
21294  2400 /*offsetCode (36000/15)*/,
21295  0 /*offsetRemainder (36000%15)*/,
21296  0 /*deltaMinutes*/,
21297  1930 /*untilYear*/,
21298  6 /*untilMonth*/,
21299  21 /*untilDay*/,
21300  0 /*untilTimeCode (0/15)*/,
21301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21302  },
21303  // 11:00 Russia %z 1991 Mar 31 2:00s
21304  {
21305  &kZonePolicyRussia /*zonePolicy*/,
21306  "" /*format*/,
21307  2640 /*offsetCode (39600/15)*/,
21308  0 /*offsetRemainder (39600%15)*/,
21309  0 /*deltaMinutes*/,
21310  1991 /*untilYear*/,
21311  3 /*untilMonth*/,
21312  31 /*untilDay*/,
21313  480 /*untilTimeCode (7200/15)*/,
21314  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21315  },
21316  // 10:00 Russia %z 1992 Jan 19 2:00s
21317  {
21318  &kZonePolicyRussia /*zonePolicy*/,
21319  "" /*format*/,
21320  2400 /*offsetCode (36000/15)*/,
21321  0 /*offsetRemainder (36000%15)*/,
21322  0 /*deltaMinutes*/,
21323  1992 /*untilYear*/,
21324  1 /*untilMonth*/,
21325  19 /*untilDay*/,
21326  480 /*untilTimeCode (7200/15)*/,
21327  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21328  },
21329  // 11:00 Russia %z 2011 Mar 27 2:00s
21330  {
21331  &kZonePolicyRussia /*zonePolicy*/,
21332  "" /*format*/,
21333  2640 /*offsetCode (39600/15)*/,
21334  0 /*offsetRemainder (39600%15)*/,
21335  0 /*deltaMinutes*/,
21336  2011 /*untilYear*/,
21337  3 /*untilMonth*/,
21338  27 /*untilDay*/,
21339  480 /*untilTimeCode (7200/15)*/,
21340  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21341  },
21342  // 12:00 - %z 2014 Oct 26 2:00s
21343  {
21344  nullptr /*zonePolicy*/,
21345  "" /*format*/,
21346  2880 /*offsetCode (43200/15)*/,
21347  0 /*offsetRemainder (43200%15)*/,
21348  0 /*deltaMinutes*/,
21349  2014 /*untilYear*/,
21350  10 /*untilMonth*/,
21351  26 /*untilDay*/,
21352  480 /*untilTimeCode (7200/15)*/,
21353  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21354  },
21355  // 11:00 - %z
21356  {
21357  nullptr /*zonePolicy*/,
21358  "" /*format*/,
21359  2640 /*offsetCode (39600/15)*/,
21360  0 /*offsetRemainder (39600%15)*/,
21361  0 /*deltaMinutes*/,
21362  32767 /*untilYear*/,
21363  1 /*untilMonth*/,
21364  1 /*untilDay*/,
21365  0 /*untilTimeCode (0/15)*/,
21366  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21367  },
21368 
21369 };
21370 
21371 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "\x05" "Srednekolymsk";
21372 
21373 const complete::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
21374  kZoneNameAsia_Srednekolymsk /*name*/,
21375  0xbf8e337d /*zoneId*/,
21376  &kZoneContext /*zoneContext*/,
21377  7 /*numEras*/,
21378  kZoneEraAsia_Srednekolymsk /*eras*/,
21379  nullptr /*targetInfo*/,
21380 };
21381 
21382 //---------------------------------------------------------------------------
21383 // Zone name: Asia/Taipei
21384 // Eras: 4
21385 //---------------------------------------------------------------------------
21386 
21387 static const complete::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
21388  // 8:06:00 - LMT 1896 Jan 1
21389  {
21390  nullptr /*zonePolicy*/,
21391  "LMT" /*format*/,
21392  1944 /*offsetCode (29160/15)*/,
21393  0 /*offsetRemainder (29160%15)*/,
21394  0 /*deltaMinutes*/,
21395  1896 /*untilYear*/,
21396  1 /*untilMonth*/,
21397  1 /*untilDay*/,
21398  0 /*untilTimeCode (0/15)*/,
21399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21400  },
21401  // 8:00 - CST 1937 Oct 1
21402  {
21403  nullptr /*zonePolicy*/,
21404  "CST" /*format*/,
21405  1920 /*offsetCode (28800/15)*/,
21406  0 /*offsetRemainder (28800%15)*/,
21407  0 /*deltaMinutes*/,
21408  1937 /*untilYear*/,
21409  10 /*untilMonth*/,
21410  1 /*untilDay*/,
21411  0 /*untilTimeCode (0/15)*/,
21412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21413  },
21414  // 9:00 - JST 1945 Sep 21 1:00
21415  {
21416  nullptr /*zonePolicy*/,
21417  "JST" /*format*/,
21418  2160 /*offsetCode (32400/15)*/,
21419  0 /*offsetRemainder (32400%15)*/,
21420  0 /*deltaMinutes*/,
21421  1945 /*untilYear*/,
21422  9 /*untilMonth*/,
21423  21 /*untilDay*/,
21424  240 /*untilTimeCode (3600/15)*/,
21425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21426  },
21427  // 8:00 Taiwan C%sT
21428  {
21429  &kZonePolicyTaiwan /*zonePolicy*/,
21430  "C%T" /*format*/,
21431  1920 /*offsetCode (28800/15)*/,
21432  0 /*offsetRemainder (28800%15)*/,
21433  0 /*deltaMinutes*/,
21434  32767 /*untilYear*/,
21435  1 /*untilMonth*/,
21436  1 /*untilDay*/,
21437  0 /*untilTimeCode (0/15)*/,
21438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21439  },
21440 
21441 };
21442 
21443 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x05" "Taipei";
21444 
21445 const complete::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
21446  kZoneNameAsia_Taipei /*name*/,
21447  0xd1a844ae /*zoneId*/,
21448  &kZoneContext /*zoneContext*/,
21449  4 /*numEras*/,
21450  kZoneEraAsia_Taipei /*eras*/,
21451  nullptr /*targetInfo*/,
21452 };
21453 
21454 //---------------------------------------------------------------------------
21455 // Zone name: Asia/Tashkent
21456 // Eras: 5
21457 //---------------------------------------------------------------------------
21458 
21459 static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
21460  // 4:37:11 - LMT 1924 May 2
21461  {
21462  nullptr /*zonePolicy*/,
21463  "LMT" /*format*/,
21464  1108 /*offsetCode (16631/15)*/,
21465  11 /*offsetRemainder (16631%15)*/,
21466  0 /*deltaMinutes*/,
21467  1924 /*untilYear*/,
21468  5 /*untilMonth*/,
21469  2 /*untilDay*/,
21470  0 /*untilTimeCode (0/15)*/,
21471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21472  },
21473  // 5:00 - %z 1930 Jun 21
21474  {
21475  nullptr /*zonePolicy*/,
21476  "" /*format*/,
21477  1200 /*offsetCode (18000/15)*/,
21478  0 /*offsetRemainder (18000%15)*/,
21479  0 /*deltaMinutes*/,
21480  1930 /*untilYear*/,
21481  6 /*untilMonth*/,
21482  21 /*untilDay*/,
21483  0 /*untilTimeCode (0/15)*/,
21484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21485  },
21486  // 6:00 RussiaAsia %z 1991 Mar 31 2:00
21487  {
21488  &kZonePolicyRussiaAsia /*zonePolicy*/,
21489  "" /*format*/,
21490  1440 /*offsetCode (21600/15)*/,
21491  0 /*offsetRemainder (21600%15)*/,
21492  0 /*deltaMinutes*/,
21493  1991 /*untilYear*/,
21494  3 /*untilMonth*/,
21495  31 /*untilDay*/,
21496  480 /*untilTimeCode (7200/15)*/,
21497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21498  },
21499  // 5:00 RussiaAsia %z 1992
21500  {
21501  &kZonePolicyRussiaAsia /*zonePolicy*/,
21502  "" /*format*/,
21503  1200 /*offsetCode (18000/15)*/,
21504  0 /*offsetRemainder (18000%15)*/,
21505  0 /*deltaMinutes*/,
21506  1992 /*untilYear*/,
21507  1 /*untilMonth*/,
21508  1 /*untilDay*/,
21509  0 /*untilTimeCode (0/15)*/,
21510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21511  },
21512  // 5:00 - %z
21513  {
21514  nullptr /*zonePolicy*/,
21515  "" /*format*/,
21516  1200 /*offsetCode (18000/15)*/,
21517  0 /*offsetRemainder (18000%15)*/,
21518  0 /*deltaMinutes*/,
21519  32767 /*untilYear*/,
21520  1 /*untilMonth*/,
21521  1 /*untilDay*/,
21522  0 /*untilTimeCode (0/15)*/,
21523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21524  },
21525 
21526 };
21527 
21528 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x05" "Tashkent";
21529 
21530 const complete::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
21531  kZoneNameAsia_Tashkent /*name*/,
21532  0xf3924254 /*zoneId*/,
21533  &kZoneContext /*zoneContext*/,
21534  5 /*numEras*/,
21535  kZoneEraAsia_Tashkent /*eras*/,
21536  nullptr /*targetInfo*/,
21537 };
21538 
21539 //---------------------------------------------------------------------------
21540 // Zone name: Asia/Tbilisi
21541 // Eras: 11
21542 //---------------------------------------------------------------------------
21543 
21544 static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
21545  // 2:59:11 - LMT 1880
21546  {
21547  nullptr /*zonePolicy*/,
21548  "LMT" /*format*/,
21549  716 /*offsetCode (10751/15)*/,
21550  11 /*offsetRemainder (10751%15)*/,
21551  0 /*deltaMinutes*/,
21552  1880 /*untilYear*/,
21553  1 /*untilMonth*/,
21554  1 /*untilDay*/,
21555  0 /*untilTimeCode (0/15)*/,
21556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21557  },
21558  // 2:59:11 - TBMT 1924 May 2
21559  {
21560  nullptr /*zonePolicy*/,
21561  "TBMT" /*format*/,
21562  716 /*offsetCode (10751/15)*/,
21563  11 /*offsetRemainder (10751%15)*/,
21564  0 /*deltaMinutes*/,
21565  1924 /*untilYear*/,
21566  5 /*untilMonth*/,
21567  2 /*untilDay*/,
21568  0 /*untilTimeCode (0/15)*/,
21569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21570  },
21571  // 3:00 - %z 1957 Mar
21572  {
21573  nullptr /*zonePolicy*/,
21574  "" /*format*/,
21575  720 /*offsetCode (10800/15)*/,
21576  0 /*offsetRemainder (10800%15)*/,
21577  0 /*deltaMinutes*/,
21578  1957 /*untilYear*/,
21579  3 /*untilMonth*/,
21580  1 /*untilDay*/,
21581  0 /*untilTimeCode (0/15)*/,
21582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21583  },
21584  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
21585  {
21586  &kZonePolicyRussiaAsia /*zonePolicy*/,
21587  "" /*format*/,
21588  960 /*offsetCode (14400/15)*/,
21589  0 /*offsetRemainder (14400%15)*/,
21590  0 /*deltaMinutes*/,
21591  1991 /*untilYear*/,
21592  3 /*untilMonth*/,
21593  31 /*untilDay*/,
21594  480 /*untilTimeCode (7200/15)*/,
21595  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21596  },
21597  // 3:00 RussiaAsia %z 1992
21598  {
21599  &kZonePolicyRussiaAsia /*zonePolicy*/,
21600  "" /*format*/,
21601  720 /*offsetCode (10800/15)*/,
21602  0 /*offsetRemainder (10800%15)*/,
21603  0 /*deltaMinutes*/,
21604  1992 /*untilYear*/,
21605  1 /*untilMonth*/,
21606  1 /*untilDay*/,
21607  0 /*untilTimeCode (0/15)*/,
21608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21609  },
21610  // 3:00 E-EurAsia %z 1994 Sep lastSun
21611  {
21612  &kZonePolicyE_EurAsia /*zonePolicy*/,
21613  "" /*format*/,
21614  720 /*offsetCode (10800/15)*/,
21615  0 /*offsetRemainder (10800%15)*/,
21616  0 /*deltaMinutes*/,
21617  1994 /*untilYear*/,
21618  9 /*untilMonth*/,
21619  25 /*untilDay*/,
21620  0 /*untilTimeCode (0/15)*/,
21621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21622  },
21623  // 4:00 E-EurAsia %z 1996 Oct lastSun
21624  {
21625  &kZonePolicyE_EurAsia /*zonePolicy*/,
21626  "" /*format*/,
21627  960 /*offsetCode (14400/15)*/,
21628  0 /*offsetRemainder (14400%15)*/,
21629  0 /*deltaMinutes*/,
21630  1996 /*untilYear*/,
21631  10 /*untilMonth*/,
21632  27 /*untilDay*/,
21633  0 /*untilTimeCode (0/15)*/,
21634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21635  },
21636  // 4:00 1:00 %z 1997 Mar lastSun
21637  {
21638  nullptr /*zonePolicy*/,
21639  "" /*format*/,
21640  960 /*offsetCode (14400/15)*/,
21641  0 /*offsetRemainder (14400%15)*/,
21642  60 /*deltaMinutes*/,
21643  1997 /*untilYear*/,
21644  3 /*untilMonth*/,
21645  30 /*untilDay*/,
21646  0 /*untilTimeCode (0/15)*/,
21647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21648  },
21649  // 4:00 E-EurAsia %z 2004 Jun 27
21650  {
21651  &kZonePolicyE_EurAsia /*zonePolicy*/,
21652  "" /*format*/,
21653  960 /*offsetCode (14400/15)*/,
21654  0 /*offsetRemainder (14400%15)*/,
21655  0 /*deltaMinutes*/,
21656  2004 /*untilYear*/,
21657  6 /*untilMonth*/,
21658  27 /*untilDay*/,
21659  0 /*untilTimeCode (0/15)*/,
21660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21661  },
21662  // 3:00 RussiaAsia %z 2005 Mar lastSun 2:00
21663  {
21664  &kZonePolicyRussiaAsia /*zonePolicy*/,
21665  "" /*format*/,
21666  720 /*offsetCode (10800/15)*/,
21667  0 /*offsetRemainder (10800%15)*/,
21668  0 /*deltaMinutes*/,
21669  2005 /*untilYear*/,
21670  3 /*untilMonth*/,
21671  27 /*untilDay*/,
21672  480 /*untilTimeCode (7200/15)*/,
21673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21674  },
21675  // 4:00 - %z
21676  {
21677  nullptr /*zonePolicy*/,
21678  "" /*format*/,
21679  960 /*offsetCode (14400/15)*/,
21680  0 /*offsetRemainder (14400%15)*/,
21681  0 /*deltaMinutes*/,
21682  32767 /*untilYear*/,
21683  1 /*untilMonth*/,
21684  1 /*untilDay*/,
21685  0 /*untilTimeCode (0/15)*/,
21686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21687  },
21688 
21689 };
21690 
21691 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "\x05" "Tbilisi";
21692 
21693 const complete::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
21694  kZoneNameAsia_Tbilisi /*name*/,
21695  0x0903e442 /*zoneId*/,
21696  &kZoneContext /*zoneContext*/,
21697  11 /*numEras*/,
21698  kZoneEraAsia_Tbilisi /*eras*/,
21699  nullptr /*targetInfo*/,
21700 };
21701 
21702 //---------------------------------------------------------------------------
21703 // Zone name: Asia/Tehran
21704 // Eras: 5
21705 //---------------------------------------------------------------------------
21706 
21707 static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
21708  // 3:25:44 - LMT 1916
21709  {
21710  nullptr /*zonePolicy*/,
21711  "LMT" /*format*/,
21712  822 /*offsetCode (12344/15)*/,
21713  14 /*offsetRemainder (12344%15)*/,
21714  0 /*deltaMinutes*/,
21715  1916 /*untilYear*/,
21716  1 /*untilMonth*/,
21717  1 /*untilDay*/,
21718  0 /*untilTimeCode (0/15)*/,
21719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21720  },
21721  // 3:25:44 - TMT 1935 Jun 13
21722  {
21723  nullptr /*zonePolicy*/,
21724  "TMT" /*format*/,
21725  822 /*offsetCode (12344/15)*/,
21726  14 /*offsetRemainder (12344%15)*/,
21727  0 /*deltaMinutes*/,
21728  1935 /*untilYear*/,
21729  6 /*untilMonth*/,
21730  13 /*untilDay*/,
21731  0 /*untilTimeCode (0/15)*/,
21732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21733  },
21734  // 3:30 Iran %z 1977 Oct 20 24:00
21735  {
21736  &kZonePolicyIran /*zonePolicy*/,
21737  "" /*format*/,
21738  840 /*offsetCode (12600/15)*/,
21739  0 /*offsetRemainder (12600%15)*/,
21740  0 /*deltaMinutes*/,
21741  1977 /*untilYear*/,
21742  10 /*untilMonth*/,
21743  20 /*untilDay*/,
21744  5760 /*untilTimeCode (86400/15)*/,
21745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21746  },
21747  // 4:00 Iran %z 1979
21748  {
21749  &kZonePolicyIran /*zonePolicy*/,
21750  "" /*format*/,
21751  960 /*offsetCode (14400/15)*/,
21752  0 /*offsetRemainder (14400%15)*/,
21753  0 /*deltaMinutes*/,
21754  1979 /*untilYear*/,
21755  1 /*untilMonth*/,
21756  1 /*untilDay*/,
21757  0 /*untilTimeCode (0/15)*/,
21758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21759  },
21760  // 3:30 Iran %z
21761  {
21762  &kZonePolicyIran /*zonePolicy*/,
21763  "" /*format*/,
21764  840 /*offsetCode (12600/15)*/,
21765  0 /*offsetRemainder (12600%15)*/,
21766  0 /*deltaMinutes*/,
21767  32767 /*untilYear*/,
21768  1 /*untilMonth*/,
21769  1 /*untilDay*/,
21770  0 /*untilTimeCode (0/15)*/,
21771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21772  },
21773 
21774 };
21775 
21776 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x05" "Tehran";
21777 
21778 const complete::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
21779  kZoneNameAsia_Tehran /*name*/,
21780  0xd1f02254 /*zoneId*/,
21781  &kZoneContext /*zoneContext*/,
21782  5 /*numEras*/,
21783  kZoneEraAsia_Tehran /*eras*/,
21784  nullptr /*targetInfo*/,
21785 };
21786 
21787 //---------------------------------------------------------------------------
21788 // Zone name: Asia/Thimphu
21789 // Eras: 3
21790 //---------------------------------------------------------------------------
21791 
21792 static const complete::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
21793  // 5:58:36 - LMT 1947 Aug 15
21794  {
21795  nullptr /*zonePolicy*/,
21796  "LMT" /*format*/,
21797  1434 /*offsetCode (21516/15)*/,
21798  6 /*offsetRemainder (21516%15)*/,
21799  0 /*deltaMinutes*/,
21800  1947 /*untilYear*/,
21801  8 /*untilMonth*/,
21802  15 /*untilDay*/,
21803  0 /*untilTimeCode (0/15)*/,
21804  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21805  },
21806  // 5:30 - %z 1987 Oct
21807  {
21808  nullptr /*zonePolicy*/,
21809  "" /*format*/,
21810  1320 /*offsetCode (19800/15)*/,
21811  0 /*offsetRemainder (19800%15)*/,
21812  0 /*deltaMinutes*/,
21813  1987 /*untilYear*/,
21814  10 /*untilMonth*/,
21815  1 /*untilDay*/,
21816  0 /*untilTimeCode (0/15)*/,
21817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21818  },
21819  // 6:00 - %z
21820  {
21821  nullptr /*zonePolicy*/,
21822  "" /*format*/,
21823  1440 /*offsetCode (21600/15)*/,
21824  0 /*offsetRemainder (21600%15)*/,
21825  0 /*deltaMinutes*/,
21826  32767 /*untilYear*/,
21827  1 /*untilMonth*/,
21828  1 /*untilDay*/,
21829  0 /*untilTimeCode (0/15)*/,
21830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21831  },
21832 
21833 };
21834 
21835 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x05" "Thimphu";
21836 
21837 const complete::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
21838  kZoneNameAsia_Thimphu /*name*/,
21839  0x170380d1 /*zoneId*/,
21840  &kZoneContext /*zoneContext*/,
21841  3 /*numEras*/,
21842  kZoneEraAsia_Thimphu /*eras*/,
21843  nullptr /*targetInfo*/,
21844 };
21845 
21846 //---------------------------------------------------------------------------
21847 // Zone name: Asia/Tokyo
21848 // Eras: 2
21849 //---------------------------------------------------------------------------
21850 
21851 static const complete::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
21852  // 9:18:59 - LMT 1887 Dec 31 15:00u
21853  {
21854  nullptr /*zonePolicy*/,
21855  "LMT" /*format*/,
21856  2235 /*offsetCode (33539/15)*/,
21857  14 /*offsetRemainder (33539%15)*/,
21858  0 /*deltaMinutes*/,
21859  1887 /*untilYear*/,
21860  12 /*untilMonth*/,
21861  31 /*untilDay*/,
21862  3600 /*untilTimeCode (54000/15)*/,
21863  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21864  },
21865  // 9:00 Japan J%sT
21866  {
21867  &kZonePolicyJapan /*zonePolicy*/,
21868  "J%T" /*format*/,
21869  2160 /*offsetCode (32400/15)*/,
21870  0 /*offsetRemainder (32400%15)*/,
21871  0 /*deltaMinutes*/,
21872  32767 /*untilYear*/,
21873  1 /*untilMonth*/,
21874  1 /*untilDay*/,
21875  0 /*untilTimeCode (0/15)*/,
21876  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21877  },
21878 
21879 };
21880 
21881 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x05" "Tokyo";
21882 
21883 const complete::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
21884  kZoneNameAsia_Tokyo /*name*/,
21885  0x15e606a8 /*zoneId*/,
21886  &kZoneContext /*zoneContext*/,
21887  2 /*numEras*/,
21888  kZoneEraAsia_Tokyo /*eras*/,
21889  nullptr /*targetInfo*/,
21890 };
21891 
21892 //---------------------------------------------------------------------------
21893 // Zone name: Asia/Tomsk
21894 // Eras: 9
21895 //---------------------------------------------------------------------------
21896 
21897 static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
21898  // 5:39:51 - LMT 1919 Dec 22
21899  {
21900  nullptr /*zonePolicy*/,
21901  "LMT" /*format*/,
21902  1359 /*offsetCode (20391/15)*/,
21903  6 /*offsetRemainder (20391%15)*/,
21904  0 /*deltaMinutes*/,
21905  1919 /*untilYear*/,
21906  12 /*untilMonth*/,
21907  22 /*untilDay*/,
21908  0 /*untilTimeCode (0/15)*/,
21909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21910  },
21911  // 6:00 - %z 1930 Jun 21
21912  {
21913  nullptr /*zonePolicy*/,
21914  "" /*format*/,
21915  1440 /*offsetCode (21600/15)*/,
21916  0 /*offsetRemainder (21600%15)*/,
21917  0 /*deltaMinutes*/,
21918  1930 /*untilYear*/,
21919  6 /*untilMonth*/,
21920  21 /*untilDay*/,
21921  0 /*untilTimeCode (0/15)*/,
21922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21923  },
21924  // 7:00 Russia %z 1991 Mar 31 2:00s
21925  {
21926  &kZonePolicyRussia /*zonePolicy*/,
21927  "" /*format*/,
21928  1680 /*offsetCode (25200/15)*/,
21929  0 /*offsetRemainder (25200%15)*/,
21930  0 /*deltaMinutes*/,
21931  1991 /*untilYear*/,
21932  3 /*untilMonth*/,
21933  31 /*untilDay*/,
21934  480 /*untilTimeCode (7200/15)*/,
21935  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21936  },
21937  // 6:00 Russia %z 1992 Jan 19 2:00s
21938  {
21939  &kZonePolicyRussia /*zonePolicy*/,
21940  "" /*format*/,
21941  1440 /*offsetCode (21600/15)*/,
21942  0 /*offsetRemainder (21600%15)*/,
21943  0 /*deltaMinutes*/,
21944  1992 /*untilYear*/,
21945  1 /*untilMonth*/,
21946  19 /*untilDay*/,
21947  480 /*untilTimeCode (7200/15)*/,
21948  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21949  },
21950  // 7:00 Russia %z 2002 May 1 3:00
21951  {
21952  &kZonePolicyRussia /*zonePolicy*/,
21953  "" /*format*/,
21954  1680 /*offsetCode (25200/15)*/,
21955  0 /*offsetRemainder (25200%15)*/,
21956  0 /*deltaMinutes*/,
21957  2002 /*untilYear*/,
21958  5 /*untilMonth*/,
21959  1 /*untilDay*/,
21960  720 /*untilTimeCode (10800/15)*/,
21961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21962  },
21963  // 6:00 Russia %z 2011 Mar 27 2:00s
21964  {
21965  &kZonePolicyRussia /*zonePolicy*/,
21966  "" /*format*/,
21967  1440 /*offsetCode (21600/15)*/,
21968  0 /*offsetRemainder (21600%15)*/,
21969  0 /*deltaMinutes*/,
21970  2011 /*untilYear*/,
21971  3 /*untilMonth*/,
21972  27 /*untilDay*/,
21973  480 /*untilTimeCode (7200/15)*/,
21974  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21975  },
21976  // 7:00 - %z 2014 Oct 26 2:00s
21977  {
21978  nullptr /*zonePolicy*/,
21979  "" /*format*/,
21980  1680 /*offsetCode (25200/15)*/,
21981  0 /*offsetRemainder (25200%15)*/,
21982  0 /*deltaMinutes*/,
21983  2014 /*untilYear*/,
21984  10 /*untilMonth*/,
21985  26 /*untilDay*/,
21986  480 /*untilTimeCode (7200/15)*/,
21987  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21988  },
21989  // 6:00 - %z 2016 May 29 2:00s
21990  {
21991  nullptr /*zonePolicy*/,
21992  "" /*format*/,
21993  1440 /*offsetCode (21600/15)*/,
21994  0 /*offsetRemainder (21600%15)*/,
21995  0 /*deltaMinutes*/,
21996  2016 /*untilYear*/,
21997  5 /*untilMonth*/,
21998  29 /*untilDay*/,
21999  480 /*untilTimeCode (7200/15)*/,
22000  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22001  },
22002  // 7:00 - %z
22003  {
22004  nullptr /*zonePolicy*/,
22005  "" /*format*/,
22006  1680 /*offsetCode (25200/15)*/,
22007  0 /*offsetRemainder (25200%15)*/,
22008  0 /*deltaMinutes*/,
22009  32767 /*untilYear*/,
22010  1 /*untilMonth*/,
22011  1 /*untilDay*/,
22012  0 /*untilTimeCode (0/15)*/,
22013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22014  },
22015 
22016 };
22017 
22018 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "\x05" "Tomsk";
22019 
22020 const complete::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
22021  kZoneNameAsia_Tomsk /*name*/,
22022  0x15e60e60 /*zoneId*/,
22023  &kZoneContext /*zoneContext*/,
22024  9 /*numEras*/,
22025  kZoneEraAsia_Tomsk /*eras*/,
22026  nullptr /*targetInfo*/,
22027 };
22028 
22029 //---------------------------------------------------------------------------
22030 // Zone name: Asia/Ulaanbaatar
22031 // Eras: 3
22032 //---------------------------------------------------------------------------
22033 
22034 static const complete::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
22035  // 7:07:32 - LMT 1905 Aug
22036  {
22037  nullptr /*zonePolicy*/,
22038  "LMT" /*format*/,
22039  1710 /*offsetCode (25652/15)*/,
22040  2 /*offsetRemainder (25652%15)*/,
22041  0 /*deltaMinutes*/,
22042  1905 /*untilYear*/,
22043  8 /*untilMonth*/,
22044  1 /*untilDay*/,
22045  0 /*untilTimeCode (0/15)*/,
22046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22047  },
22048  // 7:00 - %z 1978
22049  {
22050  nullptr /*zonePolicy*/,
22051  "" /*format*/,
22052  1680 /*offsetCode (25200/15)*/,
22053  0 /*offsetRemainder (25200%15)*/,
22054  0 /*deltaMinutes*/,
22055  1978 /*untilYear*/,
22056  1 /*untilMonth*/,
22057  1 /*untilDay*/,
22058  0 /*untilTimeCode (0/15)*/,
22059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22060  },
22061  // 8:00 Mongol %z
22062  {
22063  &kZonePolicyMongol /*zonePolicy*/,
22064  "" /*format*/,
22065  1920 /*offsetCode (28800/15)*/,
22066  0 /*offsetRemainder (28800%15)*/,
22067  0 /*deltaMinutes*/,
22068  32767 /*untilYear*/,
22069  1 /*untilMonth*/,
22070  1 /*untilDay*/,
22071  0 /*untilTimeCode (0/15)*/,
22072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22073  },
22074 
22075 };
22076 
22077 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x05" "Ulaanbaatar";
22078 
22079 const complete::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
22080  kZoneNameAsia_Ulaanbaatar /*name*/,
22081  0x30f0cc4e /*zoneId*/,
22082  &kZoneContext /*zoneContext*/,
22083  3 /*numEras*/,
22084  kZoneEraAsia_Ulaanbaatar /*eras*/,
22085  nullptr /*targetInfo*/,
22086 };
22087 
22088 //---------------------------------------------------------------------------
22089 // Zone name: Asia/Urumqi
22090 // Eras: 2
22091 //---------------------------------------------------------------------------
22092 
22093 static const complete::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
22094  // 5:50:20 - LMT 1928
22095  {
22096  nullptr /*zonePolicy*/,
22097  "LMT" /*format*/,
22098  1401 /*offsetCode (21020/15)*/,
22099  5 /*offsetRemainder (21020%15)*/,
22100  0 /*deltaMinutes*/,
22101  1928 /*untilYear*/,
22102  1 /*untilMonth*/,
22103  1 /*untilDay*/,
22104  0 /*untilTimeCode (0/15)*/,
22105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22106  },
22107  // 6:00 - %z
22108  {
22109  nullptr /*zonePolicy*/,
22110  "" /*format*/,
22111  1440 /*offsetCode (21600/15)*/,
22112  0 /*offsetRemainder (21600%15)*/,
22113  0 /*deltaMinutes*/,
22114  32767 /*untilYear*/,
22115  1 /*untilMonth*/,
22116  1 /*untilDay*/,
22117  0 /*untilTimeCode (0/15)*/,
22118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22119  },
22120 
22121 };
22122 
22123 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x05" "Urumqi";
22124 
22125 const complete::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
22126  kZoneNameAsia_Urumqi /*name*/,
22127  0xd5379735 /*zoneId*/,
22128  &kZoneContext /*zoneContext*/,
22129  2 /*numEras*/,
22130  kZoneEraAsia_Urumqi /*eras*/,
22131  nullptr /*targetInfo*/,
22132 };
22133 
22134 //---------------------------------------------------------------------------
22135 // Zone name: Asia/Ust-Nera
22136 // Eras: 9
22137 //---------------------------------------------------------------------------
22138 
22139 static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
22140  // 9:32:54 - LMT 1919 Dec 15
22141  {
22142  nullptr /*zonePolicy*/,
22143  "LMT" /*format*/,
22144  2291 /*offsetCode (34374/15)*/,
22145  9 /*offsetRemainder (34374%15)*/,
22146  0 /*deltaMinutes*/,
22147  1919 /*untilYear*/,
22148  12 /*untilMonth*/,
22149  15 /*untilDay*/,
22150  0 /*untilTimeCode (0/15)*/,
22151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22152  },
22153  // 8:00 - %z 1930 Jun 21
22154  {
22155  nullptr /*zonePolicy*/,
22156  "" /*format*/,
22157  1920 /*offsetCode (28800/15)*/,
22158  0 /*offsetRemainder (28800%15)*/,
22159  0 /*deltaMinutes*/,
22160  1930 /*untilYear*/,
22161  6 /*untilMonth*/,
22162  21 /*untilDay*/,
22163  0 /*untilTimeCode (0/15)*/,
22164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22165  },
22166  // 9:00 Russia %z 1981 Apr 1
22167  {
22168  &kZonePolicyRussia /*zonePolicy*/,
22169  "" /*format*/,
22170  2160 /*offsetCode (32400/15)*/,
22171  0 /*offsetRemainder (32400%15)*/,
22172  0 /*deltaMinutes*/,
22173  1981 /*untilYear*/,
22174  4 /*untilMonth*/,
22175  1 /*untilDay*/,
22176  0 /*untilTimeCode (0/15)*/,
22177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22178  },
22179  // 11:00 Russia %z 1991 Mar 31 2:00s
22180  {
22181  &kZonePolicyRussia /*zonePolicy*/,
22182  "" /*format*/,
22183  2640 /*offsetCode (39600/15)*/,
22184  0 /*offsetRemainder (39600%15)*/,
22185  0 /*deltaMinutes*/,
22186  1991 /*untilYear*/,
22187  3 /*untilMonth*/,
22188  31 /*untilDay*/,
22189  480 /*untilTimeCode (7200/15)*/,
22190  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22191  },
22192  // 10:00 Russia %z 1992 Jan 19 2:00s
22193  {
22194  &kZonePolicyRussia /*zonePolicy*/,
22195  "" /*format*/,
22196  2400 /*offsetCode (36000/15)*/,
22197  0 /*offsetRemainder (36000%15)*/,
22198  0 /*deltaMinutes*/,
22199  1992 /*untilYear*/,
22200  1 /*untilMonth*/,
22201  19 /*untilDay*/,
22202  480 /*untilTimeCode (7200/15)*/,
22203  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22204  },
22205  // 11:00 Russia %z 2011 Mar 27 2:00s
22206  {
22207  &kZonePolicyRussia /*zonePolicy*/,
22208  "" /*format*/,
22209  2640 /*offsetCode (39600/15)*/,
22210  0 /*offsetRemainder (39600%15)*/,
22211  0 /*deltaMinutes*/,
22212  2011 /*untilYear*/,
22213  3 /*untilMonth*/,
22214  27 /*untilDay*/,
22215  480 /*untilTimeCode (7200/15)*/,
22216  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22217  },
22218  // 12:00 - %z 2011 Sep 13 0:00s
22219  {
22220  nullptr /*zonePolicy*/,
22221  "" /*format*/,
22222  2880 /*offsetCode (43200/15)*/,
22223  0 /*offsetRemainder (43200%15)*/,
22224  0 /*deltaMinutes*/,
22225  2011 /*untilYear*/,
22226  9 /*untilMonth*/,
22227  13 /*untilDay*/,
22228  0 /*untilTimeCode (0/15)*/,
22229  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22230  },
22231  // 11:00 - %z 2014 Oct 26 2:00s
22232  {
22233  nullptr /*zonePolicy*/,
22234  "" /*format*/,
22235  2640 /*offsetCode (39600/15)*/,
22236  0 /*offsetRemainder (39600%15)*/,
22237  0 /*deltaMinutes*/,
22238  2014 /*untilYear*/,
22239  10 /*untilMonth*/,
22240  26 /*untilDay*/,
22241  480 /*untilTimeCode (7200/15)*/,
22242  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22243  },
22244  // 10:00 - %z
22245  {
22246  nullptr /*zonePolicy*/,
22247  "" /*format*/,
22248  2400 /*offsetCode (36000/15)*/,
22249  0 /*offsetRemainder (36000%15)*/,
22250  0 /*deltaMinutes*/,
22251  32767 /*untilYear*/,
22252  1 /*untilMonth*/,
22253  1 /*untilDay*/,
22254  0 /*untilTimeCode (0/15)*/,
22255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22256  },
22257 
22258 };
22259 
22260 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "\x05" "Ust-Nera";
22261 
22262 const complete::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
22263  kZoneNameAsia_Ust_Nera /*name*/,
22264  0x4785f921 /*zoneId*/,
22265  &kZoneContext /*zoneContext*/,
22266  9 /*numEras*/,
22267  kZoneEraAsia_Ust_Nera /*eras*/,
22268  nullptr /*targetInfo*/,
22269 };
22270 
22271 //---------------------------------------------------------------------------
22272 // Zone name: Asia/Vladivostok
22273 // Eras: 7
22274 //---------------------------------------------------------------------------
22275 
22276 static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
22277  // 8:47:31 - LMT 1922 Nov 15
22278  {
22279  nullptr /*zonePolicy*/,
22280  "LMT" /*format*/,
22281  2110 /*offsetCode (31651/15)*/,
22282  1 /*offsetRemainder (31651%15)*/,
22283  0 /*deltaMinutes*/,
22284  1922 /*untilYear*/,
22285  11 /*untilMonth*/,
22286  15 /*untilDay*/,
22287  0 /*untilTimeCode (0/15)*/,
22288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22289  },
22290  // 9:00 - %z 1930 Jun 21
22291  {
22292  nullptr /*zonePolicy*/,
22293  "" /*format*/,
22294  2160 /*offsetCode (32400/15)*/,
22295  0 /*offsetRemainder (32400%15)*/,
22296  0 /*deltaMinutes*/,
22297  1930 /*untilYear*/,
22298  6 /*untilMonth*/,
22299  21 /*untilDay*/,
22300  0 /*untilTimeCode (0/15)*/,
22301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22302  },
22303  // 10:00 Russia %z 1991 Mar 31 2:00s
22304  {
22305  &kZonePolicyRussia /*zonePolicy*/,
22306  "" /*format*/,
22307  2400 /*offsetCode (36000/15)*/,
22308  0 /*offsetRemainder (36000%15)*/,
22309  0 /*deltaMinutes*/,
22310  1991 /*untilYear*/,
22311  3 /*untilMonth*/,
22312  31 /*untilDay*/,
22313  480 /*untilTimeCode (7200/15)*/,
22314  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22315  },
22316  // 9:00 Russia %z 1992 Jan 19 2:00s
22317  {
22318  &kZonePolicyRussia /*zonePolicy*/,
22319  "" /*format*/,
22320  2160 /*offsetCode (32400/15)*/,
22321  0 /*offsetRemainder (32400%15)*/,
22322  0 /*deltaMinutes*/,
22323  1992 /*untilYear*/,
22324  1 /*untilMonth*/,
22325  19 /*untilDay*/,
22326  480 /*untilTimeCode (7200/15)*/,
22327  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22328  },
22329  // 10:00 Russia %z 2011 Mar 27 2:00s
22330  {
22331  &kZonePolicyRussia /*zonePolicy*/,
22332  "" /*format*/,
22333  2400 /*offsetCode (36000/15)*/,
22334  0 /*offsetRemainder (36000%15)*/,
22335  0 /*deltaMinutes*/,
22336  2011 /*untilYear*/,
22337  3 /*untilMonth*/,
22338  27 /*untilDay*/,
22339  480 /*untilTimeCode (7200/15)*/,
22340  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22341  },
22342  // 11:00 - %z 2014 Oct 26 2:00s
22343  {
22344  nullptr /*zonePolicy*/,
22345  "" /*format*/,
22346  2640 /*offsetCode (39600/15)*/,
22347  0 /*offsetRemainder (39600%15)*/,
22348  0 /*deltaMinutes*/,
22349  2014 /*untilYear*/,
22350  10 /*untilMonth*/,
22351  26 /*untilDay*/,
22352  480 /*untilTimeCode (7200/15)*/,
22353  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22354  },
22355  // 10:00 - %z
22356  {
22357  nullptr /*zonePolicy*/,
22358  "" /*format*/,
22359  2400 /*offsetCode (36000/15)*/,
22360  0 /*offsetRemainder (36000%15)*/,
22361  0 /*deltaMinutes*/,
22362  32767 /*untilYear*/,
22363  1 /*untilMonth*/,
22364  1 /*untilDay*/,
22365  0 /*untilTimeCode (0/15)*/,
22366  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22367  },
22368 
22369 };
22370 
22371 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "\x05" "Vladivostok";
22372 
22373 const complete::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
22374  kZoneNameAsia_Vladivostok /*name*/,
22375  0x29de34a8 /*zoneId*/,
22376  &kZoneContext /*zoneContext*/,
22377  7 /*numEras*/,
22378  kZoneEraAsia_Vladivostok /*eras*/,
22379  nullptr /*targetInfo*/,
22380 };
22381 
22382 //---------------------------------------------------------------------------
22383 // Zone name: Asia/Yakutsk
22384 // Eras: 7
22385 //---------------------------------------------------------------------------
22386 
22387 static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
22388  // 8:38:58 - LMT 1919 Dec 15
22389  {
22390  nullptr /*zonePolicy*/,
22391  "LMT" /*format*/,
22392  2075 /*offsetCode (31138/15)*/,
22393  13 /*offsetRemainder (31138%15)*/,
22394  0 /*deltaMinutes*/,
22395  1919 /*untilYear*/,
22396  12 /*untilMonth*/,
22397  15 /*untilDay*/,
22398  0 /*untilTimeCode (0/15)*/,
22399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22400  },
22401  // 8:00 - %z 1930 Jun 21
22402  {
22403  nullptr /*zonePolicy*/,
22404  "" /*format*/,
22405  1920 /*offsetCode (28800/15)*/,
22406  0 /*offsetRemainder (28800%15)*/,
22407  0 /*deltaMinutes*/,
22408  1930 /*untilYear*/,
22409  6 /*untilMonth*/,
22410  21 /*untilDay*/,
22411  0 /*untilTimeCode (0/15)*/,
22412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22413  },
22414  // 9:00 Russia %z 1991 Mar 31 2:00s
22415  {
22416  &kZonePolicyRussia /*zonePolicy*/,
22417  "" /*format*/,
22418  2160 /*offsetCode (32400/15)*/,
22419  0 /*offsetRemainder (32400%15)*/,
22420  0 /*deltaMinutes*/,
22421  1991 /*untilYear*/,
22422  3 /*untilMonth*/,
22423  31 /*untilDay*/,
22424  480 /*untilTimeCode (7200/15)*/,
22425  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22426  },
22427  // 8:00 Russia %z 1992 Jan 19 2:00s
22428  {
22429  &kZonePolicyRussia /*zonePolicy*/,
22430  "" /*format*/,
22431  1920 /*offsetCode (28800/15)*/,
22432  0 /*offsetRemainder (28800%15)*/,
22433  0 /*deltaMinutes*/,
22434  1992 /*untilYear*/,
22435  1 /*untilMonth*/,
22436  19 /*untilDay*/,
22437  480 /*untilTimeCode (7200/15)*/,
22438  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22439  },
22440  // 9:00 Russia %z 2011 Mar 27 2:00s
22441  {
22442  &kZonePolicyRussia /*zonePolicy*/,
22443  "" /*format*/,
22444  2160 /*offsetCode (32400/15)*/,
22445  0 /*offsetRemainder (32400%15)*/,
22446  0 /*deltaMinutes*/,
22447  2011 /*untilYear*/,
22448  3 /*untilMonth*/,
22449  27 /*untilDay*/,
22450  480 /*untilTimeCode (7200/15)*/,
22451  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22452  },
22453  // 10:00 - %z 2014 Oct 26 2:00s
22454  {
22455  nullptr /*zonePolicy*/,
22456  "" /*format*/,
22457  2400 /*offsetCode (36000/15)*/,
22458  0 /*offsetRemainder (36000%15)*/,
22459  0 /*deltaMinutes*/,
22460  2014 /*untilYear*/,
22461  10 /*untilMonth*/,
22462  26 /*untilDay*/,
22463  480 /*untilTimeCode (7200/15)*/,
22464  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22465  },
22466  // 9:00 - %z
22467  {
22468  nullptr /*zonePolicy*/,
22469  "" /*format*/,
22470  2160 /*offsetCode (32400/15)*/,
22471  0 /*offsetRemainder (32400%15)*/,
22472  0 /*deltaMinutes*/,
22473  32767 /*untilYear*/,
22474  1 /*untilMonth*/,
22475  1 /*untilDay*/,
22476  0 /*untilTimeCode (0/15)*/,
22477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22478  },
22479 
22480 };
22481 
22482 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "\x05" "Yakutsk";
22483 
22484 const complete::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
22485  kZoneNameAsia_Yakutsk /*name*/,
22486  0x87bb3a9e /*zoneId*/,
22487  &kZoneContext /*zoneContext*/,
22488  7 /*numEras*/,
22489  kZoneEraAsia_Yakutsk /*eras*/,
22490  nullptr /*targetInfo*/,
22491 };
22492 
22493 //---------------------------------------------------------------------------
22494 // Zone name: Asia/Yangon
22495 // Eras: 5
22496 //---------------------------------------------------------------------------
22497 
22498 static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
22499  // 6:24:47 - LMT 1880
22500  {
22501  nullptr /*zonePolicy*/,
22502  "LMT" /*format*/,
22503  1539 /*offsetCode (23087/15)*/,
22504  2 /*offsetRemainder (23087%15)*/,
22505  0 /*deltaMinutes*/,
22506  1880 /*untilYear*/,
22507  1 /*untilMonth*/,
22508  1 /*untilDay*/,
22509  0 /*untilTimeCode (0/15)*/,
22510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22511  },
22512  // 6:24:47 - RMT 1920
22513  {
22514  nullptr /*zonePolicy*/,
22515  "RMT" /*format*/,
22516  1539 /*offsetCode (23087/15)*/,
22517  2 /*offsetRemainder (23087%15)*/,
22518  0 /*deltaMinutes*/,
22519  1920 /*untilYear*/,
22520  1 /*untilMonth*/,
22521  1 /*untilDay*/,
22522  0 /*untilTimeCode (0/15)*/,
22523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22524  },
22525  // 6:30 - %z 1942 May
22526  {
22527  nullptr /*zonePolicy*/,
22528  "" /*format*/,
22529  1560 /*offsetCode (23400/15)*/,
22530  0 /*offsetRemainder (23400%15)*/,
22531  0 /*deltaMinutes*/,
22532  1942 /*untilYear*/,
22533  5 /*untilMonth*/,
22534  1 /*untilDay*/,
22535  0 /*untilTimeCode (0/15)*/,
22536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22537  },
22538  // 9:00 - %z 1945 May 3
22539  {
22540  nullptr /*zonePolicy*/,
22541  "" /*format*/,
22542  2160 /*offsetCode (32400/15)*/,
22543  0 /*offsetRemainder (32400%15)*/,
22544  0 /*deltaMinutes*/,
22545  1945 /*untilYear*/,
22546  5 /*untilMonth*/,
22547  3 /*untilDay*/,
22548  0 /*untilTimeCode (0/15)*/,
22549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22550  },
22551  // 6:30 - %z
22552  {
22553  nullptr /*zonePolicy*/,
22554  "" /*format*/,
22555  1560 /*offsetCode (23400/15)*/,
22556  0 /*offsetRemainder (23400%15)*/,
22557  0 /*deltaMinutes*/,
22558  32767 /*untilYear*/,
22559  1 /*untilMonth*/,
22560  1 /*untilDay*/,
22561  0 /*untilTimeCode (0/15)*/,
22562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22563  },
22564 
22565 };
22566 
22567 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x05" "Yangon";
22568 
22569 const complete::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
22570  kZoneNameAsia_Yangon /*name*/,
22571  0xdd54a8be /*zoneId*/,
22572  &kZoneContext /*zoneContext*/,
22573  5 /*numEras*/,
22574  kZoneEraAsia_Yangon /*eras*/,
22575  nullptr /*targetInfo*/,
22576 };
22577 
22578 //---------------------------------------------------------------------------
22579 // Zone name: Asia/Yekaterinburg
22580 // Eras: 8
22581 //---------------------------------------------------------------------------
22582 
22583 static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
22584  // 4:02:33 - LMT 1916 Jul 3
22585  {
22586  nullptr /*zonePolicy*/,
22587  "LMT" /*format*/,
22588  970 /*offsetCode (14553/15)*/,
22589  3 /*offsetRemainder (14553%15)*/,
22590  0 /*deltaMinutes*/,
22591  1916 /*untilYear*/,
22592  7 /*untilMonth*/,
22593  3 /*untilDay*/,
22594  0 /*untilTimeCode (0/15)*/,
22595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22596  },
22597  // 3:45:05 - PMT 1919 Jul 15 4:00
22598  {
22599  nullptr /*zonePolicy*/,
22600  "PMT" /*format*/,
22601  900 /*offsetCode (13505/15)*/,
22602  5 /*offsetRemainder (13505%15)*/,
22603  0 /*deltaMinutes*/,
22604  1919 /*untilYear*/,
22605  7 /*untilMonth*/,
22606  15 /*untilDay*/,
22607  960 /*untilTimeCode (14400/15)*/,
22608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22609  },
22610  // 4:00 - %z 1930 Jun 21
22611  {
22612  nullptr /*zonePolicy*/,
22613  "" /*format*/,
22614  960 /*offsetCode (14400/15)*/,
22615  0 /*offsetRemainder (14400%15)*/,
22616  0 /*deltaMinutes*/,
22617  1930 /*untilYear*/,
22618  6 /*untilMonth*/,
22619  21 /*untilDay*/,
22620  0 /*untilTimeCode (0/15)*/,
22621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22622  },
22623  // 5:00 Russia %z 1991 Mar 31 2:00s
22624  {
22625  &kZonePolicyRussia /*zonePolicy*/,
22626  "" /*format*/,
22627  1200 /*offsetCode (18000/15)*/,
22628  0 /*offsetRemainder (18000%15)*/,
22629  0 /*deltaMinutes*/,
22630  1991 /*untilYear*/,
22631  3 /*untilMonth*/,
22632  31 /*untilDay*/,
22633  480 /*untilTimeCode (7200/15)*/,
22634  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22635  },
22636  // 4:00 Russia %z 1992 Jan 19 2:00s
22637  {
22638  &kZonePolicyRussia /*zonePolicy*/,
22639  "" /*format*/,
22640  960 /*offsetCode (14400/15)*/,
22641  0 /*offsetRemainder (14400%15)*/,
22642  0 /*deltaMinutes*/,
22643  1992 /*untilYear*/,
22644  1 /*untilMonth*/,
22645  19 /*untilDay*/,
22646  480 /*untilTimeCode (7200/15)*/,
22647  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22648  },
22649  // 5:00 Russia %z 2011 Mar 27 2:00s
22650  {
22651  &kZonePolicyRussia /*zonePolicy*/,
22652  "" /*format*/,
22653  1200 /*offsetCode (18000/15)*/,
22654  0 /*offsetRemainder (18000%15)*/,
22655  0 /*deltaMinutes*/,
22656  2011 /*untilYear*/,
22657  3 /*untilMonth*/,
22658  27 /*untilDay*/,
22659  480 /*untilTimeCode (7200/15)*/,
22660  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22661  },
22662  // 6:00 - %z 2014 Oct 26 2:00s
22663  {
22664  nullptr /*zonePolicy*/,
22665  "" /*format*/,
22666  1440 /*offsetCode (21600/15)*/,
22667  0 /*offsetRemainder (21600%15)*/,
22668  0 /*deltaMinutes*/,
22669  2014 /*untilYear*/,
22670  10 /*untilMonth*/,
22671  26 /*untilDay*/,
22672  480 /*untilTimeCode (7200/15)*/,
22673  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22674  },
22675  // 5:00 - %z
22676  {
22677  nullptr /*zonePolicy*/,
22678  "" /*format*/,
22679  1200 /*offsetCode (18000/15)*/,
22680  0 /*offsetRemainder (18000%15)*/,
22681  0 /*deltaMinutes*/,
22682  32767 /*untilYear*/,
22683  1 /*untilMonth*/,
22684  1 /*untilDay*/,
22685  0 /*untilTimeCode (0/15)*/,
22686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22687  },
22688 
22689 };
22690 
22691 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "\x05" "Yekaterinburg";
22692 
22693 const complete::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
22694  kZoneNameAsia_Yekaterinburg /*name*/,
22695  0xfb544c6e /*zoneId*/,
22696  &kZoneContext /*zoneContext*/,
22697  8 /*numEras*/,
22698  kZoneEraAsia_Yekaterinburg /*eras*/,
22699  nullptr /*targetInfo*/,
22700 };
22701 
22702 //---------------------------------------------------------------------------
22703 // Zone name: Asia/Yerevan
22704 // Eras: 7
22705 //---------------------------------------------------------------------------
22706 
22707 static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
22708  // 2:58:00 - LMT 1924 May 2
22709  {
22710  nullptr /*zonePolicy*/,
22711  "LMT" /*format*/,
22712  712 /*offsetCode (10680/15)*/,
22713  0 /*offsetRemainder (10680%15)*/,
22714  0 /*deltaMinutes*/,
22715  1924 /*untilYear*/,
22716  5 /*untilMonth*/,
22717  2 /*untilDay*/,
22718  0 /*untilTimeCode (0/15)*/,
22719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22720  },
22721  // 3:00 - %z 1957 Mar
22722  {
22723  nullptr /*zonePolicy*/,
22724  "" /*format*/,
22725  720 /*offsetCode (10800/15)*/,
22726  0 /*offsetRemainder (10800%15)*/,
22727  0 /*deltaMinutes*/,
22728  1957 /*untilYear*/,
22729  3 /*untilMonth*/,
22730  1 /*untilDay*/,
22731  0 /*untilTimeCode (0/15)*/,
22732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22733  },
22734  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
22735  {
22736  &kZonePolicyRussiaAsia /*zonePolicy*/,
22737  "" /*format*/,
22738  960 /*offsetCode (14400/15)*/,
22739  0 /*offsetRemainder (14400%15)*/,
22740  0 /*deltaMinutes*/,
22741  1991 /*untilYear*/,
22742  3 /*untilMonth*/,
22743  31 /*untilDay*/,
22744  480 /*untilTimeCode (7200/15)*/,
22745  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22746  },
22747  // 3:00 RussiaAsia %z 1995 Sep 24 2:00s
22748  {
22749  &kZonePolicyRussiaAsia /*zonePolicy*/,
22750  "" /*format*/,
22751  720 /*offsetCode (10800/15)*/,
22752  0 /*offsetRemainder (10800%15)*/,
22753  0 /*deltaMinutes*/,
22754  1995 /*untilYear*/,
22755  9 /*untilMonth*/,
22756  24 /*untilDay*/,
22757  480 /*untilTimeCode (7200/15)*/,
22758  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22759  },
22760  // 4:00 - %z 1997
22761  {
22762  nullptr /*zonePolicy*/,
22763  "" /*format*/,
22764  960 /*offsetCode (14400/15)*/,
22765  0 /*offsetRemainder (14400%15)*/,
22766  0 /*deltaMinutes*/,
22767  1997 /*untilYear*/,
22768  1 /*untilMonth*/,
22769  1 /*untilDay*/,
22770  0 /*untilTimeCode (0/15)*/,
22771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22772  },
22773  // 4:00 RussiaAsia %z 2011
22774  {
22775  &kZonePolicyRussiaAsia /*zonePolicy*/,
22776  "" /*format*/,
22777  960 /*offsetCode (14400/15)*/,
22778  0 /*offsetRemainder (14400%15)*/,
22779  0 /*deltaMinutes*/,
22780  2011 /*untilYear*/,
22781  1 /*untilMonth*/,
22782  1 /*untilDay*/,
22783  0 /*untilTimeCode (0/15)*/,
22784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22785  },
22786  // 4:00 Armenia %z
22787  {
22788  &kZonePolicyArmenia /*zonePolicy*/,
22789  "" /*format*/,
22790  960 /*offsetCode (14400/15)*/,
22791  0 /*offsetRemainder (14400%15)*/,
22792  0 /*deltaMinutes*/,
22793  32767 /*untilYear*/,
22794  1 /*untilMonth*/,
22795  1 /*untilDay*/,
22796  0 /*untilTimeCode (0/15)*/,
22797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22798  },
22799 
22800 };
22801 
22802 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x05" "Yerevan";
22803 
22804 const complete::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
22805  kZoneNameAsia_Yerevan /*name*/,
22806  0x9185c8cc /*zoneId*/,
22807  &kZoneContext /*zoneContext*/,
22808  7 /*numEras*/,
22809  kZoneEraAsia_Yerevan /*eras*/,
22810  nullptr /*targetInfo*/,
22811 };
22812 
22813 //---------------------------------------------------------------------------
22814 // Zone name: Atlantic/Azores
22815 // Eras: 8
22816 //---------------------------------------------------------------------------
22817 
22818 static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
22819  // -1:42:40 - LMT 1884
22820  {
22821  nullptr /*zonePolicy*/,
22822  "LMT" /*format*/,
22823  -411 /*offsetCode (-6160/15)*/,
22824  5 /*offsetRemainder (-6160%15)*/,
22825  0 /*deltaMinutes*/,
22826  1884 /*untilYear*/,
22827  1 /*untilMonth*/,
22828  1 /*untilDay*/,
22829  0 /*untilTimeCode (0/15)*/,
22830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22831  },
22832  // -1:54:32 - HMT 1912 Jan 1 2:00u
22833  {
22834  nullptr /*zonePolicy*/,
22835  "HMT" /*format*/,
22836  -459 /*offsetCode (-6872/15)*/,
22837  13 /*offsetRemainder (-6872%15)*/,
22838  0 /*deltaMinutes*/,
22839  1912 /*untilYear*/,
22840  1 /*untilMonth*/,
22841  1 /*untilDay*/,
22842  480 /*untilTimeCode (7200/15)*/,
22843  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22844  },
22845  // -2:00 Port %z 1966 Oct 2 2:00s
22846  {
22847  &kZonePolicyPort /*zonePolicy*/,
22848  "" /*format*/,
22849  -480 /*offsetCode (-7200/15)*/,
22850  0 /*offsetRemainder (-7200%15)*/,
22851  0 /*deltaMinutes*/,
22852  1966 /*untilYear*/,
22853  10 /*untilMonth*/,
22854  2 /*untilDay*/,
22855  480 /*untilTimeCode (7200/15)*/,
22856  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22857  },
22858  // -1:00 - %z 1982 Mar 28 0:00s
22859  {
22860  nullptr /*zonePolicy*/,
22861  "" /*format*/,
22862  -240 /*offsetCode (-3600/15)*/,
22863  0 /*offsetRemainder (-3600%15)*/,
22864  0 /*deltaMinutes*/,
22865  1982 /*untilYear*/,
22866  3 /*untilMonth*/,
22867  28 /*untilDay*/,
22868  0 /*untilTimeCode (0/15)*/,
22869  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22870  },
22871  // -1:00 Port %z 1986
22872  {
22873  &kZonePolicyPort /*zonePolicy*/,
22874  "" /*format*/,
22875  -240 /*offsetCode (-3600/15)*/,
22876  0 /*offsetRemainder (-3600%15)*/,
22877  0 /*deltaMinutes*/,
22878  1986 /*untilYear*/,
22879  1 /*untilMonth*/,
22880  1 /*untilDay*/,
22881  0 /*untilTimeCode (0/15)*/,
22882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22883  },
22884  // -1:00 EU %z 1992 Dec 27 1:00s
22885  {
22886  &kZonePolicyEU /*zonePolicy*/,
22887  "" /*format*/,
22888  -240 /*offsetCode (-3600/15)*/,
22889  0 /*offsetRemainder (-3600%15)*/,
22890  0 /*deltaMinutes*/,
22891  1992 /*untilYear*/,
22892  12 /*untilMonth*/,
22893  27 /*untilDay*/,
22894  240 /*untilTimeCode (3600/15)*/,
22895  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22896  },
22897  // 0:00 EU WE%sT 1993 Jun 17 1:00u
22898  {
22899  &kZonePolicyEU /*zonePolicy*/,
22900  "WE%T" /*format*/,
22901  0 /*offsetCode (0/15)*/,
22902  0 /*offsetRemainder (0%15)*/,
22903  0 /*deltaMinutes*/,
22904  1993 /*untilYear*/,
22905  6 /*untilMonth*/,
22906  17 /*untilDay*/,
22907  240 /*untilTimeCode (3600/15)*/,
22908  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22909  },
22910  // -1:00 EU %z
22911  {
22912  &kZonePolicyEU /*zonePolicy*/,
22913  "" /*format*/,
22914  -240 /*offsetCode (-3600/15)*/,
22915  0 /*offsetRemainder (-3600%15)*/,
22916  0 /*deltaMinutes*/,
22917  32767 /*untilYear*/,
22918  1 /*untilMonth*/,
22919  1 /*untilDay*/,
22920  0 /*untilTimeCode (0/15)*/,
22921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22922  },
22923 
22924 };
22925 
22926 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x06" "Azores";
22927 
22928 const complete::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
22929  kZoneNameAtlantic_Azores /*name*/,
22930  0xf93ed918 /*zoneId*/,
22931  &kZoneContext /*zoneContext*/,
22932  8 /*numEras*/,
22933  kZoneEraAtlantic_Azores /*eras*/,
22934  nullptr /*targetInfo*/,
22935 };
22936 
22937 //---------------------------------------------------------------------------
22938 // Zone name: Atlantic/Bermuda
22939 // Eras: 5
22940 //---------------------------------------------------------------------------
22941 
22942 static const complete::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
22943  // -4:19:18 - LMT 1890
22944  {
22945  nullptr /*zonePolicy*/,
22946  "LMT" /*format*/,
22947  -1038 /*offsetCode (-15558/15)*/,
22948  12 /*offsetRemainder (-15558%15)*/,
22949  0 /*deltaMinutes*/,
22950  1890 /*untilYear*/,
22951  1 /*untilMonth*/,
22952  1 /*untilDay*/,
22953  0 /*untilTimeCode (0/15)*/,
22954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22955  },
22956  // -4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
22957  {
22958  &kZonePolicyBermuda /*zonePolicy*/,
22959  "BMT/BST" /*format*/,
22960  -1038 /*offsetCode (-15558/15)*/,
22961  12 /*offsetRemainder (-15558%15)*/,
22962  0 /*deltaMinutes*/,
22963  1930 /*untilYear*/,
22964  1 /*untilMonth*/,
22965  1 /*untilDay*/,
22966  480 /*untilTimeCode (7200/15)*/,
22967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22968  },
22969  // -4:00 Bermuda A%sT 1974 Apr 28 2:00
22970  {
22971  &kZonePolicyBermuda /*zonePolicy*/,
22972  "A%T" /*format*/,
22973  -960 /*offsetCode (-14400/15)*/,
22974  0 /*offsetRemainder (-14400%15)*/,
22975  0 /*deltaMinutes*/,
22976  1974 /*untilYear*/,
22977  4 /*untilMonth*/,
22978  28 /*untilDay*/,
22979  480 /*untilTimeCode (7200/15)*/,
22980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22981  },
22982  // -4:00 Canada A%sT 1976
22983  {
22984  &kZonePolicyCanada /*zonePolicy*/,
22985  "A%T" /*format*/,
22986  -960 /*offsetCode (-14400/15)*/,
22987  0 /*offsetRemainder (-14400%15)*/,
22988  0 /*deltaMinutes*/,
22989  1976 /*untilYear*/,
22990  1 /*untilMonth*/,
22991  1 /*untilDay*/,
22992  0 /*untilTimeCode (0/15)*/,
22993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22994  },
22995  // -4:00 US A%sT
22996  {
22997  &kZonePolicyUS /*zonePolicy*/,
22998  "A%T" /*format*/,
22999  -960 /*offsetCode (-14400/15)*/,
23000  0 /*offsetRemainder (-14400%15)*/,
23001  0 /*deltaMinutes*/,
23002  32767 /*untilYear*/,
23003  1 /*untilMonth*/,
23004  1 /*untilDay*/,
23005  0 /*untilTimeCode (0/15)*/,
23006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23007  },
23008 
23009 };
23010 
23011 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x06" "Bermuda";
23012 
23013 const complete::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
23014  kZoneNameAtlantic_Bermuda /*name*/,
23015  0x3d4bb1c4 /*zoneId*/,
23016  &kZoneContext /*zoneContext*/,
23017  5 /*numEras*/,
23018  kZoneEraAtlantic_Bermuda /*eras*/,
23019  nullptr /*targetInfo*/,
23020 };
23021 
23022 //---------------------------------------------------------------------------
23023 // Zone name: Atlantic/Canary
23024 // Eras: 5
23025 //---------------------------------------------------------------------------
23026 
23027 static const complete::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
23028  // -1:01:36 - LMT 1922 Mar
23029  {
23030  nullptr /*zonePolicy*/,
23031  "LMT" /*format*/,
23032  -247 /*offsetCode (-3696/15)*/,
23033  9 /*offsetRemainder (-3696%15)*/,
23034  0 /*deltaMinutes*/,
23035  1922 /*untilYear*/,
23036  3 /*untilMonth*/,
23037  1 /*untilDay*/,
23038  0 /*untilTimeCode (0/15)*/,
23039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23040  },
23041  // -1:00 - %z 1946 Sep 30 1:00
23042  {
23043  nullptr /*zonePolicy*/,
23044  "" /*format*/,
23045  -240 /*offsetCode (-3600/15)*/,
23046  0 /*offsetRemainder (-3600%15)*/,
23047  0 /*deltaMinutes*/,
23048  1946 /*untilYear*/,
23049  9 /*untilMonth*/,
23050  30 /*untilDay*/,
23051  240 /*untilTimeCode (3600/15)*/,
23052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23053  },
23054  // 0:00 - WET 1980 Apr 6 0:00s
23055  {
23056  nullptr /*zonePolicy*/,
23057  "WET" /*format*/,
23058  0 /*offsetCode (0/15)*/,
23059  0 /*offsetRemainder (0%15)*/,
23060  0 /*deltaMinutes*/,
23061  1980 /*untilYear*/,
23062  4 /*untilMonth*/,
23063  6 /*untilDay*/,
23064  0 /*untilTimeCode (0/15)*/,
23065  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23066  },
23067  // 0:00 1:00 WEST 1980 Sep 28 1:00u
23068  {
23069  nullptr /*zonePolicy*/,
23070  "WEST" /*format*/,
23071  0 /*offsetCode (0/15)*/,
23072  0 /*offsetRemainder (0%15)*/,
23073  60 /*deltaMinutes*/,
23074  1980 /*untilYear*/,
23075  9 /*untilMonth*/,
23076  28 /*untilDay*/,
23077  240 /*untilTimeCode (3600/15)*/,
23078  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23079  },
23080  // 0:00 EU WE%sT
23081  {
23082  &kZonePolicyEU /*zonePolicy*/,
23083  "WE%T" /*format*/,
23084  0 /*offsetCode (0/15)*/,
23085  0 /*offsetRemainder (0%15)*/,
23086  0 /*deltaMinutes*/,
23087  32767 /*untilYear*/,
23088  1 /*untilMonth*/,
23089  1 /*untilDay*/,
23090  0 /*untilTimeCode (0/15)*/,
23091  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23092  },
23093 
23094 };
23095 
23096 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x06" "Canary";
23097 
23098 const complete::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
23099  kZoneNameAtlantic_Canary /*name*/,
23100  0xfc23f2c2 /*zoneId*/,
23101  &kZoneContext /*zoneContext*/,
23102  5 /*numEras*/,
23103  kZoneEraAtlantic_Canary /*eras*/,
23104  nullptr /*targetInfo*/,
23105 };
23106 
23107 //---------------------------------------------------------------------------
23108 // Zone name: Atlantic/Cape_Verde
23109 // Eras: 5
23110 //---------------------------------------------------------------------------
23111 
23112 static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
23113  // -1:34:04 - LMT 1912 Jan 01 2:00u
23114  {
23115  nullptr /*zonePolicy*/,
23116  "LMT" /*format*/,
23117  -377 /*offsetCode (-5644/15)*/,
23118  11 /*offsetRemainder (-5644%15)*/,
23119  0 /*deltaMinutes*/,
23120  1912 /*untilYear*/,
23121  1 /*untilMonth*/,
23122  1 /*untilDay*/,
23123  480 /*untilTimeCode (7200/15)*/,
23124  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23125  },
23126  // -2:00 - %z 1942 Sep
23127  {
23128  nullptr /*zonePolicy*/,
23129  "" /*format*/,
23130  -480 /*offsetCode (-7200/15)*/,
23131  0 /*offsetRemainder (-7200%15)*/,
23132  0 /*deltaMinutes*/,
23133  1942 /*untilYear*/,
23134  9 /*untilMonth*/,
23135  1 /*untilDay*/,
23136  0 /*untilTimeCode (0/15)*/,
23137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23138  },
23139  // -2:00 1:00 %z 1945 Oct 15
23140  {
23141  nullptr /*zonePolicy*/,
23142  "" /*format*/,
23143  -480 /*offsetCode (-7200/15)*/,
23144  0 /*offsetRemainder (-7200%15)*/,
23145  60 /*deltaMinutes*/,
23146  1945 /*untilYear*/,
23147  10 /*untilMonth*/,
23148  15 /*untilDay*/,
23149  0 /*untilTimeCode (0/15)*/,
23150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23151  },
23152  // -2:00 - %z 1975 Nov 25 2:00
23153  {
23154  nullptr /*zonePolicy*/,
23155  "" /*format*/,
23156  -480 /*offsetCode (-7200/15)*/,
23157  0 /*offsetRemainder (-7200%15)*/,
23158  0 /*deltaMinutes*/,
23159  1975 /*untilYear*/,
23160  11 /*untilMonth*/,
23161  25 /*untilDay*/,
23162  480 /*untilTimeCode (7200/15)*/,
23163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23164  },
23165  // -1:00 - %z
23166  {
23167  nullptr /*zonePolicy*/,
23168  "" /*format*/,
23169  -240 /*offsetCode (-3600/15)*/,
23170  0 /*offsetRemainder (-3600%15)*/,
23171  0 /*deltaMinutes*/,
23172  32767 /*untilYear*/,
23173  1 /*untilMonth*/,
23174  1 /*untilDay*/,
23175  0 /*untilTimeCode (0/15)*/,
23176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23177  },
23178 
23179 };
23180 
23181 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x06" "Cape_Verde";
23182 
23183 const complete::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
23184  kZoneNameAtlantic_Cape_Verde /*name*/,
23185  0x5c5e1772 /*zoneId*/,
23186  &kZoneContext /*zoneContext*/,
23187  5 /*numEras*/,
23188  kZoneEraAtlantic_Cape_Verde /*eras*/,
23189  nullptr /*targetInfo*/,
23190 };
23191 
23192 //---------------------------------------------------------------------------
23193 // Zone name: Atlantic/Faroe
23194 // Eras: 3
23195 //---------------------------------------------------------------------------
23196 
23197 static const complete::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
23198  // -0:27:04 - LMT 1908 Jan 11
23199  {
23200  nullptr /*zonePolicy*/,
23201  "LMT" /*format*/,
23202  -109 /*offsetCode (-1624/15)*/,
23203  11 /*offsetRemainder (-1624%15)*/,
23204  0 /*deltaMinutes*/,
23205  1908 /*untilYear*/,
23206  1 /*untilMonth*/,
23207  11 /*untilDay*/,
23208  0 /*untilTimeCode (0/15)*/,
23209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23210  },
23211  // 0:00 - WET 1981
23212  {
23213  nullptr /*zonePolicy*/,
23214  "WET" /*format*/,
23215  0 /*offsetCode (0/15)*/,
23216  0 /*offsetRemainder (0%15)*/,
23217  0 /*deltaMinutes*/,
23218  1981 /*untilYear*/,
23219  1 /*untilMonth*/,
23220  1 /*untilDay*/,
23221  0 /*untilTimeCode (0/15)*/,
23222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23223  },
23224  // 0:00 EU WE%sT
23225  {
23226  &kZonePolicyEU /*zonePolicy*/,
23227  "WE%T" /*format*/,
23228  0 /*offsetCode (0/15)*/,
23229  0 /*offsetRemainder (0%15)*/,
23230  0 /*deltaMinutes*/,
23231  32767 /*untilYear*/,
23232  1 /*untilMonth*/,
23233  1 /*untilDay*/,
23234  0 /*untilTimeCode (0/15)*/,
23235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23236  },
23237 
23238 };
23239 
23240 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x06" "Faroe";
23241 
23242 const complete::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
23243  kZoneNameAtlantic_Faroe /*name*/,
23244  0xe110a971 /*zoneId*/,
23245  &kZoneContext /*zoneContext*/,
23246  3 /*numEras*/,
23247  kZoneEraAtlantic_Faroe /*eras*/,
23248  nullptr /*targetInfo*/,
23249 };
23250 
23251 //---------------------------------------------------------------------------
23252 // Zone name: Atlantic/Madeira
23253 // Eras: 6
23254 //---------------------------------------------------------------------------
23255 
23256 static const complete::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
23257  // -1:07:36 - LMT 1884
23258  {
23259  nullptr /*zonePolicy*/,
23260  "LMT" /*format*/,
23261  -271 /*offsetCode (-4056/15)*/,
23262  9 /*offsetRemainder (-4056%15)*/,
23263  0 /*deltaMinutes*/,
23264  1884 /*untilYear*/,
23265  1 /*untilMonth*/,
23266  1 /*untilDay*/,
23267  0 /*untilTimeCode (0/15)*/,
23268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23269  },
23270  // -1:07:36 - FMT 1912 Jan 1 1:00u
23271  {
23272  nullptr /*zonePolicy*/,
23273  "FMT" /*format*/,
23274  -271 /*offsetCode (-4056/15)*/,
23275  9 /*offsetRemainder (-4056%15)*/,
23276  0 /*deltaMinutes*/,
23277  1912 /*untilYear*/,
23278  1 /*untilMonth*/,
23279  1 /*untilDay*/,
23280  240 /*untilTimeCode (3600/15)*/,
23281  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23282  },
23283  // -1:00 Port %z 1966 Oct 2 2:00s
23284  {
23285  &kZonePolicyPort /*zonePolicy*/,
23286  "" /*format*/,
23287  -240 /*offsetCode (-3600/15)*/,
23288  0 /*offsetRemainder (-3600%15)*/,
23289  0 /*deltaMinutes*/,
23290  1966 /*untilYear*/,
23291  10 /*untilMonth*/,
23292  2 /*untilDay*/,
23293  480 /*untilTimeCode (7200/15)*/,
23294  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23295  },
23296  // 0:00 - WET 1982 Apr 4
23297  {
23298  nullptr /*zonePolicy*/,
23299  "WET" /*format*/,
23300  0 /*offsetCode (0/15)*/,
23301  0 /*offsetRemainder (0%15)*/,
23302  0 /*deltaMinutes*/,
23303  1982 /*untilYear*/,
23304  4 /*untilMonth*/,
23305  4 /*untilDay*/,
23306  0 /*untilTimeCode (0/15)*/,
23307  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23308  },
23309  // 0:00 Port WE%sT 1986 Jul 31
23310  {
23311  &kZonePolicyPort /*zonePolicy*/,
23312  "WE%T" /*format*/,
23313  0 /*offsetCode (0/15)*/,
23314  0 /*offsetRemainder (0%15)*/,
23315  0 /*deltaMinutes*/,
23316  1986 /*untilYear*/,
23317  7 /*untilMonth*/,
23318  31 /*untilDay*/,
23319  0 /*untilTimeCode (0/15)*/,
23320  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23321  },
23322  // 0:00 EU WE%sT
23323  {
23324  &kZonePolicyEU /*zonePolicy*/,
23325  "WE%T" /*format*/,
23326  0 /*offsetCode (0/15)*/,
23327  0 /*offsetRemainder (0%15)*/,
23328  0 /*deltaMinutes*/,
23329  32767 /*untilYear*/,
23330  1 /*untilMonth*/,
23331  1 /*untilDay*/,
23332  0 /*untilTimeCode (0/15)*/,
23333  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23334  },
23335 
23336 };
23337 
23338 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x06" "Madeira";
23339 
23340 const complete::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
23341  kZoneNameAtlantic_Madeira /*name*/,
23342  0x81b5c037 /*zoneId*/,
23343  &kZoneContext /*zoneContext*/,
23344  6 /*numEras*/,
23345  kZoneEraAtlantic_Madeira /*eras*/,
23346  nullptr /*targetInfo*/,
23347 };
23348 
23349 //---------------------------------------------------------------------------
23350 // Zone name: Atlantic/South_Georgia
23351 // Eras: 2
23352 //---------------------------------------------------------------------------
23353 
23354 static const complete::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
23355  // -2:26:08 - LMT 1890
23356  {
23357  nullptr /*zonePolicy*/,
23358  "LMT" /*format*/,
23359  -585 /*offsetCode (-8768/15)*/,
23360  7 /*offsetRemainder (-8768%15)*/,
23361  0 /*deltaMinutes*/,
23362  1890 /*untilYear*/,
23363  1 /*untilMonth*/,
23364  1 /*untilDay*/,
23365  0 /*untilTimeCode (0/15)*/,
23366  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23367  },
23368  // -2:00 - %z
23369  {
23370  nullptr /*zonePolicy*/,
23371  "" /*format*/,
23372  -480 /*offsetCode (-7200/15)*/,
23373  0 /*offsetRemainder (-7200%15)*/,
23374  0 /*deltaMinutes*/,
23375  32767 /*untilYear*/,
23376  1 /*untilMonth*/,
23377  1 /*untilDay*/,
23378  0 /*untilTimeCode (0/15)*/,
23379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23380  },
23381 
23382 };
23383 
23384 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x06" "South_Georgia";
23385 
23386 const complete::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
23387  kZoneNameAtlantic_South_Georgia /*name*/,
23388  0x33013174 /*zoneId*/,
23389  &kZoneContext /*zoneContext*/,
23390  2 /*numEras*/,
23391  kZoneEraAtlantic_South_Georgia /*eras*/,
23392  nullptr /*targetInfo*/,
23393 };
23394 
23395 //---------------------------------------------------------------------------
23396 // Zone name: Atlantic/Stanley
23397 // Eras: 6
23398 //---------------------------------------------------------------------------
23399 
23400 static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
23401  // -3:51:24 - LMT 1890
23402  {
23403  nullptr /*zonePolicy*/,
23404  "LMT" /*format*/,
23405  -926 /*offsetCode (-13884/15)*/,
23406  6 /*offsetRemainder (-13884%15)*/,
23407  0 /*deltaMinutes*/,
23408  1890 /*untilYear*/,
23409  1 /*untilMonth*/,
23410  1 /*untilDay*/,
23411  0 /*untilTimeCode (0/15)*/,
23412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23413  },
23414  // -3:51:24 - SMT 1912 Mar 12
23415  {
23416  nullptr /*zonePolicy*/,
23417  "SMT" /*format*/,
23418  -926 /*offsetCode (-13884/15)*/,
23419  6 /*offsetRemainder (-13884%15)*/,
23420  0 /*deltaMinutes*/,
23421  1912 /*untilYear*/,
23422  3 /*untilMonth*/,
23423  12 /*untilDay*/,
23424  0 /*untilTimeCode (0/15)*/,
23425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23426  },
23427  // -4:00 Falk %z 1983 May
23428  {
23429  &kZonePolicyFalk /*zonePolicy*/,
23430  "" /*format*/,
23431  -960 /*offsetCode (-14400/15)*/,
23432  0 /*offsetRemainder (-14400%15)*/,
23433  0 /*deltaMinutes*/,
23434  1983 /*untilYear*/,
23435  5 /*untilMonth*/,
23436  1 /*untilDay*/,
23437  0 /*untilTimeCode (0/15)*/,
23438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23439  },
23440  // -3:00 Falk %z 1985 Sep 15
23441  {
23442  &kZonePolicyFalk /*zonePolicy*/,
23443  "" /*format*/,
23444  -720 /*offsetCode (-10800/15)*/,
23445  0 /*offsetRemainder (-10800%15)*/,
23446  0 /*deltaMinutes*/,
23447  1985 /*untilYear*/,
23448  9 /*untilMonth*/,
23449  15 /*untilDay*/,
23450  0 /*untilTimeCode (0/15)*/,
23451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23452  },
23453  // -4:00 Falk %z 2010 Sep 5 2:00
23454  {
23455  &kZonePolicyFalk /*zonePolicy*/,
23456  "" /*format*/,
23457  -960 /*offsetCode (-14400/15)*/,
23458  0 /*offsetRemainder (-14400%15)*/,
23459  0 /*deltaMinutes*/,
23460  2010 /*untilYear*/,
23461  9 /*untilMonth*/,
23462  5 /*untilDay*/,
23463  480 /*untilTimeCode (7200/15)*/,
23464  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23465  },
23466  // -3:00 - %z
23467  {
23468  nullptr /*zonePolicy*/,
23469  "" /*format*/,
23470  -720 /*offsetCode (-10800/15)*/,
23471  0 /*offsetRemainder (-10800%15)*/,
23472  0 /*deltaMinutes*/,
23473  32767 /*untilYear*/,
23474  1 /*untilMonth*/,
23475  1 /*untilDay*/,
23476  0 /*untilTimeCode (0/15)*/,
23477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23478  },
23479 
23480 };
23481 
23482 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "\x06" "Stanley";
23483 
23484 const complete::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
23485  kZoneNameAtlantic_Stanley /*name*/,
23486  0x7bb3e1c4 /*zoneId*/,
23487  &kZoneContext /*zoneContext*/,
23488  6 /*numEras*/,
23489  kZoneEraAtlantic_Stanley /*eras*/,
23490  nullptr /*targetInfo*/,
23491 };
23492 
23493 //---------------------------------------------------------------------------
23494 // Zone name: Australia/Adelaide
23495 // Eras: 4
23496 //---------------------------------------------------------------------------
23497 
23498 static const complete::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
23499  // 9:14:20 - LMT 1895 Feb
23500  {
23501  nullptr /*zonePolicy*/,
23502  "LMT" /*format*/,
23503  2217 /*offsetCode (33260/15)*/,
23504  5 /*offsetRemainder (33260%15)*/,
23505  0 /*deltaMinutes*/,
23506  1895 /*untilYear*/,
23507  2 /*untilMonth*/,
23508  1 /*untilDay*/,
23509  0 /*untilTimeCode (0/15)*/,
23510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23511  },
23512  // 9:00 - ACST 1899 May
23513  {
23514  nullptr /*zonePolicy*/,
23515  "ACST" /*format*/,
23516  2160 /*offsetCode (32400/15)*/,
23517  0 /*offsetRemainder (32400%15)*/,
23518  0 /*deltaMinutes*/,
23519  1899 /*untilYear*/,
23520  5 /*untilMonth*/,
23521  1 /*untilDay*/,
23522  0 /*untilTimeCode (0/15)*/,
23523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23524  },
23525  // 9:30 Aus AC%sT 1971
23526  {
23527  &kZonePolicyAus /*zonePolicy*/,
23528  "AC%T" /*format*/,
23529  2280 /*offsetCode (34200/15)*/,
23530  0 /*offsetRemainder (34200%15)*/,
23531  0 /*deltaMinutes*/,
23532  1971 /*untilYear*/,
23533  1 /*untilMonth*/,
23534  1 /*untilDay*/,
23535  0 /*untilTimeCode (0/15)*/,
23536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23537  },
23538  // 9:30 AS AC%sT
23539  {
23540  &kZonePolicyAS /*zonePolicy*/,
23541  "AC%T" /*format*/,
23542  2280 /*offsetCode (34200/15)*/,
23543  0 /*offsetRemainder (34200%15)*/,
23544  0 /*deltaMinutes*/,
23545  32767 /*untilYear*/,
23546  1 /*untilMonth*/,
23547  1 /*untilDay*/,
23548  0 /*untilTimeCode (0/15)*/,
23549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23550  },
23551 
23552 };
23553 
23554 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x07" "Adelaide";
23555 
23556 const complete::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
23557  kZoneNameAustralia_Adelaide /*name*/,
23558  0x2428e8a3 /*zoneId*/,
23559  &kZoneContext /*zoneContext*/,
23560  4 /*numEras*/,
23561  kZoneEraAustralia_Adelaide /*eras*/,
23562  nullptr /*targetInfo*/,
23563 };
23564 
23565 //---------------------------------------------------------------------------
23566 // Zone name: Australia/Brisbane
23567 // Eras: 3
23568 //---------------------------------------------------------------------------
23569 
23570 static const complete::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
23571  // 10:12:08 - LMT 1895
23572  {
23573  nullptr /*zonePolicy*/,
23574  "LMT" /*format*/,
23575  2448 /*offsetCode (36728/15)*/,
23576  8 /*offsetRemainder (36728%15)*/,
23577  0 /*deltaMinutes*/,
23578  1895 /*untilYear*/,
23579  1 /*untilMonth*/,
23580  1 /*untilDay*/,
23581  0 /*untilTimeCode (0/15)*/,
23582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23583  },
23584  // 10:00 Aus AE%sT 1971
23585  {
23586  &kZonePolicyAus /*zonePolicy*/,
23587  "AE%T" /*format*/,
23588  2400 /*offsetCode (36000/15)*/,
23589  0 /*offsetRemainder (36000%15)*/,
23590  0 /*deltaMinutes*/,
23591  1971 /*untilYear*/,
23592  1 /*untilMonth*/,
23593  1 /*untilDay*/,
23594  0 /*untilTimeCode (0/15)*/,
23595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23596  },
23597  // 10:00 AQ AE%sT
23598  {
23599  &kZonePolicyAQ /*zonePolicy*/,
23600  "AE%T" /*format*/,
23601  2400 /*offsetCode (36000/15)*/,
23602  0 /*offsetRemainder (36000%15)*/,
23603  0 /*deltaMinutes*/,
23604  32767 /*untilYear*/,
23605  1 /*untilMonth*/,
23606  1 /*untilDay*/,
23607  0 /*untilTimeCode (0/15)*/,
23608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23609  },
23610 
23611 };
23612 
23613 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x07" "Brisbane";
23614 
23615 const complete::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
23616  kZoneNameAustralia_Brisbane /*name*/,
23617  0x4fedc9c0 /*zoneId*/,
23618  &kZoneContext /*zoneContext*/,
23619  3 /*numEras*/,
23620  kZoneEraAustralia_Brisbane /*eras*/,
23621  nullptr /*targetInfo*/,
23622 };
23623 
23624 //---------------------------------------------------------------------------
23625 // Zone name: Australia/Broken_Hill
23626 // Eras: 6
23627 //---------------------------------------------------------------------------
23628 
23629 static const complete::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
23630  // 9:25:48 - LMT 1895 Feb
23631  {
23632  nullptr /*zonePolicy*/,
23633  "LMT" /*format*/,
23634  2263 /*offsetCode (33948/15)*/,
23635  3 /*offsetRemainder (33948%15)*/,
23636  0 /*deltaMinutes*/,
23637  1895 /*untilYear*/,
23638  2 /*untilMonth*/,
23639  1 /*untilDay*/,
23640  0 /*untilTimeCode (0/15)*/,
23641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23642  },
23643  // 10:00 - AEST 1896 Aug 23
23644  {
23645  nullptr /*zonePolicy*/,
23646  "AEST" /*format*/,
23647  2400 /*offsetCode (36000/15)*/,
23648  0 /*offsetRemainder (36000%15)*/,
23649  0 /*deltaMinutes*/,
23650  1896 /*untilYear*/,
23651  8 /*untilMonth*/,
23652  23 /*untilDay*/,
23653  0 /*untilTimeCode (0/15)*/,
23654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23655  },
23656  // 9:00 - ACST 1899 May
23657  {
23658  nullptr /*zonePolicy*/,
23659  "ACST" /*format*/,
23660  2160 /*offsetCode (32400/15)*/,
23661  0 /*offsetRemainder (32400%15)*/,
23662  0 /*deltaMinutes*/,
23663  1899 /*untilYear*/,
23664  5 /*untilMonth*/,
23665  1 /*untilDay*/,
23666  0 /*untilTimeCode (0/15)*/,
23667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23668  },
23669  // 9:30 Aus AC%sT 1971
23670  {
23671  &kZonePolicyAus /*zonePolicy*/,
23672  "AC%T" /*format*/,
23673  2280 /*offsetCode (34200/15)*/,
23674  0 /*offsetRemainder (34200%15)*/,
23675  0 /*deltaMinutes*/,
23676  1971 /*untilYear*/,
23677  1 /*untilMonth*/,
23678  1 /*untilDay*/,
23679  0 /*untilTimeCode (0/15)*/,
23680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23681  },
23682  // 9:30 AN AC%sT 2000
23683  {
23684  &kZonePolicyAN /*zonePolicy*/,
23685  "AC%T" /*format*/,
23686  2280 /*offsetCode (34200/15)*/,
23687  0 /*offsetRemainder (34200%15)*/,
23688  0 /*deltaMinutes*/,
23689  2000 /*untilYear*/,
23690  1 /*untilMonth*/,
23691  1 /*untilDay*/,
23692  0 /*untilTimeCode (0/15)*/,
23693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23694  },
23695  // 9:30 AS AC%sT
23696  {
23697  &kZonePolicyAS /*zonePolicy*/,
23698  "AC%T" /*format*/,
23699  2280 /*offsetCode (34200/15)*/,
23700  0 /*offsetRemainder (34200%15)*/,
23701  0 /*deltaMinutes*/,
23702  32767 /*untilYear*/,
23703  1 /*untilMonth*/,
23704  1 /*untilDay*/,
23705  0 /*untilTimeCode (0/15)*/,
23706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23707  },
23708 
23709 };
23710 
23711 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x07" "Broken_Hill";
23712 
23713 const complete::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
23714  kZoneNameAustralia_Broken_Hill /*name*/,
23715  0xb06eada3 /*zoneId*/,
23716  &kZoneContext /*zoneContext*/,
23717  6 /*numEras*/,
23718  kZoneEraAustralia_Broken_Hill /*eras*/,
23719  nullptr /*targetInfo*/,
23720 };
23721 
23722 //---------------------------------------------------------------------------
23723 // Zone name: Australia/Darwin
23724 // Eras: 3
23725 //---------------------------------------------------------------------------
23726 
23727 static const complete::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
23728  // 8:43:20 - LMT 1895 Feb
23729  {
23730  nullptr /*zonePolicy*/,
23731  "LMT" /*format*/,
23732  2093 /*offsetCode (31400/15)*/,
23733  5 /*offsetRemainder (31400%15)*/,
23734  0 /*deltaMinutes*/,
23735  1895 /*untilYear*/,
23736  2 /*untilMonth*/,
23737  1 /*untilDay*/,
23738  0 /*untilTimeCode (0/15)*/,
23739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23740  },
23741  // 9:00 - ACST 1899 May
23742  {
23743  nullptr /*zonePolicy*/,
23744  "ACST" /*format*/,
23745  2160 /*offsetCode (32400/15)*/,
23746  0 /*offsetRemainder (32400%15)*/,
23747  0 /*deltaMinutes*/,
23748  1899 /*untilYear*/,
23749  5 /*untilMonth*/,
23750  1 /*untilDay*/,
23751  0 /*untilTimeCode (0/15)*/,
23752  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23753  },
23754  // 9:30 Aus AC%sT
23755  {
23756  &kZonePolicyAus /*zonePolicy*/,
23757  "AC%T" /*format*/,
23758  2280 /*offsetCode (34200/15)*/,
23759  0 /*offsetRemainder (34200%15)*/,
23760  0 /*deltaMinutes*/,
23761  32767 /*untilYear*/,
23762  1 /*untilMonth*/,
23763  1 /*untilDay*/,
23764  0 /*untilTimeCode (0/15)*/,
23765  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23766  },
23767 
23768 };
23769 
23770 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x07" "Darwin";
23771 
23772 const complete::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
23773  kZoneNameAustralia_Darwin /*name*/,
23774  0x2876bdff /*zoneId*/,
23775  &kZoneContext /*zoneContext*/,
23776  3 /*numEras*/,
23777  kZoneEraAustralia_Darwin /*eras*/,
23778  nullptr /*targetInfo*/,
23779 };
23780 
23781 //---------------------------------------------------------------------------
23782 // Zone name: Australia/Eucla
23783 // Eras: 3
23784 //---------------------------------------------------------------------------
23785 
23786 static const complete::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
23787  // 8:35:28 - LMT 1895 Dec
23788  {
23789  nullptr /*zonePolicy*/,
23790  "LMT" /*format*/,
23791  2061 /*offsetCode (30928/15)*/,
23792  13 /*offsetRemainder (30928%15)*/,
23793  0 /*deltaMinutes*/,
23794  1895 /*untilYear*/,
23795  12 /*untilMonth*/,
23796  1 /*untilDay*/,
23797  0 /*untilTimeCode (0/15)*/,
23798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23799  },
23800  // 8:45 Aus %z 1943 Jul
23801  {
23802  &kZonePolicyAus /*zonePolicy*/,
23803  "" /*format*/,
23804  2100 /*offsetCode (31500/15)*/,
23805  0 /*offsetRemainder (31500%15)*/,
23806  0 /*deltaMinutes*/,
23807  1943 /*untilYear*/,
23808  7 /*untilMonth*/,
23809  1 /*untilDay*/,
23810  0 /*untilTimeCode (0/15)*/,
23811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23812  },
23813  // 8:45 AW %z
23814  {
23815  &kZonePolicyAW /*zonePolicy*/,
23816  "" /*format*/,
23817  2100 /*offsetCode (31500/15)*/,
23818  0 /*offsetRemainder (31500%15)*/,
23819  0 /*deltaMinutes*/,
23820  32767 /*untilYear*/,
23821  1 /*untilMonth*/,
23822  1 /*untilDay*/,
23823  0 /*untilTimeCode (0/15)*/,
23824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23825  },
23826 
23827 };
23828 
23829 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x07" "Eucla";
23830 
23831 const complete::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
23832  kZoneNameAustralia_Eucla /*name*/,
23833  0x8cf99e44 /*zoneId*/,
23834  &kZoneContext /*zoneContext*/,
23835  3 /*numEras*/,
23836  kZoneEraAustralia_Eucla /*eras*/,
23837  nullptr /*targetInfo*/,
23838 };
23839 
23840 //---------------------------------------------------------------------------
23841 // Zone name: Australia/Hobart
23842 // Eras: 4
23843 //---------------------------------------------------------------------------
23844 
23845 static const complete::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
23846  // 9:49:16 - LMT 1895 Sep
23847  {
23848  nullptr /*zonePolicy*/,
23849  "LMT" /*format*/,
23850  2357 /*offsetCode (35356/15)*/,
23851  1 /*offsetRemainder (35356%15)*/,
23852  0 /*deltaMinutes*/,
23853  1895 /*untilYear*/,
23854  9 /*untilMonth*/,
23855  1 /*untilDay*/,
23856  0 /*untilTimeCode (0/15)*/,
23857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23858  },
23859  // 10:00 AT AE%sT 1919 Oct 24
23860  {
23861  &kZonePolicyAT /*zonePolicy*/,
23862  "AE%T" /*format*/,
23863  2400 /*offsetCode (36000/15)*/,
23864  0 /*offsetRemainder (36000%15)*/,
23865  0 /*deltaMinutes*/,
23866  1919 /*untilYear*/,
23867  10 /*untilMonth*/,
23868  24 /*untilDay*/,
23869  0 /*untilTimeCode (0/15)*/,
23870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23871  },
23872  // 10:00 Aus AE%sT 1967
23873  {
23874  &kZonePolicyAus /*zonePolicy*/,
23875  "AE%T" /*format*/,
23876  2400 /*offsetCode (36000/15)*/,
23877  0 /*offsetRemainder (36000%15)*/,
23878  0 /*deltaMinutes*/,
23879  1967 /*untilYear*/,
23880  1 /*untilMonth*/,
23881  1 /*untilDay*/,
23882  0 /*untilTimeCode (0/15)*/,
23883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23884  },
23885  // 10:00 AT AE%sT
23886  {
23887  &kZonePolicyAT /*zonePolicy*/,
23888  "AE%T" /*format*/,
23889  2400 /*offsetCode (36000/15)*/,
23890  0 /*offsetRemainder (36000%15)*/,
23891  0 /*deltaMinutes*/,
23892  32767 /*untilYear*/,
23893  1 /*untilMonth*/,
23894  1 /*untilDay*/,
23895  0 /*untilTimeCode (0/15)*/,
23896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23897  },
23898 
23899 };
23900 
23901 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x07" "Hobart";
23902 
23903 const complete::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
23904  kZoneNameAustralia_Hobart /*name*/,
23905  0x32bf951a /*zoneId*/,
23906  &kZoneContext /*zoneContext*/,
23907  4 /*numEras*/,
23908  kZoneEraAustralia_Hobart /*eras*/,
23909  nullptr /*targetInfo*/,
23910 };
23911 
23912 //---------------------------------------------------------------------------
23913 // Zone name: Australia/Lindeman
23914 // Eras: 4
23915 //---------------------------------------------------------------------------
23916 
23917 static const complete::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
23918  // 9:55:56 - LMT 1895
23919  {
23920  nullptr /*zonePolicy*/,
23921  "LMT" /*format*/,
23922  2383 /*offsetCode (35756/15)*/,
23923  11 /*offsetRemainder (35756%15)*/,
23924  0 /*deltaMinutes*/,
23925  1895 /*untilYear*/,
23926  1 /*untilMonth*/,
23927  1 /*untilDay*/,
23928  0 /*untilTimeCode (0/15)*/,
23929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23930  },
23931  // 10:00 Aus AE%sT 1971
23932  {
23933  &kZonePolicyAus /*zonePolicy*/,
23934  "AE%T" /*format*/,
23935  2400 /*offsetCode (36000/15)*/,
23936  0 /*offsetRemainder (36000%15)*/,
23937  0 /*deltaMinutes*/,
23938  1971 /*untilYear*/,
23939  1 /*untilMonth*/,
23940  1 /*untilDay*/,
23941  0 /*untilTimeCode (0/15)*/,
23942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23943  },
23944  // 10:00 AQ AE%sT 1992 Jul
23945  {
23946  &kZonePolicyAQ /*zonePolicy*/,
23947  "AE%T" /*format*/,
23948  2400 /*offsetCode (36000/15)*/,
23949  0 /*offsetRemainder (36000%15)*/,
23950  0 /*deltaMinutes*/,
23951  1992 /*untilYear*/,
23952  7 /*untilMonth*/,
23953  1 /*untilDay*/,
23954  0 /*untilTimeCode (0/15)*/,
23955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23956  },
23957  // 10:00 Holiday AE%sT
23958  {
23959  &kZonePolicyHoliday /*zonePolicy*/,
23960  "AE%T" /*format*/,
23961  2400 /*offsetCode (36000/15)*/,
23962  0 /*offsetRemainder (36000%15)*/,
23963  0 /*deltaMinutes*/,
23964  32767 /*untilYear*/,
23965  1 /*untilMonth*/,
23966  1 /*untilDay*/,
23967  0 /*untilTimeCode (0/15)*/,
23968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23969  },
23970 
23971 };
23972 
23973 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x07" "Lindeman";
23974 
23975 const complete::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
23976  kZoneNameAustralia_Lindeman /*name*/,
23977  0xe05029e2 /*zoneId*/,
23978  &kZoneContext /*zoneContext*/,
23979  4 /*numEras*/,
23980  kZoneEraAustralia_Lindeman /*eras*/,
23981  nullptr /*targetInfo*/,
23982 };
23983 
23984 //---------------------------------------------------------------------------
23985 // Zone name: Australia/Lord_Howe
23986 // Eras: 4
23987 //---------------------------------------------------------------------------
23988 
23989 static const complete::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
23990  // 10:36:20 - LMT 1895 Feb
23991  {
23992  nullptr /*zonePolicy*/,
23993  "LMT" /*format*/,
23994  2545 /*offsetCode (38180/15)*/,
23995  5 /*offsetRemainder (38180%15)*/,
23996  0 /*deltaMinutes*/,
23997  1895 /*untilYear*/,
23998  2 /*untilMonth*/,
23999  1 /*untilDay*/,
24000  0 /*untilTimeCode (0/15)*/,
24001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24002  },
24003  // 10:00 - AEST 1981 Mar
24004  {
24005  nullptr /*zonePolicy*/,
24006  "AEST" /*format*/,
24007  2400 /*offsetCode (36000/15)*/,
24008  0 /*offsetRemainder (36000%15)*/,
24009  0 /*deltaMinutes*/,
24010  1981 /*untilYear*/,
24011  3 /*untilMonth*/,
24012  1 /*untilDay*/,
24013  0 /*untilTimeCode (0/15)*/,
24014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24015  },
24016  // 10:30 LH %z 1985 Jul
24017  {
24018  &kZonePolicyLH /*zonePolicy*/,
24019  "" /*format*/,
24020  2520 /*offsetCode (37800/15)*/,
24021  0 /*offsetRemainder (37800%15)*/,
24022  0 /*deltaMinutes*/,
24023  1985 /*untilYear*/,
24024  7 /*untilMonth*/,
24025  1 /*untilDay*/,
24026  0 /*untilTimeCode (0/15)*/,
24027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24028  },
24029  // 10:30 LH %z
24030  {
24031  &kZonePolicyLH /*zonePolicy*/,
24032  "" /*format*/,
24033  2520 /*offsetCode (37800/15)*/,
24034  0 /*offsetRemainder (37800%15)*/,
24035  0 /*deltaMinutes*/,
24036  32767 /*untilYear*/,
24037  1 /*untilMonth*/,
24038  1 /*untilDay*/,
24039  0 /*untilTimeCode (0/15)*/,
24040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24041  },
24042 
24043 };
24044 
24045 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x07" "Lord_Howe";
24046 
24047 const complete::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
24048  kZoneNameAustralia_Lord_Howe /*name*/,
24049  0xa748b67d /*zoneId*/,
24050  &kZoneContext /*zoneContext*/,
24051  4 /*numEras*/,
24052  kZoneEraAustralia_Lord_Howe /*eras*/,
24053  nullptr /*targetInfo*/,
24054 };
24055 
24056 //---------------------------------------------------------------------------
24057 // Zone name: Australia/Melbourne
24058 // Eras: 3
24059 //---------------------------------------------------------------------------
24060 
24061 static const complete::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
24062  // 9:39:52 - LMT 1895 Feb
24063  {
24064  nullptr /*zonePolicy*/,
24065  "LMT" /*format*/,
24066  2319 /*offsetCode (34792/15)*/,
24067  7 /*offsetRemainder (34792%15)*/,
24068  0 /*deltaMinutes*/,
24069  1895 /*untilYear*/,
24070  2 /*untilMonth*/,
24071  1 /*untilDay*/,
24072  0 /*untilTimeCode (0/15)*/,
24073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24074  },
24075  // 10:00 Aus AE%sT 1971
24076  {
24077  &kZonePolicyAus /*zonePolicy*/,
24078  "AE%T" /*format*/,
24079  2400 /*offsetCode (36000/15)*/,
24080  0 /*offsetRemainder (36000%15)*/,
24081  0 /*deltaMinutes*/,
24082  1971 /*untilYear*/,
24083  1 /*untilMonth*/,
24084  1 /*untilDay*/,
24085  0 /*untilTimeCode (0/15)*/,
24086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24087  },
24088  // 10:00 AV AE%sT
24089  {
24090  &kZonePolicyAV /*zonePolicy*/,
24091  "AE%T" /*format*/,
24092  2400 /*offsetCode (36000/15)*/,
24093  0 /*offsetRemainder (36000%15)*/,
24094  0 /*deltaMinutes*/,
24095  32767 /*untilYear*/,
24096  1 /*untilMonth*/,
24097  1 /*untilDay*/,
24098  0 /*untilTimeCode (0/15)*/,
24099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24100  },
24101 
24102 };
24103 
24104 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x07" "Melbourne";
24105 
24106 const complete::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
24107  kZoneNameAustralia_Melbourne /*name*/,
24108  0x0fe559a3 /*zoneId*/,
24109  &kZoneContext /*zoneContext*/,
24110  3 /*numEras*/,
24111  kZoneEraAustralia_Melbourne /*eras*/,
24112  nullptr /*targetInfo*/,
24113 };
24114 
24115 //---------------------------------------------------------------------------
24116 // Zone name: Australia/Perth
24117 // Eras: 3
24118 //---------------------------------------------------------------------------
24119 
24120 static const complete::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
24121  // 7:43:24 - LMT 1895 Dec
24122  {
24123  nullptr /*zonePolicy*/,
24124  "LMT" /*format*/,
24125  1853 /*offsetCode (27804/15)*/,
24126  9 /*offsetRemainder (27804%15)*/,
24127  0 /*deltaMinutes*/,
24128  1895 /*untilYear*/,
24129  12 /*untilMonth*/,
24130  1 /*untilDay*/,
24131  0 /*untilTimeCode (0/15)*/,
24132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24133  },
24134  // 8:00 Aus AW%sT 1943 Jul
24135  {
24136  &kZonePolicyAus /*zonePolicy*/,
24137  "AW%T" /*format*/,
24138  1920 /*offsetCode (28800/15)*/,
24139  0 /*offsetRemainder (28800%15)*/,
24140  0 /*deltaMinutes*/,
24141  1943 /*untilYear*/,
24142  7 /*untilMonth*/,
24143  1 /*untilDay*/,
24144  0 /*untilTimeCode (0/15)*/,
24145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24146  },
24147  // 8:00 AW AW%sT
24148  {
24149  &kZonePolicyAW /*zonePolicy*/,
24150  "AW%T" /*format*/,
24151  1920 /*offsetCode (28800/15)*/,
24152  0 /*offsetRemainder (28800%15)*/,
24153  0 /*deltaMinutes*/,
24154  32767 /*untilYear*/,
24155  1 /*untilMonth*/,
24156  1 /*untilDay*/,
24157  0 /*untilTimeCode (0/15)*/,
24158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24159  },
24160 
24161 };
24162 
24163 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x07" "Perth";
24164 
24165 const complete::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
24166  kZoneNameAustralia_Perth /*name*/,
24167  0x8db8269d /*zoneId*/,
24168  &kZoneContext /*zoneContext*/,
24169  3 /*numEras*/,
24170  kZoneEraAustralia_Perth /*eras*/,
24171  nullptr /*targetInfo*/,
24172 };
24173 
24174 //---------------------------------------------------------------------------
24175 // Zone name: Australia/Sydney
24176 // Eras: 3
24177 //---------------------------------------------------------------------------
24178 
24179 static const complete::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
24180  // 10:04:52 - LMT 1895 Feb
24181  {
24182  nullptr /*zonePolicy*/,
24183  "LMT" /*format*/,
24184  2419 /*offsetCode (36292/15)*/,
24185  7 /*offsetRemainder (36292%15)*/,
24186  0 /*deltaMinutes*/,
24187  1895 /*untilYear*/,
24188  2 /*untilMonth*/,
24189  1 /*untilDay*/,
24190  0 /*untilTimeCode (0/15)*/,
24191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24192  },
24193  // 10:00 Aus AE%sT 1971
24194  {
24195  &kZonePolicyAus /*zonePolicy*/,
24196  "AE%T" /*format*/,
24197  2400 /*offsetCode (36000/15)*/,
24198  0 /*offsetRemainder (36000%15)*/,
24199  0 /*deltaMinutes*/,
24200  1971 /*untilYear*/,
24201  1 /*untilMonth*/,
24202  1 /*untilDay*/,
24203  0 /*untilTimeCode (0/15)*/,
24204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24205  },
24206  // 10:00 AN AE%sT
24207  {
24208  &kZonePolicyAN /*zonePolicy*/,
24209  "AE%T" /*format*/,
24210  2400 /*offsetCode (36000/15)*/,
24211  0 /*offsetRemainder (36000%15)*/,
24212  0 /*deltaMinutes*/,
24213  32767 /*untilYear*/,
24214  1 /*untilMonth*/,
24215  1 /*untilDay*/,
24216  0 /*untilTimeCode (0/15)*/,
24217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24218  },
24219 
24220 };
24221 
24222 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x07" "Sydney";
24223 
24224 const complete::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
24225  kZoneNameAustralia_Sydney /*name*/,
24226  0x4d1e9776 /*zoneId*/,
24227  &kZoneContext /*zoneContext*/,
24228  3 /*numEras*/,
24229  kZoneEraAustralia_Sydney /*eras*/,
24230  nullptr /*targetInfo*/,
24231 };
24232 
24233 //---------------------------------------------------------------------------
24234 // Zone name: Etc/GMT
24235 // Eras: 1
24236 //---------------------------------------------------------------------------
24237 
24238 static const complete::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
24239  // 0 - GMT
24240  {
24241  nullptr /*zonePolicy*/,
24242  "GMT" /*format*/,
24243  0 /*offsetCode (0/15)*/,
24244  0 /*offsetRemainder (0%15)*/,
24245  0 /*deltaMinutes*/,
24246  32767 /*untilYear*/,
24247  1 /*untilMonth*/,
24248  1 /*untilDay*/,
24249  0 /*untilTimeCode (0/15)*/,
24250  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24251  },
24252 
24253 };
24254 
24255 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x0a" "GMT";
24256 
24257 const complete::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
24258  kZoneNameEtc_GMT /*name*/,
24259  0xd8e2de58 /*zoneId*/,
24260  &kZoneContext /*zoneContext*/,
24261  1 /*numEras*/,
24262  kZoneEraEtc_GMT /*eras*/,
24263  nullptr /*targetInfo*/,
24264 };
24265 
24266 //---------------------------------------------------------------------------
24267 // Zone name: Etc/GMT+1
24268 // Eras: 1
24269 //---------------------------------------------------------------------------
24270 
24271 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
24272  // -1 - %z
24273  {
24274  nullptr /*zonePolicy*/,
24275  "" /*format*/,
24276  -240 /*offsetCode (-3600/15)*/,
24277  0 /*offsetRemainder (-3600%15)*/,
24278  0 /*deltaMinutes*/,
24279  32767 /*untilYear*/,
24280  1 /*untilMonth*/,
24281  1 /*untilDay*/,
24282  0 /*untilTimeCode (0/15)*/,
24283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24284  },
24285 
24286 };
24287 
24288 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x0a" "GMT+1";
24289 
24290 const complete::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
24291  kZoneNameEtc_GMT_PLUS_1 /*name*/,
24292  0x9d13da14 /*zoneId*/,
24293  &kZoneContext /*zoneContext*/,
24294  1 /*numEras*/,
24295  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
24296  nullptr /*targetInfo*/,
24297 };
24298 
24299 //---------------------------------------------------------------------------
24300 // Zone name: Etc/GMT+10
24301 // Eras: 1
24302 //---------------------------------------------------------------------------
24303 
24304 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
24305  // -10 - %z
24306  {
24307  nullptr /*zonePolicy*/,
24308  "" /*format*/,
24309  -2400 /*offsetCode (-36000/15)*/,
24310  0 /*offsetRemainder (-36000%15)*/,
24311  0 /*deltaMinutes*/,
24312  32767 /*untilYear*/,
24313  1 /*untilMonth*/,
24314  1 /*untilDay*/,
24315  0 /*untilTimeCode (0/15)*/,
24316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24317  },
24318 
24319 };
24320 
24321 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x0a" "GMT+10";
24322 
24323 const complete::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
24324  kZoneNameEtc_GMT_PLUS_10 /*name*/,
24325  0x3f8f1cc4 /*zoneId*/,
24326  &kZoneContext /*zoneContext*/,
24327  1 /*numEras*/,
24328  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
24329  nullptr /*targetInfo*/,
24330 };
24331 
24332 //---------------------------------------------------------------------------
24333 // Zone name: Etc/GMT+11
24334 // Eras: 1
24335 //---------------------------------------------------------------------------
24336 
24337 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
24338  // -11 - %z
24339  {
24340  nullptr /*zonePolicy*/,
24341  "" /*format*/,
24342  -2640 /*offsetCode (-39600/15)*/,
24343  0 /*offsetRemainder (-39600%15)*/,
24344  0 /*deltaMinutes*/,
24345  32767 /*untilYear*/,
24346  1 /*untilMonth*/,
24347  1 /*untilDay*/,
24348  0 /*untilTimeCode (0/15)*/,
24349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24350  },
24351 
24352 };
24353 
24354 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x0a" "GMT+11";
24355 
24356 const complete::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
24357  kZoneNameEtc_GMT_PLUS_11 /*name*/,
24358  0x3f8f1cc5 /*zoneId*/,
24359  &kZoneContext /*zoneContext*/,
24360  1 /*numEras*/,
24361  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
24362  nullptr /*targetInfo*/,
24363 };
24364 
24365 //---------------------------------------------------------------------------
24366 // Zone name: Etc/GMT+12
24367 // Eras: 1
24368 //---------------------------------------------------------------------------
24369 
24370 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
24371  // -12 - %z
24372  {
24373  nullptr /*zonePolicy*/,
24374  "" /*format*/,
24375  -2880 /*offsetCode (-43200/15)*/,
24376  0 /*offsetRemainder (-43200%15)*/,
24377  0 /*deltaMinutes*/,
24378  32767 /*untilYear*/,
24379  1 /*untilMonth*/,
24380  1 /*untilDay*/,
24381  0 /*untilTimeCode (0/15)*/,
24382  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24383  },
24384 
24385 };
24386 
24387 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x0a" "GMT+12";
24388 
24389 const complete::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
24390  kZoneNameEtc_GMT_PLUS_12 /*name*/,
24391  0x3f8f1cc6 /*zoneId*/,
24392  &kZoneContext /*zoneContext*/,
24393  1 /*numEras*/,
24394  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
24395  nullptr /*targetInfo*/,
24396 };
24397 
24398 //---------------------------------------------------------------------------
24399 // Zone name: Etc/GMT+2
24400 // Eras: 1
24401 //---------------------------------------------------------------------------
24402 
24403 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
24404  // -2 - %z
24405  {
24406  nullptr /*zonePolicy*/,
24407  "" /*format*/,
24408  -480 /*offsetCode (-7200/15)*/,
24409  0 /*offsetRemainder (-7200%15)*/,
24410  0 /*deltaMinutes*/,
24411  32767 /*untilYear*/,
24412  1 /*untilMonth*/,
24413  1 /*untilDay*/,
24414  0 /*untilTimeCode (0/15)*/,
24415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24416  },
24417 
24418 };
24419 
24420 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x0a" "GMT+2";
24421 
24422 const complete::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
24423  kZoneNameEtc_GMT_PLUS_2 /*name*/,
24424  0x9d13da15 /*zoneId*/,
24425  &kZoneContext /*zoneContext*/,
24426  1 /*numEras*/,
24427  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
24428  nullptr /*targetInfo*/,
24429 };
24430 
24431 //---------------------------------------------------------------------------
24432 // Zone name: Etc/GMT+3
24433 // Eras: 1
24434 //---------------------------------------------------------------------------
24435 
24436 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
24437  // -3 - %z
24438  {
24439  nullptr /*zonePolicy*/,
24440  "" /*format*/,
24441  -720 /*offsetCode (-10800/15)*/,
24442  0 /*offsetRemainder (-10800%15)*/,
24443  0 /*deltaMinutes*/,
24444  32767 /*untilYear*/,
24445  1 /*untilMonth*/,
24446  1 /*untilDay*/,
24447  0 /*untilTimeCode (0/15)*/,
24448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24449  },
24450 
24451 };
24452 
24453 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x0a" "GMT+3";
24454 
24455 const complete::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
24456  kZoneNameEtc_GMT_PLUS_3 /*name*/,
24457  0x9d13da16 /*zoneId*/,
24458  &kZoneContext /*zoneContext*/,
24459  1 /*numEras*/,
24460  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
24461  nullptr /*targetInfo*/,
24462 };
24463 
24464 //---------------------------------------------------------------------------
24465 // Zone name: Etc/GMT+4
24466 // Eras: 1
24467 //---------------------------------------------------------------------------
24468 
24469 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
24470  // -4 - %z
24471  {
24472  nullptr /*zonePolicy*/,
24473  "" /*format*/,
24474  -960 /*offsetCode (-14400/15)*/,
24475  0 /*offsetRemainder (-14400%15)*/,
24476  0 /*deltaMinutes*/,
24477  32767 /*untilYear*/,
24478  1 /*untilMonth*/,
24479  1 /*untilDay*/,
24480  0 /*untilTimeCode (0/15)*/,
24481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24482  },
24483 
24484 };
24485 
24486 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x0a" "GMT+4";
24487 
24488 const complete::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
24489  kZoneNameEtc_GMT_PLUS_4 /*name*/,
24490  0x9d13da17 /*zoneId*/,
24491  &kZoneContext /*zoneContext*/,
24492  1 /*numEras*/,
24493  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
24494  nullptr /*targetInfo*/,
24495 };
24496 
24497 //---------------------------------------------------------------------------
24498 // Zone name: Etc/GMT+5
24499 // Eras: 1
24500 //---------------------------------------------------------------------------
24501 
24502 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
24503  // -5 - %z
24504  {
24505  nullptr /*zonePolicy*/,
24506  "" /*format*/,
24507  -1200 /*offsetCode (-18000/15)*/,
24508  0 /*offsetRemainder (-18000%15)*/,
24509  0 /*deltaMinutes*/,
24510  32767 /*untilYear*/,
24511  1 /*untilMonth*/,
24512  1 /*untilDay*/,
24513  0 /*untilTimeCode (0/15)*/,
24514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24515  },
24516 
24517 };
24518 
24519 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x0a" "GMT+5";
24520 
24521 const complete::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
24522  kZoneNameEtc_GMT_PLUS_5 /*name*/,
24523  0x9d13da18 /*zoneId*/,
24524  &kZoneContext /*zoneContext*/,
24525  1 /*numEras*/,
24526  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
24527  nullptr /*targetInfo*/,
24528 };
24529 
24530 //---------------------------------------------------------------------------
24531 // Zone name: Etc/GMT+6
24532 // Eras: 1
24533 //---------------------------------------------------------------------------
24534 
24535 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
24536  // -6 - %z
24537  {
24538  nullptr /*zonePolicy*/,
24539  "" /*format*/,
24540  -1440 /*offsetCode (-21600/15)*/,
24541  0 /*offsetRemainder (-21600%15)*/,
24542  0 /*deltaMinutes*/,
24543  32767 /*untilYear*/,
24544  1 /*untilMonth*/,
24545  1 /*untilDay*/,
24546  0 /*untilTimeCode (0/15)*/,
24547  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24548  },
24549 
24550 };
24551 
24552 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x0a" "GMT+6";
24553 
24554 const complete::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
24555  kZoneNameEtc_GMT_PLUS_6 /*name*/,
24556  0x9d13da19 /*zoneId*/,
24557  &kZoneContext /*zoneContext*/,
24558  1 /*numEras*/,
24559  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
24560  nullptr /*targetInfo*/,
24561 };
24562 
24563 //---------------------------------------------------------------------------
24564 // Zone name: Etc/GMT+7
24565 // Eras: 1
24566 //---------------------------------------------------------------------------
24567 
24568 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
24569  // -7 - %z
24570  {
24571  nullptr /*zonePolicy*/,
24572  "" /*format*/,
24573  -1680 /*offsetCode (-25200/15)*/,
24574  0 /*offsetRemainder (-25200%15)*/,
24575  0 /*deltaMinutes*/,
24576  32767 /*untilYear*/,
24577  1 /*untilMonth*/,
24578  1 /*untilDay*/,
24579  0 /*untilTimeCode (0/15)*/,
24580  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24581  },
24582 
24583 };
24584 
24585 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x0a" "GMT+7";
24586 
24587 const complete::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
24588  kZoneNameEtc_GMT_PLUS_7 /*name*/,
24589  0x9d13da1a /*zoneId*/,
24590  &kZoneContext /*zoneContext*/,
24591  1 /*numEras*/,
24592  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
24593  nullptr /*targetInfo*/,
24594 };
24595 
24596 //---------------------------------------------------------------------------
24597 // Zone name: Etc/GMT+8
24598 // Eras: 1
24599 //---------------------------------------------------------------------------
24600 
24601 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
24602  // -8 - %z
24603  {
24604  nullptr /*zonePolicy*/,
24605  "" /*format*/,
24606  -1920 /*offsetCode (-28800/15)*/,
24607  0 /*offsetRemainder (-28800%15)*/,
24608  0 /*deltaMinutes*/,
24609  32767 /*untilYear*/,
24610  1 /*untilMonth*/,
24611  1 /*untilDay*/,
24612  0 /*untilTimeCode (0/15)*/,
24613  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24614  },
24615 
24616 };
24617 
24618 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x0a" "GMT+8";
24619 
24620 const complete::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
24621  kZoneNameEtc_GMT_PLUS_8 /*name*/,
24622  0x9d13da1b /*zoneId*/,
24623  &kZoneContext /*zoneContext*/,
24624  1 /*numEras*/,
24625  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
24626  nullptr /*targetInfo*/,
24627 };
24628 
24629 //---------------------------------------------------------------------------
24630 // Zone name: Etc/GMT+9
24631 // Eras: 1
24632 //---------------------------------------------------------------------------
24633 
24634 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
24635  // -9 - %z
24636  {
24637  nullptr /*zonePolicy*/,
24638  "" /*format*/,
24639  -2160 /*offsetCode (-32400/15)*/,
24640  0 /*offsetRemainder (-32400%15)*/,
24641  0 /*deltaMinutes*/,
24642  32767 /*untilYear*/,
24643  1 /*untilMonth*/,
24644  1 /*untilDay*/,
24645  0 /*untilTimeCode (0/15)*/,
24646  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24647  },
24648 
24649 };
24650 
24651 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x0a" "GMT+9";
24652 
24653 const complete::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
24654  kZoneNameEtc_GMT_PLUS_9 /*name*/,
24655  0x9d13da1c /*zoneId*/,
24656  &kZoneContext /*zoneContext*/,
24657  1 /*numEras*/,
24658  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
24659  nullptr /*targetInfo*/,
24660 };
24661 
24662 //---------------------------------------------------------------------------
24663 // Zone name: Etc/GMT-1
24664 // Eras: 1
24665 //---------------------------------------------------------------------------
24666 
24667 static const complete::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
24668  // 1 - %z
24669  {
24670  nullptr /*zonePolicy*/,
24671  "" /*format*/,
24672  240 /*offsetCode (3600/15)*/,
24673  0 /*offsetRemainder (3600%15)*/,
24674  0 /*deltaMinutes*/,
24675  32767 /*untilYear*/,
24676  1 /*untilMonth*/,
24677  1 /*untilDay*/,
24678  0 /*untilTimeCode (0/15)*/,
24679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24680  },
24681 
24682 };
24683 
24684 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x0a" "GMT-1";
24685 
24686 const complete::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
24687  kZoneNameEtc_GMT_1 /*name*/,
24688  0x9d13da56 /*zoneId*/,
24689  &kZoneContext /*zoneContext*/,
24690  1 /*numEras*/,
24691  kZoneEraEtc_GMT_1 /*eras*/,
24692  nullptr /*targetInfo*/,
24693 };
24694 
24695 //---------------------------------------------------------------------------
24696 // Zone name: Etc/GMT-10
24697 // Eras: 1
24698 //---------------------------------------------------------------------------
24699 
24700 static const complete::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
24701  // 10 - %z
24702  {
24703  nullptr /*zonePolicy*/,
24704  "" /*format*/,
24705  2400 /*offsetCode (36000/15)*/,
24706  0 /*offsetRemainder (36000%15)*/,
24707  0 /*deltaMinutes*/,
24708  32767 /*untilYear*/,
24709  1 /*untilMonth*/,
24710  1 /*untilDay*/,
24711  0 /*untilTimeCode (0/15)*/,
24712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24713  },
24714 
24715 };
24716 
24717 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x0a" "GMT-10";
24718 
24719 const complete::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
24720  kZoneNameEtc_GMT_10 /*name*/,
24721  0x3f8f2546 /*zoneId*/,
24722  &kZoneContext /*zoneContext*/,
24723  1 /*numEras*/,
24724  kZoneEraEtc_GMT_10 /*eras*/,
24725  nullptr /*targetInfo*/,
24726 };
24727 
24728 //---------------------------------------------------------------------------
24729 // Zone name: Etc/GMT-11
24730 // Eras: 1
24731 //---------------------------------------------------------------------------
24732 
24733 static const complete::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
24734  // 11 - %z
24735  {
24736  nullptr /*zonePolicy*/,
24737  "" /*format*/,
24738  2640 /*offsetCode (39600/15)*/,
24739  0 /*offsetRemainder (39600%15)*/,
24740  0 /*deltaMinutes*/,
24741  32767 /*untilYear*/,
24742  1 /*untilMonth*/,
24743  1 /*untilDay*/,
24744  0 /*untilTimeCode (0/15)*/,
24745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24746  },
24747 
24748 };
24749 
24750 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x0a" "GMT-11";
24751 
24752 const complete::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
24753  kZoneNameEtc_GMT_11 /*name*/,
24754  0x3f8f2547 /*zoneId*/,
24755  &kZoneContext /*zoneContext*/,
24756  1 /*numEras*/,
24757  kZoneEraEtc_GMT_11 /*eras*/,
24758  nullptr /*targetInfo*/,
24759 };
24760 
24761 //---------------------------------------------------------------------------
24762 // Zone name: Etc/GMT-12
24763 // Eras: 1
24764 //---------------------------------------------------------------------------
24765 
24766 static const complete::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
24767  // 12 - %z
24768  {
24769  nullptr /*zonePolicy*/,
24770  "" /*format*/,
24771  2880 /*offsetCode (43200/15)*/,
24772  0 /*offsetRemainder (43200%15)*/,
24773  0 /*deltaMinutes*/,
24774  32767 /*untilYear*/,
24775  1 /*untilMonth*/,
24776  1 /*untilDay*/,
24777  0 /*untilTimeCode (0/15)*/,
24778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24779  },
24780 
24781 };
24782 
24783 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x0a" "GMT-12";
24784 
24785 const complete::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
24786  kZoneNameEtc_GMT_12 /*name*/,
24787  0x3f8f2548 /*zoneId*/,
24788  &kZoneContext /*zoneContext*/,
24789  1 /*numEras*/,
24790  kZoneEraEtc_GMT_12 /*eras*/,
24791  nullptr /*targetInfo*/,
24792 };
24793 
24794 //---------------------------------------------------------------------------
24795 // Zone name: Etc/GMT-13
24796 // Eras: 1
24797 //---------------------------------------------------------------------------
24798 
24799 static const complete::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
24800  // 13 - %z
24801  {
24802  nullptr /*zonePolicy*/,
24803  "" /*format*/,
24804  3120 /*offsetCode (46800/15)*/,
24805  0 /*offsetRemainder (46800%15)*/,
24806  0 /*deltaMinutes*/,
24807  32767 /*untilYear*/,
24808  1 /*untilMonth*/,
24809  1 /*untilDay*/,
24810  0 /*untilTimeCode (0/15)*/,
24811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24812  },
24813 
24814 };
24815 
24816 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x0a" "GMT-13";
24817 
24818 const complete::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
24819  kZoneNameEtc_GMT_13 /*name*/,
24820  0x3f8f2549 /*zoneId*/,
24821  &kZoneContext /*zoneContext*/,
24822  1 /*numEras*/,
24823  kZoneEraEtc_GMT_13 /*eras*/,
24824  nullptr /*targetInfo*/,
24825 };
24826 
24827 //---------------------------------------------------------------------------
24828 // Zone name: Etc/GMT-14
24829 // Eras: 1
24830 //---------------------------------------------------------------------------
24831 
24832 static const complete::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
24833  // 14 - %z
24834  {
24835  nullptr /*zonePolicy*/,
24836  "" /*format*/,
24837  3360 /*offsetCode (50400/15)*/,
24838  0 /*offsetRemainder (50400%15)*/,
24839  0 /*deltaMinutes*/,
24840  32767 /*untilYear*/,
24841  1 /*untilMonth*/,
24842  1 /*untilDay*/,
24843  0 /*untilTimeCode (0/15)*/,
24844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24845  },
24846 
24847 };
24848 
24849 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x0a" "GMT-14";
24850 
24851 const complete::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
24852  kZoneNameEtc_GMT_14 /*name*/,
24853  0x3f8f254a /*zoneId*/,
24854  &kZoneContext /*zoneContext*/,
24855  1 /*numEras*/,
24856  kZoneEraEtc_GMT_14 /*eras*/,
24857  nullptr /*targetInfo*/,
24858 };
24859 
24860 //---------------------------------------------------------------------------
24861 // Zone name: Etc/GMT-2
24862 // Eras: 1
24863 //---------------------------------------------------------------------------
24864 
24865 static const complete::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
24866  // 2 - %z
24867  {
24868  nullptr /*zonePolicy*/,
24869  "" /*format*/,
24870  480 /*offsetCode (7200/15)*/,
24871  0 /*offsetRemainder (7200%15)*/,
24872  0 /*deltaMinutes*/,
24873  32767 /*untilYear*/,
24874  1 /*untilMonth*/,
24875  1 /*untilDay*/,
24876  0 /*untilTimeCode (0/15)*/,
24877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24878  },
24879 
24880 };
24881 
24882 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x0a" "GMT-2";
24883 
24884 const complete::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
24885  kZoneNameEtc_GMT_2 /*name*/,
24886  0x9d13da57 /*zoneId*/,
24887  &kZoneContext /*zoneContext*/,
24888  1 /*numEras*/,
24889  kZoneEraEtc_GMT_2 /*eras*/,
24890  nullptr /*targetInfo*/,
24891 };
24892 
24893 //---------------------------------------------------------------------------
24894 // Zone name: Etc/GMT-3
24895 // Eras: 1
24896 //---------------------------------------------------------------------------
24897 
24898 static const complete::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
24899  // 3 - %z
24900  {
24901  nullptr /*zonePolicy*/,
24902  "" /*format*/,
24903  720 /*offsetCode (10800/15)*/,
24904  0 /*offsetRemainder (10800%15)*/,
24905  0 /*deltaMinutes*/,
24906  32767 /*untilYear*/,
24907  1 /*untilMonth*/,
24908  1 /*untilDay*/,
24909  0 /*untilTimeCode (0/15)*/,
24910  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24911  },
24912 
24913 };
24914 
24915 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x0a" "GMT-3";
24916 
24917 const complete::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
24918  kZoneNameEtc_GMT_3 /*name*/,
24919  0x9d13da58 /*zoneId*/,
24920  &kZoneContext /*zoneContext*/,
24921  1 /*numEras*/,
24922  kZoneEraEtc_GMT_3 /*eras*/,
24923  nullptr /*targetInfo*/,
24924 };
24925 
24926 //---------------------------------------------------------------------------
24927 // Zone name: Etc/GMT-4
24928 // Eras: 1
24929 //---------------------------------------------------------------------------
24930 
24931 static const complete::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
24932  // 4 - %z
24933  {
24934  nullptr /*zonePolicy*/,
24935  "" /*format*/,
24936  960 /*offsetCode (14400/15)*/,
24937  0 /*offsetRemainder (14400%15)*/,
24938  0 /*deltaMinutes*/,
24939  32767 /*untilYear*/,
24940  1 /*untilMonth*/,
24941  1 /*untilDay*/,
24942  0 /*untilTimeCode (0/15)*/,
24943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24944  },
24945 
24946 };
24947 
24948 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x0a" "GMT-4";
24949 
24950 const complete::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
24951  kZoneNameEtc_GMT_4 /*name*/,
24952  0x9d13da59 /*zoneId*/,
24953  &kZoneContext /*zoneContext*/,
24954  1 /*numEras*/,
24955  kZoneEraEtc_GMT_4 /*eras*/,
24956  nullptr /*targetInfo*/,
24957 };
24958 
24959 //---------------------------------------------------------------------------
24960 // Zone name: Etc/GMT-5
24961 // Eras: 1
24962 //---------------------------------------------------------------------------
24963 
24964 static const complete::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
24965  // 5 - %z
24966  {
24967  nullptr /*zonePolicy*/,
24968  "" /*format*/,
24969  1200 /*offsetCode (18000/15)*/,
24970  0 /*offsetRemainder (18000%15)*/,
24971  0 /*deltaMinutes*/,
24972  32767 /*untilYear*/,
24973  1 /*untilMonth*/,
24974  1 /*untilDay*/,
24975  0 /*untilTimeCode (0/15)*/,
24976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24977  },
24978 
24979 };
24980 
24981 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x0a" "GMT-5";
24982 
24983 const complete::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
24984  kZoneNameEtc_GMT_5 /*name*/,
24985  0x9d13da5a /*zoneId*/,
24986  &kZoneContext /*zoneContext*/,
24987  1 /*numEras*/,
24988  kZoneEraEtc_GMT_5 /*eras*/,
24989  nullptr /*targetInfo*/,
24990 };
24991 
24992 //---------------------------------------------------------------------------
24993 // Zone name: Etc/GMT-6
24994 // Eras: 1
24995 //---------------------------------------------------------------------------
24996 
24997 static const complete::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
24998  // 6 - %z
24999  {
25000  nullptr /*zonePolicy*/,
25001  "" /*format*/,
25002  1440 /*offsetCode (21600/15)*/,
25003  0 /*offsetRemainder (21600%15)*/,
25004  0 /*deltaMinutes*/,
25005  32767 /*untilYear*/,
25006  1 /*untilMonth*/,
25007  1 /*untilDay*/,
25008  0 /*untilTimeCode (0/15)*/,
25009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25010  },
25011 
25012 };
25013 
25014 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x0a" "GMT-6";
25015 
25016 const complete::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
25017  kZoneNameEtc_GMT_6 /*name*/,
25018  0x9d13da5b /*zoneId*/,
25019  &kZoneContext /*zoneContext*/,
25020  1 /*numEras*/,
25021  kZoneEraEtc_GMT_6 /*eras*/,
25022  nullptr /*targetInfo*/,
25023 };
25024 
25025 //---------------------------------------------------------------------------
25026 // Zone name: Etc/GMT-7
25027 // Eras: 1
25028 //---------------------------------------------------------------------------
25029 
25030 static const complete::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
25031  // 7 - %z
25032  {
25033  nullptr /*zonePolicy*/,
25034  "" /*format*/,
25035  1680 /*offsetCode (25200/15)*/,
25036  0 /*offsetRemainder (25200%15)*/,
25037  0 /*deltaMinutes*/,
25038  32767 /*untilYear*/,
25039  1 /*untilMonth*/,
25040  1 /*untilDay*/,
25041  0 /*untilTimeCode (0/15)*/,
25042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25043  },
25044 
25045 };
25046 
25047 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x0a" "GMT-7";
25048 
25049 const complete::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
25050  kZoneNameEtc_GMT_7 /*name*/,
25051  0x9d13da5c /*zoneId*/,
25052  &kZoneContext /*zoneContext*/,
25053  1 /*numEras*/,
25054  kZoneEraEtc_GMT_7 /*eras*/,
25055  nullptr /*targetInfo*/,
25056 };
25057 
25058 //---------------------------------------------------------------------------
25059 // Zone name: Etc/GMT-8
25060 // Eras: 1
25061 //---------------------------------------------------------------------------
25062 
25063 static const complete::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
25064  // 8 - %z
25065  {
25066  nullptr /*zonePolicy*/,
25067  "" /*format*/,
25068  1920 /*offsetCode (28800/15)*/,
25069  0 /*offsetRemainder (28800%15)*/,
25070  0 /*deltaMinutes*/,
25071  32767 /*untilYear*/,
25072  1 /*untilMonth*/,
25073  1 /*untilDay*/,
25074  0 /*untilTimeCode (0/15)*/,
25075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25076  },
25077 
25078 };
25079 
25080 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x0a" "GMT-8";
25081 
25082 const complete::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
25083  kZoneNameEtc_GMT_8 /*name*/,
25084  0x9d13da5d /*zoneId*/,
25085  &kZoneContext /*zoneContext*/,
25086  1 /*numEras*/,
25087  kZoneEraEtc_GMT_8 /*eras*/,
25088  nullptr /*targetInfo*/,
25089 };
25090 
25091 //---------------------------------------------------------------------------
25092 // Zone name: Etc/GMT-9
25093 // Eras: 1
25094 //---------------------------------------------------------------------------
25095 
25096 static const complete::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
25097  // 9 - %z
25098  {
25099  nullptr /*zonePolicy*/,
25100  "" /*format*/,
25101  2160 /*offsetCode (32400/15)*/,
25102  0 /*offsetRemainder (32400%15)*/,
25103  0 /*deltaMinutes*/,
25104  32767 /*untilYear*/,
25105  1 /*untilMonth*/,
25106  1 /*untilDay*/,
25107  0 /*untilTimeCode (0/15)*/,
25108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25109  },
25110 
25111 };
25112 
25113 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x0a" "GMT-9";
25114 
25115 const complete::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
25116  kZoneNameEtc_GMT_9 /*name*/,
25117  0x9d13da5e /*zoneId*/,
25118  &kZoneContext /*zoneContext*/,
25119  1 /*numEras*/,
25120  kZoneEraEtc_GMT_9 /*eras*/,
25121  nullptr /*targetInfo*/,
25122 };
25123 
25124 //---------------------------------------------------------------------------
25125 // Zone name: Etc/UTC
25126 // Eras: 1
25127 //---------------------------------------------------------------------------
25128 
25129 static const complete::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
25130  // 0 - UTC
25131  {
25132  nullptr /*zonePolicy*/,
25133  "UTC" /*format*/,
25134  0 /*offsetCode (0/15)*/,
25135  0 /*offsetRemainder (0%15)*/,
25136  0 /*deltaMinutes*/,
25137  32767 /*untilYear*/,
25138  1 /*untilMonth*/,
25139  1 /*untilDay*/,
25140  0 /*untilTimeCode (0/15)*/,
25141  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25142  },
25143 
25144 };
25145 
25146 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x0a" "UTC";
25147 
25148 const complete::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
25149  kZoneNameEtc_UTC /*name*/,
25150  0xd8e31abc /*zoneId*/,
25151  &kZoneContext /*zoneContext*/,
25152  1 /*numEras*/,
25153  kZoneEraEtc_UTC /*eras*/,
25154  nullptr /*targetInfo*/,
25155 };
25156 
25157 //---------------------------------------------------------------------------
25158 // Zone name: Europe/Andorra
25159 // Eras: 4
25160 //---------------------------------------------------------------------------
25161 
25162 static const complete::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
25163  // 0:06:04 - LMT 1901
25164  {
25165  nullptr /*zonePolicy*/,
25166  "LMT" /*format*/,
25167  24 /*offsetCode (364/15)*/,
25168  4 /*offsetRemainder (364%15)*/,
25169  0 /*deltaMinutes*/,
25170  1901 /*untilYear*/,
25171  1 /*untilMonth*/,
25172  1 /*untilDay*/,
25173  0 /*untilTimeCode (0/15)*/,
25174  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25175  },
25176  // 0:00 - WET 1946 Sep 30
25177  {
25178  nullptr /*zonePolicy*/,
25179  "WET" /*format*/,
25180  0 /*offsetCode (0/15)*/,
25181  0 /*offsetRemainder (0%15)*/,
25182  0 /*deltaMinutes*/,
25183  1946 /*untilYear*/,
25184  9 /*untilMonth*/,
25185  30 /*untilDay*/,
25186  0 /*untilTimeCode (0/15)*/,
25187  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25188  },
25189  // 1:00 - CET 1985 Mar 31 2:00
25190  {
25191  nullptr /*zonePolicy*/,
25192  "CET" /*format*/,
25193  240 /*offsetCode (3600/15)*/,
25194  0 /*offsetRemainder (3600%15)*/,
25195  0 /*deltaMinutes*/,
25196  1985 /*untilYear*/,
25197  3 /*untilMonth*/,
25198  31 /*untilDay*/,
25199  480 /*untilTimeCode (7200/15)*/,
25200  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25201  },
25202  // 1:00 EU CE%sT
25203  {
25204  &kZonePolicyEU /*zonePolicy*/,
25205  "CE%T" /*format*/,
25206  240 /*offsetCode (3600/15)*/,
25207  0 /*offsetRemainder (3600%15)*/,
25208  0 /*deltaMinutes*/,
25209  32767 /*untilYear*/,
25210  1 /*untilMonth*/,
25211  1 /*untilDay*/,
25212  0 /*untilTimeCode (0/15)*/,
25213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25214  },
25215 
25216 };
25217 
25218 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x0b" "Andorra";
25219 
25220 const complete::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
25221  kZoneNameEurope_Andorra /*name*/,
25222  0x97f6764b /*zoneId*/,
25223  &kZoneContext /*zoneContext*/,
25224  4 /*numEras*/,
25225  kZoneEraEurope_Andorra /*eras*/,
25226  nullptr /*targetInfo*/,
25227 };
25228 
25229 //---------------------------------------------------------------------------
25230 // Zone name: Europe/Astrakhan
25231 // Eras: 9
25232 //---------------------------------------------------------------------------
25233 
25234 static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
25235  // 3:12:12 - LMT 1924 May
25236  {
25237  nullptr /*zonePolicy*/,
25238  "LMT" /*format*/,
25239  768 /*offsetCode (11532/15)*/,
25240  12 /*offsetRemainder (11532%15)*/,
25241  0 /*deltaMinutes*/,
25242  1924 /*untilYear*/,
25243  5 /*untilMonth*/,
25244  1 /*untilDay*/,
25245  0 /*untilTimeCode (0/15)*/,
25246  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25247  },
25248  // 3:00 - %z 1930 Jun 21
25249  {
25250  nullptr /*zonePolicy*/,
25251  "" /*format*/,
25252  720 /*offsetCode (10800/15)*/,
25253  0 /*offsetRemainder (10800%15)*/,
25254  0 /*deltaMinutes*/,
25255  1930 /*untilYear*/,
25256  6 /*untilMonth*/,
25257  21 /*untilDay*/,
25258  0 /*untilTimeCode (0/15)*/,
25259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25260  },
25261  // 4:00 Russia %z 1989 Mar 26 2:00s
25262  {
25263  &kZonePolicyRussia /*zonePolicy*/,
25264  "" /*format*/,
25265  960 /*offsetCode (14400/15)*/,
25266  0 /*offsetRemainder (14400%15)*/,
25267  0 /*deltaMinutes*/,
25268  1989 /*untilYear*/,
25269  3 /*untilMonth*/,
25270  26 /*untilDay*/,
25271  480 /*untilTimeCode (7200/15)*/,
25272  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25273  },
25274  // 3:00 Russia %z 1991 Mar 31 2:00s
25275  {
25276  &kZonePolicyRussia /*zonePolicy*/,
25277  "" /*format*/,
25278  720 /*offsetCode (10800/15)*/,
25279  0 /*offsetRemainder (10800%15)*/,
25280  0 /*deltaMinutes*/,
25281  1991 /*untilYear*/,
25282  3 /*untilMonth*/,
25283  31 /*untilDay*/,
25284  480 /*untilTimeCode (7200/15)*/,
25285  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25286  },
25287  // 4:00 - %z 1992 Mar 29 2:00s
25288  {
25289  nullptr /*zonePolicy*/,
25290  "" /*format*/,
25291  960 /*offsetCode (14400/15)*/,
25292  0 /*offsetRemainder (14400%15)*/,
25293  0 /*deltaMinutes*/,
25294  1992 /*untilYear*/,
25295  3 /*untilMonth*/,
25296  29 /*untilDay*/,
25297  480 /*untilTimeCode (7200/15)*/,
25298  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25299  },
25300  // 3:00 Russia %z 2011 Mar 27 2:00s
25301  {
25302  &kZonePolicyRussia /*zonePolicy*/,
25303  "" /*format*/,
25304  720 /*offsetCode (10800/15)*/,
25305  0 /*offsetRemainder (10800%15)*/,
25306  0 /*deltaMinutes*/,
25307  2011 /*untilYear*/,
25308  3 /*untilMonth*/,
25309  27 /*untilDay*/,
25310  480 /*untilTimeCode (7200/15)*/,
25311  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25312  },
25313  // 4:00 - %z 2014 Oct 26 2:00s
25314  {
25315  nullptr /*zonePolicy*/,
25316  "" /*format*/,
25317  960 /*offsetCode (14400/15)*/,
25318  0 /*offsetRemainder (14400%15)*/,
25319  0 /*deltaMinutes*/,
25320  2014 /*untilYear*/,
25321  10 /*untilMonth*/,
25322  26 /*untilDay*/,
25323  480 /*untilTimeCode (7200/15)*/,
25324  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25325  },
25326  // 3:00 - %z 2016 Mar 27 2:00s
25327  {
25328  nullptr /*zonePolicy*/,
25329  "" /*format*/,
25330  720 /*offsetCode (10800/15)*/,
25331  0 /*offsetRemainder (10800%15)*/,
25332  0 /*deltaMinutes*/,
25333  2016 /*untilYear*/,
25334  3 /*untilMonth*/,
25335  27 /*untilDay*/,
25336  480 /*untilTimeCode (7200/15)*/,
25337  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25338  },
25339  // 4:00 - %z
25340  {
25341  nullptr /*zonePolicy*/,
25342  "" /*format*/,
25343  960 /*offsetCode (14400/15)*/,
25344  0 /*offsetRemainder (14400%15)*/,
25345  0 /*deltaMinutes*/,
25346  32767 /*untilYear*/,
25347  1 /*untilMonth*/,
25348  1 /*untilDay*/,
25349  0 /*untilTimeCode (0/15)*/,
25350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25351  },
25352 
25353 };
25354 
25355 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "\x0b" "Astrakhan";
25356 
25357 const complete::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
25358  kZoneNameEurope_Astrakhan /*name*/,
25359  0xe22256e1 /*zoneId*/,
25360  &kZoneContext /*zoneContext*/,
25361  9 /*numEras*/,
25362  kZoneEraEurope_Astrakhan /*eras*/,
25363  nullptr /*targetInfo*/,
25364 };
25365 
25366 //---------------------------------------------------------------------------
25367 // Zone name: Europe/Athens
25368 // Eras: 6
25369 //---------------------------------------------------------------------------
25370 
25371 static const complete::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
25372  // 1:34:52 - LMT 1895 Sep 14
25373  {
25374  nullptr /*zonePolicy*/,
25375  "LMT" /*format*/,
25376  379 /*offsetCode (5692/15)*/,
25377  7 /*offsetRemainder (5692%15)*/,
25378  0 /*deltaMinutes*/,
25379  1895 /*untilYear*/,
25380  9 /*untilMonth*/,
25381  14 /*untilDay*/,
25382  0 /*untilTimeCode (0/15)*/,
25383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25384  },
25385  // 1:34:52 - AMT 1916 Jul 28 0:01
25386  {
25387  nullptr /*zonePolicy*/,
25388  "AMT" /*format*/,
25389  379 /*offsetCode (5692/15)*/,
25390  7 /*offsetRemainder (5692%15)*/,
25391  0 /*deltaMinutes*/,
25392  1916 /*untilYear*/,
25393  7 /*untilMonth*/,
25394  28 /*untilDay*/,
25395  4 /*untilTimeCode (60/15)*/,
25396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25397  },
25398  // 2:00 Greece EE%sT 1941 Apr 30
25399  {
25400  &kZonePolicyGreece /*zonePolicy*/,
25401  "EE%T" /*format*/,
25402  480 /*offsetCode (7200/15)*/,
25403  0 /*offsetRemainder (7200%15)*/,
25404  0 /*deltaMinutes*/,
25405  1941 /*untilYear*/,
25406  4 /*untilMonth*/,
25407  30 /*untilDay*/,
25408  0 /*untilTimeCode (0/15)*/,
25409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25410  },
25411  // 1:00 Greece CE%sT 1944 Apr 4
25412  {
25413  &kZonePolicyGreece /*zonePolicy*/,
25414  "CE%T" /*format*/,
25415  240 /*offsetCode (3600/15)*/,
25416  0 /*offsetRemainder (3600%15)*/,
25417  0 /*deltaMinutes*/,
25418  1944 /*untilYear*/,
25419  4 /*untilMonth*/,
25420  4 /*untilDay*/,
25421  0 /*untilTimeCode (0/15)*/,
25422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25423  },
25424  // 2:00 Greece EE%sT 1981
25425  {
25426  &kZonePolicyGreece /*zonePolicy*/,
25427  "EE%T" /*format*/,
25428  480 /*offsetCode (7200/15)*/,
25429  0 /*offsetRemainder (7200%15)*/,
25430  0 /*deltaMinutes*/,
25431  1981 /*untilYear*/,
25432  1 /*untilMonth*/,
25433  1 /*untilDay*/,
25434  0 /*untilTimeCode (0/15)*/,
25435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25436  },
25437  // 2:00 EU EE%sT
25438  {
25439  &kZonePolicyEU /*zonePolicy*/,
25440  "EE%T" /*format*/,
25441  480 /*offsetCode (7200/15)*/,
25442  0 /*offsetRemainder (7200%15)*/,
25443  0 /*deltaMinutes*/,
25444  32767 /*untilYear*/,
25445  1 /*untilMonth*/,
25446  1 /*untilDay*/,
25447  0 /*untilTimeCode (0/15)*/,
25448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25449  },
25450 
25451 };
25452 
25453 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x0b" "Athens";
25454 
25455 const complete::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
25456  kZoneNameEurope_Athens /*name*/,
25457  0x4318fa27 /*zoneId*/,
25458  &kZoneContext /*zoneContext*/,
25459  6 /*numEras*/,
25460  kZoneEraEurope_Athens /*eras*/,
25461  nullptr /*targetInfo*/,
25462 };
25463 
25464 //---------------------------------------------------------------------------
25465 // Zone name: Europe/Belgrade
25466 // Eras: 7
25467 //---------------------------------------------------------------------------
25468 
25469 static const complete::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
25470  // 1:22:00 - LMT 1884
25471  {
25472  nullptr /*zonePolicy*/,
25473  "LMT" /*format*/,
25474  328 /*offsetCode (4920/15)*/,
25475  0 /*offsetRemainder (4920%15)*/,
25476  0 /*deltaMinutes*/,
25477  1884 /*untilYear*/,
25478  1 /*untilMonth*/,
25479  1 /*untilDay*/,
25480  0 /*untilTimeCode (0/15)*/,
25481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25482  },
25483  // 1:00 - CET 1941 Apr 18 23:00
25484  {
25485  nullptr /*zonePolicy*/,
25486  "CET" /*format*/,
25487  240 /*offsetCode (3600/15)*/,
25488  0 /*offsetRemainder (3600%15)*/,
25489  0 /*deltaMinutes*/,
25490  1941 /*untilYear*/,
25491  4 /*untilMonth*/,
25492  18 /*untilDay*/,
25493  5520 /*untilTimeCode (82800/15)*/,
25494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25495  },
25496  // 1:00 C-Eur CE%sT 1945
25497  {
25498  &kZonePolicyC_Eur /*zonePolicy*/,
25499  "CE%T" /*format*/,
25500  240 /*offsetCode (3600/15)*/,
25501  0 /*offsetRemainder (3600%15)*/,
25502  0 /*deltaMinutes*/,
25503  1945 /*untilYear*/,
25504  1 /*untilMonth*/,
25505  1 /*untilDay*/,
25506  0 /*untilTimeCode (0/15)*/,
25507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25508  },
25509  // 1:00 - CET 1945 May 8 2:00s
25510  {
25511  nullptr /*zonePolicy*/,
25512  "CET" /*format*/,
25513  240 /*offsetCode (3600/15)*/,
25514  0 /*offsetRemainder (3600%15)*/,
25515  0 /*deltaMinutes*/,
25516  1945 /*untilYear*/,
25517  5 /*untilMonth*/,
25518  8 /*untilDay*/,
25519  480 /*untilTimeCode (7200/15)*/,
25520  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25521  },
25522  // 1:00 1:00 CEST 1945 Sep 16 2:00s
25523  {
25524  nullptr /*zonePolicy*/,
25525  "CEST" /*format*/,
25526  240 /*offsetCode (3600/15)*/,
25527  0 /*offsetRemainder (3600%15)*/,
25528  60 /*deltaMinutes*/,
25529  1945 /*untilYear*/,
25530  9 /*untilMonth*/,
25531  16 /*untilDay*/,
25532  480 /*untilTimeCode (7200/15)*/,
25533  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25534  },
25535  // 1:00 - CET 1982 Nov 27
25536  {
25537  nullptr /*zonePolicy*/,
25538  "CET" /*format*/,
25539  240 /*offsetCode (3600/15)*/,
25540  0 /*offsetRemainder (3600%15)*/,
25541  0 /*deltaMinutes*/,
25542  1982 /*untilYear*/,
25543  11 /*untilMonth*/,
25544  27 /*untilDay*/,
25545  0 /*untilTimeCode (0/15)*/,
25546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25547  },
25548  // 1:00 EU CE%sT
25549  {
25550  &kZonePolicyEU /*zonePolicy*/,
25551  "CE%T" /*format*/,
25552  240 /*offsetCode (3600/15)*/,
25553  0 /*offsetRemainder (3600%15)*/,
25554  0 /*deltaMinutes*/,
25555  32767 /*untilYear*/,
25556  1 /*untilMonth*/,
25557  1 /*untilDay*/,
25558  0 /*untilTimeCode (0/15)*/,
25559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25560  },
25561 
25562 };
25563 
25564 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x0b" "Belgrade";
25565 
25566 const complete::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
25567  kZoneNameEurope_Belgrade /*name*/,
25568  0xe0532b3a /*zoneId*/,
25569  &kZoneContext /*zoneContext*/,
25570  7 /*numEras*/,
25571  kZoneEraEurope_Belgrade /*eras*/,
25572  nullptr /*targetInfo*/,
25573 };
25574 
25575 //---------------------------------------------------------------------------
25576 // Zone name: Europe/Berlin
25577 // Eras: 5
25578 //---------------------------------------------------------------------------
25579 
25580 static const complete::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
25581  // 0:53:28 - LMT 1893 Apr
25582  {
25583  nullptr /*zonePolicy*/,
25584  "LMT" /*format*/,
25585  213 /*offsetCode (3208/15)*/,
25586  13 /*offsetRemainder (3208%15)*/,
25587  0 /*deltaMinutes*/,
25588  1893 /*untilYear*/,
25589  4 /*untilMonth*/,
25590  1 /*untilDay*/,
25591  0 /*untilTimeCode (0/15)*/,
25592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25593  },
25594  // 1:00 C-Eur CE%sT 1945 May 24 2:00
25595  {
25596  &kZonePolicyC_Eur /*zonePolicy*/,
25597  "CE%T" /*format*/,
25598  240 /*offsetCode (3600/15)*/,
25599  0 /*offsetRemainder (3600%15)*/,
25600  0 /*deltaMinutes*/,
25601  1945 /*untilYear*/,
25602  5 /*untilMonth*/,
25603  24 /*untilDay*/,
25604  480 /*untilTimeCode (7200/15)*/,
25605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25606  },
25607  // 1:00 SovietZone CE%sT 1946
25608  {
25609  &kZonePolicySovietZone /*zonePolicy*/,
25610  "CE%T" /*format*/,
25611  240 /*offsetCode (3600/15)*/,
25612  0 /*offsetRemainder (3600%15)*/,
25613  0 /*deltaMinutes*/,
25614  1946 /*untilYear*/,
25615  1 /*untilMonth*/,
25616  1 /*untilDay*/,
25617  0 /*untilTimeCode (0/15)*/,
25618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25619  },
25620  // 1:00 Germany CE%sT 1980
25621  {
25622  &kZonePolicyGermany /*zonePolicy*/,
25623  "CE%T" /*format*/,
25624  240 /*offsetCode (3600/15)*/,
25625  0 /*offsetRemainder (3600%15)*/,
25626  0 /*deltaMinutes*/,
25627  1980 /*untilYear*/,
25628  1 /*untilMonth*/,
25629  1 /*untilDay*/,
25630  0 /*untilTimeCode (0/15)*/,
25631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25632  },
25633  // 1:00 EU CE%sT
25634  {
25635  &kZonePolicyEU /*zonePolicy*/,
25636  "CE%T" /*format*/,
25637  240 /*offsetCode (3600/15)*/,
25638  0 /*offsetRemainder (3600%15)*/,
25639  0 /*deltaMinutes*/,
25640  32767 /*untilYear*/,
25641  1 /*untilMonth*/,
25642  1 /*untilDay*/,
25643  0 /*untilTimeCode (0/15)*/,
25644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25645  },
25646 
25647 };
25648 
25649 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x0b" "Berlin";
25650 
25651 const complete::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
25652  kZoneNameEurope_Berlin /*name*/,
25653  0x44644c20 /*zoneId*/,
25654  &kZoneContext /*zoneContext*/,
25655  5 /*numEras*/,
25656  kZoneEraEurope_Berlin /*eras*/,
25657  nullptr /*targetInfo*/,
25658 };
25659 
25660 //---------------------------------------------------------------------------
25661 // Zone name: Europe/Brussels
25662 // Eras: 9
25663 //---------------------------------------------------------------------------
25664 
25665 static const complete::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
25666  // 0:17:30 - LMT 1880
25667  {
25668  nullptr /*zonePolicy*/,
25669  "LMT" /*format*/,
25670  70 /*offsetCode (1050/15)*/,
25671  0 /*offsetRemainder (1050%15)*/,
25672  0 /*deltaMinutes*/,
25673  1880 /*untilYear*/,
25674  1 /*untilMonth*/,
25675  1 /*untilDay*/,
25676  0 /*untilTimeCode (0/15)*/,
25677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25678  },
25679  // 0:17:30 - BMT 1892 May 1 00:17:30
25680  {
25681  nullptr /*zonePolicy*/,
25682  "BMT" /*format*/,
25683  70 /*offsetCode (1050/15)*/,
25684  0 /*offsetRemainder (1050%15)*/,
25685  0 /*deltaMinutes*/,
25686  1892 /*untilYear*/,
25687  5 /*untilMonth*/,
25688  1 /*untilDay*/,
25689  70 /*untilTimeCode (1050/15)*/,
25690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25691  },
25692  // 0:00 - WET 1914 Nov 8
25693  {
25694  nullptr /*zonePolicy*/,
25695  "WET" /*format*/,
25696  0 /*offsetCode (0/15)*/,
25697  0 /*offsetRemainder (0%15)*/,
25698  0 /*deltaMinutes*/,
25699  1914 /*untilYear*/,
25700  11 /*untilMonth*/,
25701  8 /*untilDay*/,
25702  0 /*untilTimeCode (0/15)*/,
25703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25704  },
25705  // 1:00 - CET 1916 May 1 0:00
25706  {
25707  nullptr /*zonePolicy*/,
25708  "CET" /*format*/,
25709  240 /*offsetCode (3600/15)*/,
25710  0 /*offsetRemainder (3600%15)*/,
25711  0 /*deltaMinutes*/,
25712  1916 /*untilYear*/,
25713  5 /*untilMonth*/,
25714  1 /*untilDay*/,
25715  0 /*untilTimeCode (0/15)*/,
25716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25717  },
25718  // 1:00 C-Eur CE%sT 1918 Nov 11 11:00u
25719  {
25720  &kZonePolicyC_Eur /*zonePolicy*/,
25721  "CE%T" /*format*/,
25722  240 /*offsetCode (3600/15)*/,
25723  0 /*offsetRemainder (3600%15)*/,
25724  0 /*deltaMinutes*/,
25725  1918 /*untilYear*/,
25726  11 /*untilMonth*/,
25727  11 /*untilDay*/,
25728  2640 /*untilTimeCode (39600/15)*/,
25729  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
25730  },
25731  // 0:00 Belgium WE%sT 1940 May 20 2:00s
25732  {
25733  &kZonePolicyBelgium /*zonePolicy*/,
25734  "WE%T" /*format*/,
25735  0 /*offsetCode (0/15)*/,
25736  0 /*offsetRemainder (0%15)*/,
25737  0 /*deltaMinutes*/,
25738  1940 /*untilYear*/,
25739  5 /*untilMonth*/,
25740  20 /*untilDay*/,
25741  480 /*untilTimeCode (7200/15)*/,
25742  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25743  },
25744  // 1:00 C-Eur CE%sT 1944 Sep 3
25745  {
25746  &kZonePolicyC_Eur /*zonePolicy*/,
25747  "CE%T" /*format*/,
25748  240 /*offsetCode (3600/15)*/,
25749  0 /*offsetRemainder (3600%15)*/,
25750  0 /*deltaMinutes*/,
25751  1944 /*untilYear*/,
25752  9 /*untilMonth*/,
25753  3 /*untilDay*/,
25754  0 /*untilTimeCode (0/15)*/,
25755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25756  },
25757  // 1:00 Belgium CE%sT 1977
25758  {
25759  &kZonePolicyBelgium /*zonePolicy*/,
25760  "CE%T" /*format*/,
25761  240 /*offsetCode (3600/15)*/,
25762  0 /*offsetRemainder (3600%15)*/,
25763  0 /*deltaMinutes*/,
25764  1977 /*untilYear*/,
25765  1 /*untilMonth*/,
25766  1 /*untilDay*/,
25767  0 /*untilTimeCode (0/15)*/,
25768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25769  },
25770  // 1:00 EU CE%sT
25771  {
25772  &kZonePolicyEU /*zonePolicy*/,
25773  "CE%T" /*format*/,
25774  240 /*offsetCode (3600/15)*/,
25775  0 /*offsetRemainder (3600%15)*/,
25776  0 /*deltaMinutes*/,
25777  32767 /*untilYear*/,
25778  1 /*untilMonth*/,
25779  1 /*untilDay*/,
25780  0 /*untilTimeCode (0/15)*/,
25781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25782  },
25783 
25784 };
25785 
25786 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x0b" "Brussels";
25787 
25788 const complete::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
25789  kZoneNameEurope_Brussels /*name*/,
25790  0xdee07337 /*zoneId*/,
25791  &kZoneContext /*zoneContext*/,
25792  9 /*numEras*/,
25793  kZoneEraEurope_Brussels /*eras*/,
25794  nullptr /*targetInfo*/,
25795 };
25796 
25797 //---------------------------------------------------------------------------
25798 // Zone name: Europe/Bucharest
25799 // Eras: 7
25800 //---------------------------------------------------------------------------
25801 
25802 static const complete::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
25803  // 1:44:24 - LMT 1891 Oct
25804  {
25805  nullptr /*zonePolicy*/,
25806  "LMT" /*format*/,
25807  417 /*offsetCode (6264/15)*/,
25808  9 /*offsetRemainder (6264%15)*/,
25809  0 /*deltaMinutes*/,
25810  1891 /*untilYear*/,
25811  10 /*untilMonth*/,
25812  1 /*untilDay*/,
25813  0 /*untilTimeCode (0/15)*/,
25814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25815  },
25816  // 1:44:24 - BMT 1931 Jul 24
25817  {
25818  nullptr /*zonePolicy*/,
25819  "BMT" /*format*/,
25820  417 /*offsetCode (6264/15)*/,
25821  9 /*offsetRemainder (6264%15)*/,
25822  0 /*deltaMinutes*/,
25823  1931 /*untilYear*/,
25824  7 /*untilMonth*/,
25825  24 /*untilDay*/,
25826  0 /*untilTimeCode (0/15)*/,
25827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25828  },
25829  // 2:00 Romania EE%sT 1981 Mar 29 2:00s
25830  {
25831  &kZonePolicyRomania /*zonePolicy*/,
25832  "EE%T" /*format*/,
25833  480 /*offsetCode (7200/15)*/,
25834  0 /*offsetRemainder (7200%15)*/,
25835  0 /*deltaMinutes*/,
25836  1981 /*untilYear*/,
25837  3 /*untilMonth*/,
25838  29 /*untilDay*/,
25839  480 /*untilTimeCode (7200/15)*/,
25840  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25841  },
25842  // 2:00 C-Eur EE%sT 1991
25843  {
25844  &kZonePolicyC_Eur /*zonePolicy*/,
25845  "EE%T" /*format*/,
25846  480 /*offsetCode (7200/15)*/,
25847  0 /*offsetRemainder (7200%15)*/,
25848  0 /*deltaMinutes*/,
25849  1991 /*untilYear*/,
25850  1 /*untilMonth*/,
25851  1 /*untilDay*/,
25852  0 /*untilTimeCode (0/15)*/,
25853  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25854  },
25855  // 2:00 Romania EE%sT 1994
25856  {
25857  &kZonePolicyRomania /*zonePolicy*/,
25858  "EE%T" /*format*/,
25859  480 /*offsetCode (7200/15)*/,
25860  0 /*offsetRemainder (7200%15)*/,
25861  0 /*deltaMinutes*/,
25862  1994 /*untilYear*/,
25863  1 /*untilMonth*/,
25864  1 /*untilDay*/,
25865  0 /*untilTimeCode (0/15)*/,
25866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25867  },
25868  // 2:00 E-Eur EE%sT 1997
25869  {
25870  &kZonePolicyE_Eur /*zonePolicy*/,
25871  "EE%T" /*format*/,
25872  480 /*offsetCode (7200/15)*/,
25873  0 /*offsetRemainder (7200%15)*/,
25874  0 /*deltaMinutes*/,
25875  1997 /*untilYear*/,
25876  1 /*untilMonth*/,
25877  1 /*untilDay*/,
25878  0 /*untilTimeCode (0/15)*/,
25879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25880  },
25881  // 2:00 EU EE%sT
25882  {
25883  &kZonePolicyEU /*zonePolicy*/,
25884  "EE%T" /*format*/,
25885  480 /*offsetCode (7200/15)*/,
25886  0 /*offsetRemainder (7200%15)*/,
25887  0 /*deltaMinutes*/,
25888  32767 /*untilYear*/,
25889  1 /*untilMonth*/,
25890  1 /*untilDay*/,
25891  0 /*untilTimeCode (0/15)*/,
25892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25893  },
25894 
25895 };
25896 
25897 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x0b" "Bucharest";
25898 
25899 const complete::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
25900  kZoneNameEurope_Bucharest /*name*/,
25901  0xfb349ec5 /*zoneId*/,
25902  &kZoneContext /*zoneContext*/,
25903  7 /*numEras*/,
25904  kZoneEraEurope_Bucharest /*eras*/,
25905  nullptr /*targetInfo*/,
25906 };
25907 
25908 //---------------------------------------------------------------------------
25909 // Zone name: Europe/Budapest
25910 // Eras: 6
25911 //---------------------------------------------------------------------------
25912 
25913 static const complete::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
25914  // 1:16:20 - LMT 1890 Nov 1
25915  {
25916  nullptr /*zonePolicy*/,
25917  "LMT" /*format*/,
25918  305 /*offsetCode (4580/15)*/,
25919  5 /*offsetRemainder (4580%15)*/,
25920  0 /*deltaMinutes*/,
25921  1890 /*untilYear*/,
25922  11 /*untilMonth*/,
25923  1 /*untilDay*/,
25924  0 /*untilTimeCode (0/15)*/,
25925  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25926  },
25927  // 1:00 C-Eur CE%sT 1918
25928  {
25929  &kZonePolicyC_Eur /*zonePolicy*/,
25930  "CE%T" /*format*/,
25931  240 /*offsetCode (3600/15)*/,
25932  0 /*offsetRemainder (3600%15)*/,
25933  0 /*deltaMinutes*/,
25934  1918 /*untilYear*/,
25935  1 /*untilMonth*/,
25936  1 /*untilDay*/,
25937  0 /*untilTimeCode (0/15)*/,
25938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25939  },
25940  // 1:00 Hungary CE%sT 1941 Apr 7 23:00
25941  {
25942  &kZonePolicyHungary /*zonePolicy*/,
25943  "CE%T" /*format*/,
25944  240 /*offsetCode (3600/15)*/,
25945  0 /*offsetRemainder (3600%15)*/,
25946  0 /*deltaMinutes*/,
25947  1941 /*untilYear*/,
25948  4 /*untilMonth*/,
25949  7 /*untilDay*/,
25950  5520 /*untilTimeCode (82800/15)*/,
25951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25952  },
25953  // 1:00 C-Eur CE%sT 1945
25954  {
25955  &kZonePolicyC_Eur /*zonePolicy*/,
25956  "CE%T" /*format*/,
25957  240 /*offsetCode (3600/15)*/,
25958  0 /*offsetRemainder (3600%15)*/,
25959  0 /*deltaMinutes*/,
25960  1945 /*untilYear*/,
25961  1 /*untilMonth*/,
25962  1 /*untilDay*/,
25963  0 /*untilTimeCode (0/15)*/,
25964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25965  },
25966  // 1:00 Hungary CE%sT 1984
25967  {
25968  &kZonePolicyHungary /*zonePolicy*/,
25969  "CE%T" /*format*/,
25970  240 /*offsetCode (3600/15)*/,
25971  0 /*offsetRemainder (3600%15)*/,
25972  0 /*deltaMinutes*/,
25973  1984 /*untilYear*/,
25974  1 /*untilMonth*/,
25975  1 /*untilDay*/,
25976  0 /*untilTimeCode (0/15)*/,
25977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25978  },
25979  // 1:00 EU CE%sT
25980  {
25981  &kZonePolicyEU /*zonePolicy*/,
25982  "CE%T" /*format*/,
25983  240 /*offsetCode (3600/15)*/,
25984  0 /*offsetRemainder (3600%15)*/,
25985  0 /*deltaMinutes*/,
25986  32767 /*untilYear*/,
25987  1 /*untilMonth*/,
25988  1 /*untilDay*/,
25989  0 /*untilTimeCode (0/15)*/,
25990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25991  },
25992 
25993 };
25994 
25995 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x0b" "Budapest";
25996 
25997 const complete::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
25998  kZoneNameEurope_Budapest /*name*/,
25999  0x9ce0197c /*zoneId*/,
26000  &kZoneContext /*zoneContext*/,
26001  6 /*numEras*/,
26002  kZoneEraEurope_Budapest /*eras*/,
26003  nullptr /*targetInfo*/,
26004 };
26005 
26006 //---------------------------------------------------------------------------
26007 // Zone name: Europe/Chisinau
26008 // Eras: 10
26009 //---------------------------------------------------------------------------
26010 
26011 static const complete::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
26012  // 1:55:20 - LMT 1880
26013  {
26014  nullptr /*zonePolicy*/,
26015  "LMT" /*format*/,
26016  461 /*offsetCode (6920/15)*/,
26017  5 /*offsetRemainder (6920%15)*/,
26018  0 /*deltaMinutes*/,
26019  1880 /*untilYear*/,
26020  1 /*untilMonth*/,
26021  1 /*untilDay*/,
26022  0 /*untilTimeCode (0/15)*/,
26023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26024  },
26025  // 1:55 - CMT 1918 Feb 15
26026  {
26027  nullptr /*zonePolicy*/,
26028  "CMT" /*format*/,
26029  460 /*offsetCode (6900/15)*/,
26030  0 /*offsetRemainder (6900%15)*/,
26031  0 /*deltaMinutes*/,
26032  1918 /*untilYear*/,
26033  2 /*untilMonth*/,
26034  15 /*untilDay*/,
26035  0 /*untilTimeCode (0/15)*/,
26036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26037  },
26038  // 1:44:24 - BMT 1931 Jul 24
26039  {
26040  nullptr /*zonePolicy*/,
26041  "BMT" /*format*/,
26042  417 /*offsetCode (6264/15)*/,
26043  9 /*offsetRemainder (6264%15)*/,
26044  0 /*deltaMinutes*/,
26045  1931 /*untilYear*/,
26046  7 /*untilMonth*/,
26047  24 /*untilDay*/,
26048  0 /*untilTimeCode (0/15)*/,
26049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26050  },
26051  // 2:00 Romania EE%sT 1940 Aug 15
26052  {
26053  &kZonePolicyRomania /*zonePolicy*/,
26054  "EE%T" /*format*/,
26055  480 /*offsetCode (7200/15)*/,
26056  0 /*offsetRemainder (7200%15)*/,
26057  0 /*deltaMinutes*/,
26058  1940 /*untilYear*/,
26059  8 /*untilMonth*/,
26060  15 /*untilDay*/,
26061  0 /*untilTimeCode (0/15)*/,
26062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26063  },
26064  // 2:00 1:00 EEST 1941 Jul 17
26065  {
26066  nullptr /*zonePolicy*/,
26067  "EEST" /*format*/,
26068  480 /*offsetCode (7200/15)*/,
26069  0 /*offsetRemainder (7200%15)*/,
26070  60 /*deltaMinutes*/,
26071  1941 /*untilYear*/,
26072  7 /*untilMonth*/,
26073  17 /*untilDay*/,
26074  0 /*untilTimeCode (0/15)*/,
26075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26076  },
26077  // 1:00 C-Eur CE%sT 1944 Aug 24
26078  {
26079  &kZonePolicyC_Eur /*zonePolicy*/,
26080  "CE%T" /*format*/,
26081  240 /*offsetCode (3600/15)*/,
26082  0 /*offsetRemainder (3600%15)*/,
26083  0 /*deltaMinutes*/,
26084  1944 /*untilYear*/,
26085  8 /*untilMonth*/,
26086  24 /*untilDay*/,
26087  0 /*untilTimeCode (0/15)*/,
26088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26089  },
26090  // 3:00 Russia MSK/MSD 1990 May 6 2:00
26091  {
26092  &kZonePolicyRussia /*zonePolicy*/,
26093  "MSK/MSD" /*format*/,
26094  720 /*offsetCode (10800/15)*/,
26095  0 /*offsetRemainder (10800%15)*/,
26096  0 /*deltaMinutes*/,
26097  1990 /*untilYear*/,
26098  5 /*untilMonth*/,
26099  6 /*untilDay*/,
26100  480 /*untilTimeCode (7200/15)*/,
26101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26102  },
26103  // 2:00 Russia EE%sT 1992
26104  {
26105  &kZonePolicyRussia /*zonePolicy*/,
26106  "EE%T" /*format*/,
26107  480 /*offsetCode (7200/15)*/,
26108  0 /*offsetRemainder (7200%15)*/,
26109  0 /*deltaMinutes*/,
26110  1992 /*untilYear*/,
26111  1 /*untilMonth*/,
26112  1 /*untilDay*/,
26113  0 /*untilTimeCode (0/15)*/,
26114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26115  },
26116  // 2:00 E-Eur EE%sT 1997
26117  {
26118  &kZonePolicyE_Eur /*zonePolicy*/,
26119  "EE%T" /*format*/,
26120  480 /*offsetCode (7200/15)*/,
26121  0 /*offsetRemainder (7200%15)*/,
26122  0 /*deltaMinutes*/,
26123  1997 /*untilYear*/,
26124  1 /*untilMonth*/,
26125  1 /*untilDay*/,
26126  0 /*untilTimeCode (0/15)*/,
26127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26128  },
26129  // 2:00 Moldova EE%sT
26130  {
26131  &kZonePolicyMoldova /*zonePolicy*/,
26132  "EE%T" /*format*/,
26133  480 /*offsetCode (7200/15)*/,
26134  0 /*offsetRemainder (7200%15)*/,
26135  0 /*deltaMinutes*/,
26136  32767 /*untilYear*/,
26137  1 /*untilMonth*/,
26138  1 /*untilDay*/,
26139  0 /*untilTimeCode (0/15)*/,
26140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26141  },
26142 
26143 };
26144 
26145 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x0b" "Chisinau";
26146 
26147 const complete::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
26148  kZoneNameEurope_Chisinau /*name*/,
26149  0xad58aa18 /*zoneId*/,
26150  &kZoneContext /*zoneContext*/,
26151  10 /*numEras*/,
26152  kZoneEraEurope_Chisinau /*eras*/,
26153  nullptr /*targetInfo*/,
26154 };
26155 
26156 //---------------------------------------------------------------------------
26157 // Zone name: Europe/Dublin
26158 // Eras: 11
26159 //---------------------------------------------------------------------------
26160 
26161 static const complete::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
26162  // -0:25:21 - LMT 1880 Aug 2
26163  {
26164  nullptr /*zonePolicy*/,
26165  "LMT" /*format*/,
26166  -102 /*offsetCode (-1521/15)*/,
26167  9 /*offsetRemainder (-1521%15)*/,
26168  0 /*deltaMinutes*/,
26169  1880 /*untilYear*/,
26170  8 /*untilMonth*/,
26171  2 /*untilDay*/,
26172  0 /*untilTimeCode (0/15)*/,
26173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26174  },
26175  // -0:25:21 - DMT 1916 May 21 2:00s
26176  {
26177  nullptr /*zonePolicy*/,
26178  "DMT" /*format*/,
26179  -102 /*offsetCode (-1521/15)*/,
26180  9 /*offsetRemainder (-1521%15)*/,
26181  0 /*deltaMinutes*/,
26182  1916 /*untilYear*/,
26183  5 /*untilMonth*/,
26184  21 /*untilDay*/,
26185  480 /*untilTimeCode (7200/15)*/,
26186  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26187  },
26188  // -0:25:21 1:00 IST 1916 Oct 1 2:00s
26189  {
26190  nullptr /*zonePolicy*/,
26191  "IST" /*format*/,
26192  -102 /*offsetCode (-1521/15)*/,
26193  9 /*offsetRemainder (-1521%15)*/,
26194  60 /*deltaMinutes*/,
26195  1916 /*untilYear*/,
26196  10 /*untilMonth*/,
26197  1 /*untilDay*/,
26198  480 /*untilTimeCode (7200/15)*/,
26199  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26200  },
26201  // 0:00 GB-Eire %s 1921 Dec 6
26202  {
26203  &kZonePolicyGB_Eire /*zonePolicy*/,
26204  "%" /*format*/,
26205  0 /*offsetCode (0/15)*/,
26206  0 /*offsetRemainder (0%15)*/,
26207  0 /*deltaMinutes*/,
26208  1921 /*untilYear*/,
26209  12 /*untilMonth*/,
26210  6 /*untilDay*/,
26211  0 /*untilTimeCode (0/15)*/,
26212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26213  },
26214  // 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s
26215  {
26216  &kZonePolicyGB_Eire /*zonePolicy*/,
26217  "GMT/IST" /*format*/,
26218  0 /*offsetCode (0/15)*/,
26219  0 /*offsetRemainder (0%15)*/,
26220  0 /*deltaMinutes*/,
26221  1940 /*untilYear*/,
26222  2 /*untilMonth*/,
26223  25 /*untilDay*/,
26224  480 /*untilTimeCode (7200/15)*/,
26225  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26226  },
26227  // 0:00 1:00 IST 1946 Oct 6 2:00s
26228  {
26229  nullptr /*zonePolicy*/,
26230  "IST" /*format*/,
26231  0 /*offsetCode (0/15)*/,
26232  0 /*offsetRemainder (0%15)*/,
26233  60 /*deltaMinutes*/,
26234  1946 /*untilYear*/,
26235  10 /*untilMonth*/,
26236  6 /*untilDay*/,
26237  480 /*untilTimeCode (7200/15)*/,
26238  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26239  },
26240  // 0:00 - GMT 1947 Mar 16 2:00s
26241  {
26242  nullptr /*zonePolicy*/,
26243  "GMT" /*format*/,
26244  0 /*offsetCode (0/15)*/,
26245  0 /*offsetRemainder (0%15)*/,
26246  0 /*deltaMinutes*/,
26247  1947 /*untilYear*/,
26248  3 /*untilMonth*/,
26249  16 /*untilDay*/,
26250  480 /*untilTimeCode (7200/15)*/,
26251  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26252  },
26253  // 0:00 1:00 IST 1947 Nov 2 2:00s
26254  {
26255  nullptr /*zonePolicy*/,
26256  "IST" /*format*/,
26257  0 /*offsetCode (0/15)*/,
26258  0 /*offsetRemainder (0%15)*/,
26259  60 /*deltaMinutes*/,
26260  1947 /*untilYear*/,
26261  11 /*untilMonth*/,
26262  2 /*untilDay*/,
26263  480 /*untilTimeCode (7200/15)*/,
26264  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26265  },
26266  // 0:00 - GMT 1948 Apr 18 2:00s
26267  {
26268  nullptr /*zonePolicy*/,
26269  "GMT" /*format*/,
26270  0 /*offsetCode (0/15)*/,
26271  0 /*offsetRemainder (0%15)*/,
26272  0 /*deltaMinutes*/,
26273  1948 /*untilYear*/,
26274  4 /*untilMonth*/,
26275  18 /*untilDay*/,
26276  480 /*untilTimeCode (7200/15)*/,
26277  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26278  },
26279  // 0:00 GB-Eire GMT/IST 1968 Oct 27
26280  {
26281  &kZonePolicyGB_Eire /*zonePolicy*/,
26282  "GMT/IST" /*format*/,
26283  0 /*offsetCode (0/15)*/,
26284  0 /*offsetRemainder (0%15)*/,
26285  0 /*deltaMinutes*/,
26286  1968 /*untilYear*/,
26287  10 /*untilMonth*/,
26288  27 /*untilDay*/,
26289  0 /*untilTimeCode (0/15)*/,
26290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26291  },
26292  // 1:00 Eire IST/GMT
26293  {
26294  &kZonePolicyEire /*zonePolicy*/,
26295  "IST/GMT" /*format*/,
26296  240 /*offsetCode (3600/15)*/,
26297  0 /*offsetRemainder (3600%15)*/,
26298  0 /*deltaMinutes*/,
26299  32767 /*untilYear*/,
26300  1 /*untilMonth*/,
26301  1 /*untilDay*/,
26302  0 /*untilTimeCode (0/15)*/,
26303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26304  },
26305 
26306 };
26307 
26308 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x0b" "Dublin";
26309 
26310 const complete::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
26311  kZoneNameEurope_Dublin /*name*/,
26312  0x4a275f62 /*zoneId*/,
26313  &kZoneContext /*zoneContext*/,
26314  11 /*numEras*/,
26315  kZoneEraEurope_Dublin /*eras*/,
26316  nullptr /*targetInfo*/,
26317 };
26318 
26319 //---------------------------------------------------------------------------
26320 // Zone name: Europe/Gibraltar
26321 // Eras: 4
26322 //---------------------------------------------------------------------------
26323 
26324 static const complete::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
26325  // -0:21:24 - LMT 1880 Aug 2
26326  {
26327  nullptr /*zonePolicy*/,
26328  "LMT" /*format*/,
26329  -86 /*offsetCode (-1284/15)*/,
26330  6 /*offsetRemainder (-1284%15)*/,
26331  0 /*deltaMinutes*/,
26332  1880 /*untilYear*/,
26333  8 /*untilMonth*/,
26334  2 /*untilDay*/,
26335  0 /*untilTimeCode (0/15)*/,
26336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26337  },
26338  // 0:00 GB-Eire %s 1957 Apr 14 2:00
26339  {
26340  &kZonePolicyGB_Eire /*zonePolicy*/,
26341  "%" /*format*/,
26342  0 /*offsetCode (0/15)*/,
26343  0 /*offsetRemainder (0%15)*/,
26344  0 /*deltaMinutes*/,
26345  1957 /*untilYear*/,
26346  4 /*untilMonth*/,
26347  14 /*untilDay*/,
26348  480 /*untilTimeCode (7200/15)*/,
26349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26350  },
26351  // 1:00 - CET 1982
26352  {
26353  nullptr /*zonePolicy*/,
26354  "CET" /*format*/,
26355  240 /*offsetCode (3600/15)*/,
26356  0 /*offsetRemainder (3600%15)*/,
26357  0 /*deltaMinutes*/,
26358  1982 /*untilYear*/,
26359  1 /*untilMonth*/,
26360  1 /*untilDay*/,
26361  0 /*untilTimeCode (0/15)*/,
26362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26363  },
26364  // 1:00 EU CE%sT
26365  {
26366  &kZonePolicyEU /*zonePolicy*/,
26367  "CE%T" /*format*/,
26368  240 /*offsetCode (3600/15)*/,
26369  0 /*offsetRemainder (3600%15)*/,
26370  0 /*deltaMinutes*/,
26371  32767 /*untilYear*/,
26372  1 /*untilMonth*/,
26373  1 /*untilDay*/,
26374  0 /*untilTimeCode (0/15)*/,
26375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26376  },
26377 
26378 };
26379 
26380 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x0b" "Gibraltar";
26381 
26382 const complete::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
26383  kZoneNameEurope_Gibraltar /*name*/,
26384  0xf8e325fc /*zoneId*/,
26385  &kZoneContext /*zoneContext*/,
26386  4 /*numEras*/,
26387  kZoneEraEurope_Gibraltar /*eras*/,
26388  nullptr /*targetInfo*/,
26389 };
26390 
26391 //---------------------------------------------------------------------------
26392 // Zone name: Europe/Helsinki
26393 // Eras: 4
26394 //---------------------------------------------------------------------------
26395 
26396 static const complete::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
26397  // 1:39:49 - LMT 1878 May 31
26398  {
26399  nullptr /*zonePolicy*/,
26400  "LMT" /*format*/,
26401  399 /*offsetCode (5989/15)*/,
26402  4 /*offsetRemainder (5989%15)*/,
26403  0 /*deltaMinutes*/,
26404  1878 /*untilYear*/,
26405  5 /*untilMonth*/,
26406  31 /*untilDay*/,
26407  0 /*untilTimeCode (0/15)*/,
26408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26409  },
26410  // 1:39:49 - HMT 1921 May
26411  {
26412  nullptr /*zonePolicy*/,
26413  "HMT" /*format*/,
26414  399 /*offsetCode (5989/15)*/,
26415  4 /*offsetRemainder (5989%15)*/,
26416  0 /*deltaMinutes*/,
26417  1921 /*untilYear*/,
26418  5 /*untilMonth*/,
26419  1 /*untilDay*/,
26420  0 /*untilTimeCode (0/15)*/,
26421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26422  },
26423  // 2:00 Finland EE%sT 1983
26424  {
26425  &kZonePolicyFinland /*zonePolicy*/,
26426  "EE%T" /*format*/,
26427  480 /*offsetCode (7200/15)*/,
26428  0 /*offsetRemainder (7200%15)*/,
26429  0 /*deltaMinutes*/,
26430  1983 /*untilYear*/,
26431  1 /*untilMonth*/,
26432  1 /*untilDay*/,
26433  0 /*untilTimeCode (0/15)*/,
26434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26435  },
26436  // 2:00 EU EE%sT
26437  {
26438  &kZonePolicyEU /*zonePolicy*/,
26439  "EE%T" /*format*/,
26440  480 /*offsetCode (7200/15)*/,
26441  0 /*offsetRemainder (7200%15)*/,
26442  0 /*deltaMinutes*/,
26443  32767 /*untilYear*/,
26444  1 /*untilMonth*/,
26445  1 /*untilDay*/,
26446  0 /*untilTimeCode (0/15)*/,
26447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26448  },
26449 
26450 };
26451 
26452 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x0b" "Helsinki";
26453 
26454 const complete::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
26455  kZoneNameEurope_Helsinki /*name*/,
26456  0x6ab2975b /*zoneId*/,
26457  &kZoneContext /*zoneContext*/,
26458  4 /*numEras*/,
26459  kZoneEraEurope_Helsinki /*eras*/,
26460  nullptr /*targetInfo*/,
26461 };
26462 
26463 //---------------------------------------------------------------------------
26464 // Zone name: Europe/Istanbul
26465 // Eras: 13
26466 //---------------------------------------------------------------------------
26467 
26468 static const complete::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
26469  // 1:55:52 - LMT 1880
26470  {
26471  nullptr /*zonePolicy*/,
26472  "LMT" /*format*/,
26473  463 /*offsetCode (6952/15)*/,
26474  7 /*offsetRemainder (6952%15)*/,
26475  0 /*deltaMinutes*/,
26476  1880 /*untilYear*/,
26477  1 /*untilMonth*/,
26478  1 /*untilDay*/,
26479  0 /*untilTimeCode (0/15)*/,
26480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26481  },
26482  // 1:56:56 - IMT 1910 Oct
26483  {
26484  nullptr /*zonePolicy*/,
26485  "IMT" /*format*/,
26486  467 /*offsetCode (7016/15)*/,
26487  11 /*offsetRemainder (7016%15)*/,
26488  0 /*deltaMinutes*/,
26489  1910 /*untilYear*/,
26490  10 /*untilMonth*/,
26491  1 /*untilDay*/,
26492  0 /*untilTimeCode (0/15)*/,
26493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26494  },
26495  // 2:00 Turkey EE%sT 1978 Jun 29
26496  {
26497  &kZonePolicyTurkey /*zonePolicy*/,
26498  "EE%T" /*format*/,
26499  480 /*offsetCode (7200/15)*/,
26500  0 /*offsetRemainder (7200%15)*/,
26501  0 /*deltaMinutes*/,
26502  1978 /*untilYear*/,
26503  6 /*untilMonth*/,
26504  29 /*untilDay*/,
26505  0 /*untilTimeCode (0/15)*/,
26506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26507  },
26508  // 3:00 Turkey %z 1984 Nov 1 2:00
26509  {
26510  &kZonePolicyTurkey /*zonePolicy*/,
26511  "" /*format*/,
26512  720 /*offsetCode (10800/15)*/,
26513  0 /*offsetRemainder (10800%15)*/,
26514  0 /*deltaMinutes*/,
26515  1984 /*untilYear*/,
26516  11 /*untilMonth*/,
26517  1 /*untilDay*/,
26518  480 /*untilTimeCode (7200/15)*/,
26519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26520  },
26521  // 2:00 Turkey EE%sT 2007
26522  {
26523  &kZonePolicyTurkey /*zonePolicy*/,
26524  "EE%T" /*format*/,
26525  480 /*offsetCode (7200/15)*/,
26526  0 /*offsetRemainder (7200%15)*/,
26527  0 /*deltaMinutes*/,
26528  2007 /*untilYear*/,
26529  1 /*untilMonth*/,
26530  1 /*untilDay*/,
26531  0 /*untilTimeCode (0/15)*/,
26532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26533  },
26534  // 2:00 EU EE%sT 2011 Mar 27 1:00u
26535  {
26536  &kZonePolicyEU /*zonePolicy*/,
26537  "EE%T" /*format*/,
26538  480 /*offsetCode (7200/15)*/,
26539  0 /*offsetRemainder (7200%15)*/,
26540  0 /*deltaMinutes*/,
26541  2011 /*untilYear*/,
26542  3 /*untilMonth*/,
26543  27 /*untilDay*/,
26544  240 /*untilTimeCode (3600/15)*/,
26545  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26546  },
26547  // 2:00 - EET 2011 Mar 28 1:00u
26548  {
26549  nullptr /*zonePolicy*/,
26550  "EET" /*format*/,
26551  480 /*offsetCode (7200/15)*/,
26552  0 /*offsetRemainder (7200%15)*/,
26553  0 /*deltaMinutes*/,
26554  2011 /*untilYear*/,
26555  3 /*untilMonth*/,
26556  28 /*untilDay*/,
26557  240 /*untilTimeCode (3600/15)*/,
26558  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26559  },
26560  // 2:00 EU EE%sT 2014 Mar 30 1:00u
26561  {
26562  &kZonePolicyEU /*zonePolicy*/,
26563  "EE%T" /*format*/,
26564  480 /*offsetCode (7200/15)*/,
26565  0 /*offsetRemainder (7200%15)*/,
26566  0 /*deltaMinutes*/,
26567  2014 /*untilYear*/,
26568  3 /*untilMonth*/,
26569  30 /*untilDay*/,
26570  240 /*untilTimeCode (3600/15)*/,
26571  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26572  },
26573  // 2:00 - EET 2014 Mar 31 1:00u
26574  {
26575  nullptr /*zonePolicy*/,
26576  "EET" /*format*/,
26577  480 /*offsetCode (7200/15)*/,
26578  0 /*offsetRemainder (7200%15)*/,
26579  0 /*deltaMinutes*/,
26580  2014 /*untilYear*/,
26581  3 /*untilMonth*/,
26582  31 /*untilDay*/,
26583  240 /*untilTimeCode (3600/15)*/,
26584  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26585  },
26586  // 2:00 EU EE%sT 2015 Oct 25 1:00u
26587  {
26588  &kZonePolicyEU /*zonePolicy*/,
26589  "EE%T" /*format*/,
26590  480 /*offsetCode (7200/15)*/,
26591  0 /*offsetRemainder (7200%15)*/,
26592  0 /*deltaMinutes*/,
26593  2015 /*untilYear*/,
26594  10 /*untilMonth*/,
26595  25 /*untilDay*/,
26596  240 /*untilTimeCode (3600/15)*/,
26597  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26598  },
26599  // 2:00 1:00 EEST 2015 Nov 8 1:00u
26600  {
26601  nullptr /*zonePolicy*/,
26602  "EEST" /*format*/,
26603  480 /*offsetCode (7200/15)*/,
26604  0 /*offsetRemainder (7200%15)*/,
26605  60 /*deltaMinutes*/,
26606  2015 /*untilYear*/,
26607  11 /*untilMonth*/,
26608  8 /*untilDay*/,
26609  240 /*untilTimeCode (3600/15)*/,
26610  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26611  },
26612  // 2:00 EU EE%sT 2016 Sep 7
26613  {
26614  &kZonePolicyEU /*zonePolicy*/,
26615  "EE%T" /*format*/,
26616  480 /*offsetCode (7200/15)*/,
26617  0 /*offsetRemainder (7200%15)*/,
26618  0 /*deltaMinutes*/,
26619  2016 /*untilYear*/,
26620  9 /*untilMonth*/,
26621  7 /*untilDay*/,
26622  0 /*untilTimeCode (0/15)*/,
26623  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26624  },
26625  // 3:00 - %z
26626  {
26627  nullptr /*zonePolicy*/,
26628  "" /*format*/,
26629  720 /*offsetCode (10800/15)*/,
26630  0 /*offsetRemainder (10800%15)*/,
26631  0 /*deltaMinutes*/,
26632  32767 /*untilYear*/,
26633  1 /*untilMonth*/,
26634  1 /*untilDay*/,
26635  0 /*untilTimeCode (0/15)*/,
26636  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26637  },
26638 
26639 };
26640 
26641 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "\x0b" "Istanbul";
26642 
26643 const complete::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
26644  kZoneNameEurope_Istanbul /*name*/,
26645  0x9e09d6e6 /*zoneId*/,
26646  &kZoneContext /*zoneContext*/,
26647  13 /*numEras*/,
26648  kZoneEraEurope_Istanbul /*eras*/,
26649  nullptr /*targetInfo*/,
26650 };
26651 
26652 //---------------------------------------------------------------------------
26653 // Zone name: Europe/Kaliningrad
26654 // Eras: 7
26655 //---------------------------------------------------------------------------
26656 
26657 static const complete::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
26658  // 1:22:00 - LMT 1893 Apr
26659  {
26660  nullptr /*zonePolicy*/,
26661  "LMT" /*format*/,
26662  328 /*offsetCode (4920/15)*/,
26663  0 /*offsetRemainder (4920%15)*/,
26664  0 /*deltaMinutes*/,
26665  1893 /*untilYear*/,
26666  4 /*untilMonth*/,
26667  1 /*untilDay*/,
26668  0 /*untilTimeCode (0/15)*/,
26669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26670  },
26671  // 1:00 C-Eur CE%sT 1945 Apr 10
26672  {
26673  &kZonePolicyC_Eur /*zonePolicy*/,
26674  "CE%T" /*format*/,
26675  240 /*offsetCode (3600/15)*/,
26676  0 /*offsetRemainder (3600%15)*/,
26677  0 /*deltaMinutes*/,
26678  1945 /*untilYear*/,
26679  4 /*untilMonth*/,
26680  10 /*untilDay*/,
26681  0 /*untilTimeCode (0/15)*/,
26682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26683  },
26684  // 2:00 Poland EE%sT 1946 Apr 7
26685  {
26686  &kZonePolicyPoland /*zonePolicy*/,
26687  "EE%T" /*format*/,
26688  480 /*offsetCode (7200/15)*/,
26689  0 /*offsetRemainder (7200%15)*/,
26690  0 /*deltaMinutes*/,
26691  1946 /*untilYear*/,
26692  4 /*untilMonth*/,
26693  7 /*untilDay*/,
26694  0 /*untilTimeCode (0/15)*/,
26695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26696  },
26697  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
26698  {
26699  &kZonePolicyRussia /*zonePolicy*/,
26700  "MSK/MSD" /*format*/,
26701  720 /*offsetCode (10800/15)*/,
26702  0 /*offsetRemainder (10800%15)*/,
26703  0 /*deltaMinutes*/,
26704  1989 /*untilYear*/,
26705  3 /*untilMonth*/,
26706  26 /*untilDay*/,
26707  480 /*untilTimeCode (7200/15)*/,
26708  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26709  },
26710  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
26711  {
26712  &kZonePolicyRussia /*zonePolicy*/,
26713  "EE%T" /*format*/,
26714  480 /*offsetCode (7200/15)*/,
26715  0 /*offsetRemainder (7200%15)*/,
26716  0 /*deltaMinutes*/,
26717  2011 /*untilYear*/,
26718  3 /*untilMonth*/,
26719  27 /*untilDay*/,
26720  480 /*untilTimeCode (7200/15)*/,
26721  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26722  },
26723  // 3:00 - %z 2014 Oct 26 2:00s
26724  {
26725  nullptr /*zonePolicy*/,
26726  "" /*format*/,
26727  720 /*offsetCode (10800/15)*/,
26728  0 /*offsetRemainder (10800%15)*/,
26729  0 /*deltaMinutes*/,
26730  2014 /*untilYear*/,
26731  10 /*untilMonth*/,
26732  26 /*untilDay*/,
26733  480 /*untilTimeCode (7200/15)*/,
26734  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26735  },
26736  // 2:00 - EET
26737  {
26738  nullptr /*zonePolicy*/,
26739  "EET" /*format*/,
26740  480 /*offsetCode (7200/15)*/,
26741  0 /*offsetRemainder (7200%15)*/,
26742  0 /*deltaMinutes*/,
26743  32767 /*untilYear*/,
26744  1 /*untilMonth*/,
26745  1 /*untilDay*/,
26746  0 /*untilTimeCode (0/15)*/,
26747  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26748  },
26749 
26750 };
26751 
26752 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "\x0b" "Kaliningrad";
26753 
26754 const complete::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
26755  kZoneNameEurope_Kaliningrad /*name*/,
26756  0xd33b2f28 /*zoneId*/,
26757  &kZoneContext /*zoneContext*/,
26758  7 /*numEras*/,
26759  kZoneEraEurope_Kaliningrad /*eras*/,
26760  nullptr /*targetInfo*/,
26761 };
26762 
26763 //---------------------------------------------------------------------------
26764 // Zone name: Europe/Kirov
26765 // Eras: 8
26766 //---------------------------------------------------------------------------
26767 
26768 static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
26769  // 3:18:48 - LMT 1919 Jul 1 0:00u
26770  {
26771  nullptr /*zonePolicy*/,
26772  "LMT" /*format*/,
26773  795 /*offsetCode (11928/15)*/,
26774  3 /*offsetRemainder (11928%15)*/,
26775  0 /*deltaMinutes*/,
26776  1919 /*untilYear*/,
26777  7 /*untilMonth*/,
26778  1 /*untilDay*/,
26779  0 /*untilTimeCode (0/15)*/,
26780  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26781  },
26782  // 3:00 - %z 1930 Jun 21
26783  {
26784  nullptr /*zonePolicy*/,
26785  "" /*format*/,
26786  720 /*offsetCode (10800/15)*/,
26787  0 /*offsetRemainder (10800%15)*/,
26788  0 /*deltaMinutes*/,
26789  1930 /*untilYear*/,
26790  6 /*untilMonth*/,
26791  21 /*untilDay*/,
26792  0 /*untilTimeCode (0/15)*/,
26793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26794  },
26795  // 4:00 Russia %z 1989 Mar 26 2:00s
26796  {
26797  &kZonePolicyRussia /*zonePolicy*/,
26798  "" /*format*/,
26799  960 /*offsetCode (14400/15)*/,
26800  0 /*offsetRemainder (14400%15)*/,
26801  0 /*deltaMinutes*/,
26802  1989 /*untilYear*/,
26803  3 /*untilMonth*/,
26804  26 /*untilDay*/,
26805  480 /*untilTimeCode (7200/15)*/,
26806  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26807  },
26808  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
26809  {
26810  &kZonePolicyRussia /*zonePolicy*/,
26811  "MSK/MSD" /*format*/,
26812  720 /*offsetCode (10800/15)*/,
26813  0 /*offsetRemainder (10800%15)*/,
26814  0 /*deltaMinutes*/,
26815  1991 /*untilYear*/,
26816  3 /*untilMonth*/,
26817  31 /*untilDay*/,
26818  480 /*untilTimeCode (7200/15)*/,
26819  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26820  },
26821  // 4:00 - %z 1992 Mar 29 2:00s
26822  {
26823  nullptr /*zonePolicy*/,
26824  "" /*format*/,
26825  960 /*offsetCode (14400/15)*/,
26826  0 /*offsetRemainder (14400%15)*/,
26827  0 /*deltaMinutes*/,
26828  1992 /*untilYear*/,
26829  3 /*untilMonth*/,
26830  29 /*untilDay*/,
26831  480 /*untilTimeCode (7200/15)*/,
26832  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26833  },
26834  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
26835  {
26836  &kZonePolicyRussia /*zonePolicy*/,
26837  "MSK/MSD" /*format*/,
26838  720 /*offsetCode (10800/15)*/,
26839  0 /*offsetRemainder (10800%15)*/,
26840  0 /*deltaMinutes*/,
26841  2011 /*untilYear*/,
26842  3 /*untilMonth*/,
26843  27 /*untilDay*/,
26844  480 /*untilTimeCode (7200/15)*/,
26845  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26846  },
26847  // 4:00 - MSK 2014 Oct 26 2:00s
26848  {
26849  nullptr /*zonePolicy*/,
26850  "MSK" /*format*/,
26851  960 /*offsetCode (14400/15)*/,
26852  0 /*offsetRemainder (14400%15)*/,
26853  0 /*deltaMinutes*/,
26854  2014 /*untilYear*/,
26855  10 /*untilMonth*/,
26856  26 /*untilDay*/,
26857  480 /*untilTimeCode (7200/15)*/,
26858  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26859  },
26860  // 3:00 - MSK
26861  {
26862  nullptr /*zonePolicy*/,
26863  "MSK" /*format*/,
26864  720 /*offsetCode (10800/15)*/,
26865  0 /*offsetRemainder (10800%15)*/,
26866  0 /*deltaMinutes*/,
26867  32767 /*untilYear*/,
26868  1 /*untilMonth*/,
26869  1 /*untilDay*/,
26870  0 /*untilTimeCode (0/15)*/,
26871  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26872  },
26873 
26874 };
26875 
26876 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "\x0b" "Kirov";
26877 
26878 const complete::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
26879  kZoneNameEurope_Kirov /*name*/,
26880  0xfaf5abef /*zoneId*/,
26881  &kZoneContext /*zoneContext*/,
26882  8 /*numEras*/,
26883  kZoneEraEurope_Kirov /*eras*/,
26884  nullptr /*targetInfo*/,
26885 };
26886 
26887 //---------------------------------------------------------------------------
26888 // Zone name: Europe/Kyiv
26889 // Eras: 9
26890 //---------------------------------------------------------------------------
26891 
26892 static const complete::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
26893  // 2:02:04 - LMT 1880
26894  {
26895  nullptr /*zonePolicy*/,
26896  "LMT" /*format*/,
26897  488 /*offsetCode (7324/15)*/,
26898  4 /*offsetRemainder (7324%15)*/,
26899  0 /*deltaMinutes*/,
26900  1880 /*untilYear*/,
26901  1 /*untilMonth*/,
26902  1 /*untilDay*/,
26903  0 /*untilTimeCode (0/15)*/,
26904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26905  },
26906  // 2:02:04 - KMT 1924 May 2
26907  {
26908  nullptr /*zonePolicy*/,
26909  "KMT" /*format*/,
26910  488 /*offsetCode (7324/15)*/,
26911  4 /*offsetRemainder (7324%15)*/,
26912  0 /*deltaMinutes*/,
26913  1924 /*untilYear*/,
26914  5 /*untilMonth*/,
26915  2 /*untilDay*/,
26916  0 /*untilTimeCode (0/15)*/,
26917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26918  },
26919  // 2:00 - EET 1930 Jun 21
26920  {
26921  nullptr /*zonePolicy*/,
26922  "EET" /*format*/,
26923  480 /*offsetCode (7200/15)*/,
26924  0 /*offsetRemainder (7200%15)*/,
26925  0 /*deltaMinutes*/,
26926  1930 /*untilYear*/,
26927  6 /*untilMonth*/,
26928  21 /*untilDay*/,
26929  0 /*untilTimeCode (0/15)*/,
26930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26931  },
26932  // 3:00 - MSK 1941 Sep 20
26933  {
26934  nullptr /*zonePolicy*/,
26935  "MSK" /*format*/,
26936  720 /*offsetCode (10800/15)*/,
26937  0 /*offsetRemainder (10800%15)*/,
26938  0 /*deltaMinutes*/,
26939  1941 /*untilYear*/,
26940  9 /*untilMonth*/,
26941  20 /*untilDay*/,
26942  0 /*untilTimeCode (0/15)*/,
26943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26944  },
26945  // 1:00 C-Eur CE%sT 1943 Nov 6
26946  {
26947  &kZonePolicyC_Eur /*zonePolicy*/,
26948  "CE%T" /*format*/,
26949  240 /*offsetCode (3600/15)*/,
26950  0 /*offsetRemainder (3600%15)*/,
26951  0 /*deltaMinutes*/,
26952  1943 /*untilYear*/,
26953  11 /*untilMonth*/,
26954  6 /*untilDay*/,
26955  0 /*untilTimeCode (0/15)*/,
26956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26957  },
26958  // 3:00 Russia MSK/MSD 1990 Jul 1 2:00
26959  {
26960  &kZonePolicyRussia /*zonePolicy*/,
26961  "MSK/MSD" /*format*/,
26962  720 /*offsetCode (10800/15)*/,
26963  0 /*offsetRemainder (10800%15)*/,
26964  0 /*deltaMinutes*/,
26965  1990 /*untilYear*/,
26966  7 /*untilMonth*/,
26967  1 /*untilDay*/,
26968  480 /*untilTimeCode (7200/15)*/,
26969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26970  },
26971  // 2:00 1:00 EEST 1991 Sep 29 3:00
26972  {
26973  nullptr /*zonePolicy*/,
26974  "EEST" /*format*/,
26975  480 /*offsetCode (7200/15)*/,
26976  0 /*offsetRemainder (7200%15)*/,
26977  60 /*deltaMinutes*/,
26978  1991 /*untilYear*/,
26979  9 /*untilMonth*/,
26980  29 /*untilDay*/,
26981  720 /*untilTimeCode (10800/15)*/,
26982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26983  },
26984  // 2:00 C-Eur EE%sT 1996 May 13
26985  {
26986  &kZonePolicyC_Eur /*zonePolicy*/,
26987  "EE%T" /*format*/,
26988  480 /*offsetCode (7200/15)*/,
26989  0 /*offsetRemainder (7200%15)*/,
26990  0 /*deltaMinutes*/,
26991  1996 /*untilYear*/,
26992  5 /*untilMonth*/,
26993  13 /*untilDay*/,
26994  0 /*untilTimeCode (0/15)*/,
26995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26996  },
26997  // 2:00 EU EE%sT
26998  {
26999  &kZonePolicyEU /*zonePolicy*/,
27000  "EE%T" /*format*/,
27001  480 /*offsetCode (7200/15)*/,
27002  0 /*offsetRemainder (7200%15)*/,
27003  0 /*deltaMinutes*/,
27004  32767 /*untilYear*/,
27005  1 /*untilMonth*/,
27006  1 /*untilDay*/,
27007  0 /*untilTimeCode (0/15)*/,
27008  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27009  },
27010 
27011 };
27012 
27013 static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x0b" "Kyiv";
27014 
27015 const complete::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
27016  kZoneNameEurope_Kyiv /*name*/,
27017  0xa2c1e347 /*zoneId*/,
27018  &kZoneContext /*zoneContext*/,
27019  9 /*numEras*/,
27020  kZoneEraEurope_Kyiv /*eras*/,
27021  nullptr /*targetInfo*/,
27022 };
27023 
27024 //---------------------------------------------------------------------------
27025 // Zone name: Europe/Lisbon
27026 // Eras: 8
27027 //---------------------------------------------------------------------------
27028 
27029 static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
27030  // -0:36:45 - LMT 1884
27031  {
27032  nullptr /*zonePolicy*/,
27033  "LMT" /*format*/,
27034  -147 /*offsetCode (-2205/15)*/,
27035  0 /*offsetRemainder (-2205%15)*/,
27036  0 /*deltaMinutes*/,
27037  1884 /*untilYear*/,
27038  1 /*untilMonth*/,
27039  1 /*untilDay*/,
27040  0 /*untilTimeCode (0/15)*/,
27041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27042  },
27043  // -0:36:45 - LMT 1912 Jan 1 0:00u
27044  {
27045  nullptr /*zonePolicy*/,
27046  "LMT" /*format*/,
27047  -147 /*offsetCode (-2205/15)*/,
27048  0 /*offsetRemainder (-2205%15)*/,
27049  0 /*deltaMinutes*/,
27050  1912 /*untilYear*/,
27051  1 /*untilMonth*/,
27052  1 /*untilDay*/,
27053  0 /*untilTimeCode (0/15)*/,
27054  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27055  },
27056  // 0:00 Port WE%sT 1966 Oct 2 2:00s
27057  {
27058  &kZonePolicyPort /*zonePolicy*/,
27059  "WE%T" /*format*/,
27060  0 /*offsetCode (0/15)*/,
27061  0 /*offsetRemainder (0%15)*/,
27062  0 /*deltaMinutes*/,
27063  1966 /*untilYear*/,
27064  10 /*untilMonth*/,
27065  2 /*untilDay*/,
27066  480 /*untilTimeCode (7200/15)*/,
27067  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27068  },
27069  // 1:00 - CET 1976 Sep 26 1:00
27070  {
27071  nullptr /*zonePolicy*/,
27072  "CET" /*format*/,
27073  240 /*offsetCode (3600/15)*/,
27074  0 /*offsetRemainder (3600%15)*/,
27075  0 /*deltaMinutes*/,
27076  1976 /*untilYear*/,
27077  9 /*untilMonth*/,
27078  26 /*untilDay*/,
27079  240 /*untilTimeCode (3600/15)*/,
27080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27081  },
27082  // 0:00 Port WE%sT 1986
27083  {
27084  &kZonePolicyPort /*zonePolicy*/,
27085  "WE%T" /*format*/,
27086  0 /*offsetCode (0/15)*/,
27087  0 /*offsetRemainder (0%15)*/,
27088  0 /*deltaMinutes*/,
27089  1986 /*untilYear*/,
27090  1 /*untilMonth*/,
27091  1 /*untilDay*/,
27092  0 /*untilTimeCode (0/15)*/,
27093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27094  },
27095  // 0:00 EU WE%sT 1992 Sep 27 1:00u
27096  {
27097  &kZonePolicyEU /*zonePolicy*/,
27098  "WE%T" /*format*/,
27099  0 /*offsetCode (0/15)*/,
27100  0 /*offsetRemainder (0%15)*/,
27101  0 /*deltaMinutes*/,
27102  1992 /*untilYear*/,
27103  9 /*untilMonth*/,
27104  27 /*untilDay*/,
27105  240 /*untilTimeCode (3600/15)*/,
27106  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27107  },
27108  // 1:00 EU CE%sT 1996 Mar 31 1:00u
27109  {
27110  &kZonePolicyEU /*zonePolicy*/,
27111  "CE%T" /*format*/,
27112  240 /*offsetCode (3600/15)*/,
27113  0 /*offsetRemainder (3600%15)*/,
27114  0 /*deltaMinutes*/,
27115  1996 /*untilYear*/,
27116  3 /*untilMonth*/,
27117  31 /*untilDay*/,
27118  240 /*untilTimeCode (3600/15)*/,
27119  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27120  },
27121  // 0:00 EU WE%sT
27122  {
27123  &kZonePolicyEU /*zonePolicy*/,
27124  "WE%T" /*format*/,
27125  0 /*offsetCode (0/15)*/,
27126  0 /*offsetRemainder (0%15)*/,
27127  0 /*deltaMinutes*/,
27128  32767 /*untilYear*/,
27129  1 /*untilMonth*/,
27130  1 /*untilDay*/,
27131  0 /*untilTimeCode (0/15)*/,
27132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27133  },
27134 
27135 };
27136 
27137 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x0b" "Lisbon";
27138 
27139 const complete::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
27140  kZoneNameEurope_Lisbon /*name*/,
27141  0x5c00a70b /*zoneId*/,
27142  &kZoneContext /*zoneContext*/,
27143  8 /*numEras*/,
27144  kZoneEraEurope_Lisbon /*eras*/,
27145  nullptr /*targetInfo*/,
27146 };
27147 
27148 //---------------------------------------------------------------------------
27149 // Zone name: Europe/London
27150 // Eras: 5
27151 //---------------------------------------------------------------------------
27152 
27153 static const complete::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
27154  // -0:01:15 - LMT 1847 Dec 1
27155  {
27156  nullptr /*zonePolicy*/,
27157  "LMT" /*format*/,
27158  -5 /*offsetCode (-75/15)*/,
27159  0 /*offsetRemainder (-75%15)*/,
27160  0 /*deltaMinutes*/,
27161  1847 /*untilYear*/,
27162  12 /*untilMonth*/,
27163  1 /*untilDay*/,
27164  0 /*untilTimeCode (0/15)*/,
27165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27166  },
27167  // 0:00 GB-Eire %s 1968 Oct 27
27168  {
27169  &kZonePolicyGB_Eire /*zonePolicy*/,
27170  "%" /*format*/,
27171  0 /*offsetCode (0/15)*/,
27172  0 /*offsetRemainder (0%15)*/,
27173  0 /*deltaMinutes*/,
27174  1968 /*untilYear*/,
27175  10 /*untilMonth*/,
27176  27 /*untilDay*/,
27177  0 /*untilTimeCode (0/15)*/,
27178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27179  },
27180  // 1:00 - BST 1971 Oct 31 2:00u
27181  {
27182  nullptr /*zonePolicy*/,
27183  "BST" /*format*/,
27184  240 /*offsetCode (3600/15)*/,
27185  0 /*offsetRemainder (3600%15)*/,
27186  0 /*deltaMinutes*/,
27187  1971 /*untilYear*/,
27188  10 /*untilMonth*/,
27189  31 /*untilDay*/,
27190  480 /*untilTimeCode (7200/15)*/,
27191  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27192  },
27193  // 0:00 GB-Eire %s 1996
27194  {
27195  &kZonePolicyGB_Eire /*zonePolicy*/,
27196  "%" /*format*/,
27197  0 /*offsetCode (0/15)*/,
27198  0 /*offsetRemainder (0%15)*/,
27199  0 /*deltaMinutes*/,
27200  1996 /*untilYear*/,
27201  1 /*untilMonth*/,
27202  1 /*untilDay*/,
27203  0 /*untilTimeCode (0/15)*/,
27204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27205  },
27206  // 0:00 EU GMT/BST
27207  {
27208  &kZonePolicyEU /*zonePolicy*/,
27209  "GMT/BST" /*format*/,
27210  0 /*offsetCode (0/15)*/,
27211  0 /*offsetRemainder (0%15)*/,
27212  0 /*deltaMinutes*/,
27213  32767 /*untilYear*/,
27214  1 /*untilMonth*/,
27215  1 /*untilDay*/,
27216  0 /*untilTimeCode (0/15)*/,
27217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27218  },
27219 
27220 };
27221 
27222 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x0b" "London";
27223 
27224 const complete::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
27225  kZoneNameEurope_London /*name*/,
27226  0x5c6a84ae /*zoneId*/,
27227  &kZoneContext /*zoneContext*/,
27228  5 /*numEras*/,
27229  kZoneEraEurope_London /*eras*/,
27230  nullptr /*targetInfo*/,
27231 };
27232 
27233 //---------------------------------------------------------------------------
27234 // Zone name: Europe/Madrid
27235 // Eras: 4
27236 //---------------------------------------------------------------------------
27237 
27238 static const complete::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
27239  // -0:14:44 - LMT 1901 Jan 1 0:00u
27240  {
27241  nullptr /*zonePolicy*/,
27242  "LMT" /*format*/,
27243  -59 /*offsetCode (-884/15)*/,
27244  1 /*offsetRemainder (-884%15)*/,
27245  0 /*deltaMinutes*/,
27246  1901 /*untilYear*/,
27247  1 /*untilMonth*/,
27248  1 /*untilDay*/,
27249  0 /*untilTimeCode (0/15)*/,
27250  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27251  },
27252  // 0:00 Spain WE%sT 1940 Mar 16 23:00
27253  {
27254  &kZonePolicySpain /*zonePolicy*/,
27255  "WE%T" /*format*/,
27256  0 /*offsetCode (0/15)*/,
27257  0 /*offsetRemainder (0%15)*/,
27258  0 /*deltaMinutes*/,
27259  1940 /*untilYear*/,
27260  3 /*untilMonth*/,
27261  16 /*untilDay*/,
27262  5520 /*untilTimeCode (82800/15)*/,
27263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27264  },
27265  // 1:00 Spain CE%sT 1979
27266  {
27267  &kZonePolicySpain /*zonePolicy*/,
27268  "CE%T" /*format*/,
27269  240 /*offsetCode (3600/15)*/,
27270  0 /*offsetRemainder (3600%15)*/,
27271  0 /*deltaMinutes*/,
27272  1979 /*untilYear*/,
27273  1 /*untilMonth*/,
27274  1 /*untilDay*/,
27275  0 /*untilTimeCode (0/15)*/,
27276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27277  },
27278  // 1:00 EU CE%sT
27279  {
27280  &kZonePolicyEU /*zonePolicy*/,
27281  "CE%T" /*format*/,
27282  240 /*offsetCode (3600/15)*/,
27283  0 /*offsetRemainder (3600%15)*/,
27284  0 /*deltaMinutes*/,
27285  32767 /*untilYear*/,
27286  1 /*untilMonth*/,
27287  1 /*untilDay*/,
27288  0 /*untilTimeCode (0/15)*/,
27289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27290  },
27291 
27292 };
27293 
27294 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x0b" "Madrid";
27295 
27296 const complete::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
27297  kZoneNameEurope_Madrid /*name*/,
27298  0x5dbd1535 /*zoneId*/,
27299  &kZoneContext /*zoneContext*/,
27300  4 /*numEras*/,
27301  kZoneEraEurope_Madrid /*eras*/,
27302  nullptr /*targetInfo*/,
27303 };
27304 
27305 //---------------------------------------------------------------------------
27306 // Zone name: Europe/Malta
27307 // Eras: 4
27308 //---------------------------------------------------------------------------
27309 
27310 static const complete::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
27311  // 0:58:04 - LMT 1893 Nov 2
27312  {
27313  nullptr /*zonePolicy*/,
27314  "LMT" /*format*/,
27315  232 /*offsetCode (3484/15)*/,
27316  4 /*offsetRemainder (3484%15)*/,
27317  0 /*deltaMinutes*/,
27318  1893 /*untilYear*/,
27319  11 /*untilMonth*/,
27320  2 /*untilDay*/,
27321  0 /*untilTimeCode (0/15)*/,
27322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27323  },
27324  // 1:00 Italy CE%sT 1973 Mar 31
27325  {
27326  &kZonePolicyItaly /*zonePolicy*/,
27327  "CE%T" /*format*/,
27328  240 /*offsetCode (3600/15)*/,
27329  0 /*offsetRemainder (3600%15)*/,
27330  0 /*deltaMinutes*/,
27331  1973 /*untilYear*/,
27332  3 /*untilMonth*/,
27333  31 /*untilDay*/,
27334  0 /*untilTimeCode (0/15)*/,
27335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27336  },
27337  // 1:00 Malta CE%sT 1981
27338  {
27339  &kZonePolicyMalta /*zonePolicy*/,
27340  "CE%T" /*format*/,
27341  240 /*offsetCode (3600/15)*/,
27342  0 /*offsetRemainder (3600%15)*/,
27343  0 /*deltaMinutes*/,
27344  1981 /*untilYear*/,
27345  1 /*untilMonth*/,
27346  1 /*untilDay*/,
27347  0 /*untilTimeCode (0/15)*/,
27348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27349  },
27350  // 1:00 EU CE%sT
27351  {
27352  &kZonePolicyEU /*zonePolicy*/,
27353  "CE%T" /*format*/,
27354  240 /*offsetCode (3600/15)*/,
27355  0 /*offsetRemainder (3600%15)*/,
27356  0 /*deltaMinutes*/,
27357  32767 /*untilYear*/,
27358  1 /*untilMonth*/,
27359  1 /*untilDay*/,
27360  0 /*untilTimeCode (0/15)*/,
27361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27362  },
27363 
27364 };
27365 
27366 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x0b" "Malta";
27367 
27368 const complete::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
27369  kZoneNameEurope_Malta /*name*/,
27370  0xfb1560f3 /*zoneId*/,
27371  &kZoneContext /*zoneContext*/,
27372  4 /*numEras*/,
27373  kZoneEraEurope_Malta /*eras*/,
27374  nullptr /*targetInfo*/,
27375 };
27376 
27377 //---------------------------------------------------------------------------
27378 // Zone name: Europe/Minsk
27379 // Eras: 9
27380 //---------------------------------------------------------------------------
27381 
27382 static const complete::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
27383  // 1:50:16 - LMT 1880
27384  {
27385  nullptr /*zonePolicy*/,
27386  "LMT" /*format*/,
27387  441 /*offsetCode (6616/15)*/,
27388  1 /*offsetRemainder (6616%15)*/,
27389  0 /*deltaMinutes*/,
27390  1880 /*untilYear*/,
27391  1 /*untilMonth*/,
27392  1 /*untilDay*/,
27393  0 /*untilTimeCode (0/15)*/,
27394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27395  },
27396  // 1:50 - MMT 1924 May 2
27397  {
27398  nullptr /*zonePolicy*/,
27399  "MMT" /*format*/,
27400  440 /*offsetCode (6600/15)*/,
27401  0 /*offsetRemainder (6600%15)*/,
27402  0 /*deltaMinutes*/,
27403  1924 /*untilYear*/,
27404  5 /*untilMonth*/,
27405  2 /*untilDay*/,
27406  0 /*untilTimeCode (0/15)*/,
27407  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27408  },
27409  // 2:00 - EET 1930 Jun 21
27410  {
27411  nullptr /*zonePolicy*/,
27412  "EET" /*format*/,
27413  480 /*offsetCode (7200/15)*/,
27414  0 /*offsetRemainder (7200%15)*/,
27415  0 /*deltaMinutes*/,
27416  1930 /*untilYear*/,
27417  6 /*untilMonth*/,
27418  21 /*untilDay*/,
27419  0 /*untilTimeCode (0/15)*/,
27420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27421  },
27422  // 3:00 - MSK 1941 Jun 28
27423  {
27424  nullptr /*zonePolicy*/,
27425  "MSK" /*format*/,
27426  720 /*offsetCode (10800/15)*/,
27427  0 /*offsetRemainder (10800%15)*/,
27428  0 /*deltaMinutes*/,
27429  1941 /*untilYear*/,
27430  6 /*untilMonth*/,
27431  28 /*untilDay*/,
27432  0 /*untilTimeCode (0/15)*/,
27433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27434  },
27435  // 1:00 C-Eur CE%sT 1944 Jul 3
27436  {
27437  &kZonePolicyC_Eur /*zonePolicy*/,
27438  "CE%T" /*format*/,
27439  240 /*offsetCode (3600/15)*/,
27440  0 /*offsetRemainder (3600%15)*/,
27441  0 /*deltaMinutes*/,
27442  1944 /*untilYear*/,
27443  7 /*untilMonth*/,
27444  3 /*untilDay*/,
27445  0 /*untilTimeCode (0/15)*/,
27446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27447  },
27448  // 3:00 Russia MSK/MSD 1990
27449  {
27450  &kZonePolicyRussia /*zonePolicy*/,
27451  "MSK/MSD" /*format*/,
27452  720 /*offsetCode (10800/15)*/,
27453  0 /*offsetRemainder (10800%15)*/,
27454  0 /*deltaMinutes*/,
27455  1990 /*untilYear*/,
27456  1 /*untilMonth*/,
27457  1 /*untilDay*/,
27458  0 /*untilTimeCode (0/15)*/,
27459  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27460  },
27461  // 3:00 - MSK 1991 Mar 31 2:00s
27462  {
27463  nullptr /*zonePolicy*/,
27464  "MSK" /*format*/,
27465  720 /*offsetCode (10800/15)*/,
27466  0 /*offsetRemainder (10800%15)*/,
27467  0 /*deltaMinutes*/,
27468  1991 /*untilYear*/,
27469  3 /*untilMonth*/,
27470  31 /*untilDay*/,
27471  480 /*untilTimeCode (7200/15)*/,
27472  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27473  },
27474  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
27475  {
27476  &kZonePolicyRussia /*zonePolicy*/,
27477  "EE%T" /*format*/,
27478  480 /*offsetCode (7200/15)*/,
27479  0 /*offsetRemainder (7200%15)*/,
27480  0 /*deltaMinutes*/,
27481  2011 /*untilYear*/,
27482  3 /*untilMonth*/,
27483  27 /*untilDay*/,
27484  480 /*untilTimeCode (7200/15)*/,
27485  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27486  },
27487  // 3:00 - %z
27488  {
27489  nullptr /*zonePolicy*/,
27490  "" /*format*/,
27491  720 /*offsetCode (10800/15)*/,
27492  0 /*offsetRemainder (10800%15)*/,
27493  0 /*deltaMinutes*/,
27494  32767 /*untilYear*/,
27495  1 /*untilMonth*/,
27496  1 /*untilDay*/,
27497  0 /*untilTimeCode (0/15)*/,
27498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27499  },
27500 
27501 };
27502 
27503 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "\x0b" "Minsk";
27504 
27505 const complete::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
27506  kZoneNameEurope_Minsk /*name*/,
27507  0xfb19cc66 /*zoneId*/,
27508  &kZoneContext /*zoneContext*/,
27509  9 /*numEras*/,
27510  kZoneEraEurope_Minsk /*eras*/,
27511  nullptr /*targetInfo*/,
27512 };
27513 
27514 //---------------------------------------------------------------------------
27515 // Zone name: Europe/Moscow
27516 // Eras: 11
27517 //---------------------------------------------------------------------------
27518 
27519 static const complete::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
27520  // 2:30:17 - LMT 1880
27521  {
27522  nullptr /*zonePolicy*/,
27523  "LMT" /*format*/,
27524  601 /*offsetCode (9017/15)*/,
27525  2 /*offsetRemainder (9017%15)*/,
27526  0 /*deltaMinutes*/,
27527  1880 /*untilYear*/,
27528  1 /*untilMonth*/,
27529  1 /*untilDay*/,
27530  0 /*untilTimeCode (0/15)*/,
27531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27532  },
27533  // 2:30:17 - MMT 1916 Jul 3
27534  {
27535  nullptr /*zonePolicy*/,
27536  "MMT" /*format*/,
27537  601 /*offsetCode (9017/15)*/,
27538  2 /*offsetRemainder (9017%15)*/,
27539  0 /*deltaMinutes*/,
27540  1916 /*untilYear*/,
27541  7 /*untilMonth*/,
27542  3 /*untilDay*/,
27543  0 /*untilTimeCode (0/15)*/,
27544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27545  },
27546  // 2:31:19 Russia %s 1919 Jul 1 0:00u
27547  {
27548  &kZonePolicyRussia /*zonePolicy*/,
27549  "%" /*format*/,
27550  605 /*offsetCode (9079/15)*/,
27551  4 /*offsetRemainder (9079%15)*/,
27552  0 /*deltaMinutes*/,
27553  1919 /*untilYear*/,
27554  7 /*untilMonth*/,
27555  1 /*untilDay*/,
27556  0 /*untilTimeCode (0/15)*/,
27557  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27558  },
27559  // 3:00 Russia %s 1921 Oct
27560  {
27561  &kZonePolicyRussia /*zonePolicy*/,
27562  "%" /*format*/,
27563  720 /*offsetCode (10800/15)*/,
27564  0 /*offsetRemainder (10800%15)*/,
27565  0 /*deltaMinutes*/,
27566  1921 /*untilYear*/,
27567  10 /*untilMonth*/,
27568  1 /*untilDay*/,
27569  0 /*untilTimeCode (0/15)*/,
27570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27571  },
27572  // 3:00 Russia MSK/MSD 1922 Oct
27573  {
27574  &kZonePolicyRussia /*zonePolicy*/,
27575  "MSK/MSD" /*format*/,
27576  720 /*offsetCode (10800/15)*/,
27577  0 /*offsetRemainder (10800%15)*/,
27578  0 /*deltaMinutes*/,
27579  1922 /*untilYear*/,
27580  10 /*untilMonth*/,
27581  1 /*untilDay*/,
27582  0 /*untilTimeCode (0/15)*/,
27583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27584  },
27585  // 2:00 - EET 1930 Jun 21
27586  {
27587  nullptr /*zonePolicy*/,
27588  "EET" /*format*/,
27589  480 /*offsetCode (7200/15)*/,
27590  0 /*offsetRemainder (7200%15)*/,
27591  0 /*deltaMinutes*/,
27592  1930 /*untilYear*/,
27593  6 /*untilMonth*/,
27594  21 /*untilDay*/,
27595  0 /*untilTimeCode (0/15)*/,
27596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27597  },
27598  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
27599  {
27600  &kZonePolicyRussia /*zonePolicy*/,
27601  "MSK/MSD" /*format*/,
27602  720 /*offsetCode (10800/15)*/,
27603  0 /*offsetRemainder (10800%15)*/,
27604  0 /*deltaMinutes*/,
27605  1991 /*untilYear*/,
27606  3 /*untilMonth*/,
27607  31 /*untilDay*/,
27608  480 /*untilTimeCode (7200/15)*/,
27609  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27610  },
27611  // 2:00 Russia EE%sT 1992 Jan 19 2:00s
27612  {
27613  &kZonePolicyRussia /*zonePolicy*/,
27614  "EE%T" /*format*/,
27615  480 /*offsetCode (7200/15)*/,
27616  0 /*offsetRemainder (7200%15)*/,
27617  0 /*deltaMinutes*/,
27618  1992 /*untilYear*/,
27619  1 /*untilMonth*/,
27620  19 /*untilDay*/,
27621  480 /*untilTimeCode (7200/15)*/,
27622  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27623  },
27624  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
27625  {
27626  &kZonePolicyRussia /*zonePolicy*/,
27627  "MSK/MSD" /*format*/,
27628  720 /*offsetCode (10800/15)*/,
27629  0 /*offsetRemainder (10800%15)*/,
27630  0 /*deltaMinutes*/,
27631  2011 /*untilYear*/,
27632  3 /*untilMonth*/,
27633  27 /*untilDay*/,
27634  480 /*untilTimeCode (7200/15)*/,
27635  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27636  },
27637  // 4:00 - MSK 2014 Oct 26 2:00s
27638  {
27639  nullptr /*zonePolicy*/,
27640  "MSK" /*format*/,
27641  960 /*offsetCode (14400/15)*/,
27642  0 /*offsetRemainder (14400%15)*/,
27643  0 /*deltaMinutes*/,
27644  2014 /*untilYear*/,
27645  10 /*untilMonth*/,
27646  26 /*untilDay*/,
27647  480 /*untilTimeCode (7200/15)*/,
27648  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27649  },
27650  // 3:00 - MSK
27651  {
27652  nullptr /*zonePolicy*/,
27653  "MSK" /*format*/,
27654  720 /*offsetCode (10800/15)*/,
27655  0 /*offsetRemainder (10800%15)*/,
27656  0 /*deltaMinutes*/,
27657  32767 /*untilYear*/,
27658  1 /*untilMonth*/,
27659  1 /*untilDay*/,
27660  0 /*untilTimeCode (0/15)*/,
27661  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27662  },
27663 
27664 };
27665 
27666 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "\x0b" "Moscow";
27667 
27668 const complete::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
27669  kZoneNameEurope_Moscow /*name*/,
27670  0x5ec266fc /*zoneId*/,
27671  &kZoneContext /*zoneContext*/,
27672  11 /*numEras*/,
27673  kZoneEraEurope_Moscow /*eras*/,
27674  nullptr /*targetInfo*/,
27675 };
27676 
27677 //---------------------------------------------------------------------------
27678 // Zone name: Europe/Paris
27679 // Eras: 7
27680 //---------------------------------------------------------------------------
27681 
27682 static const complete::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
27683  // 0:09:21 - LMT 1891 Mar 16
27684  {
27685  nullptr /*zonePolicy*/,
27686  "LMT" /*format*/,
27687  37 /*offsetCode (561/15)*/,
27688  6 /*offsetRemainder (561%15)*/,
27689  0 /*deltaMinutes*/,
27690  1891 /*untilYear*/,
27691  3 /*untilMonth*/,
27692  16 /*untilDay*/,
27693  0 /*untilTimeCode (0/15)*/,
27694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27695  },
27696  // 0:09:21 - PMT 1911 Mar 11
27697  {
27698  nullptr /*zonePolicy*/,
27699  "PMT" /*format*/,
27700  37 /*offsetCode (561/15)*/,
27701  6 /*offsetRemainder (561%15)*/,
27702  0 /*deltaMinutes*/,
27703  1911 /*untilYear*/,
27704  3 /*untilMonth*/,
27705  11 /*untilDay*/,
27706  0 /*untilTimeCode (0/15)*/,
27707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27708  },
27709  // 0:00 France WE%sT 1940 Jun 14 23:00
27710  {
27711  &kZonePolicyFrance /*zonePolicy*/,
27712  "WE%T" /*format*/,
27713  0 /*offsetCode (0/15)*/,
27714  0 /*offsetRemainder (0%15)*/,
27715  0 /*deltaMinutes*/,
27716  1940 /*untilYear*/,
27717  6 /*untilMonth*/,
27718  14 /*untilDay*/,
27719  5520 /*untilTimeCode (82800/15)*/,
27720  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27721  },
27722  // 1:00 C-Eur CE%sT 1944 Aug 25
27723  {
27724  &kZonePolicyC_Eur /*zonePolicy*/,
27725  "CE%T" /*format*/,
27726  240 /*offsetCode (3600/15)*/,
27727  0 /*offsetRemainder (3600%15)*/,
27728  0 /*deltaMinutes*/,
27729  1944 /*untilYear*/,
27730  8 /*untilMonth*/,
27731  25 /*untilDay*/,
27732  0 /*untilTimeCode (0/15)*/,
27733  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27734  },
27735  // 0:00 France WE%sT 1945 Sep 16 3:00
27736  {
27737  &kZonePolicyFrance /*zonePolicy*/,
27738  "WE%T" /*format*/,
27739  0 /*offsetCode (0/15)*/,
27740  0 /*offsetRemainder (0%15)*/,
27741  0 /*deltaMinutes*/,
27742  1945 /*untilYear*/,
27743  9 /*untilMonth*/,
27744  16 /*untilDay*/,
27745  720 /*untilTimeCode (10800/15)*/,
27746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27747  },
27748  // 1:00 France CE%sT 1977
27749  {
27750  &kZonePolicyFrance /*zonePolicy*/,
27751  "CE%T" /*format*/,
27752  240 /*offsetCode (3600/15)*/,
27753  0 /*offsetRemainder (3600%15)*/,
27754  0 /*deltaMinutes*/,
27755  1977 /*untilYear*/,
27756  1 /*untilMonth*/,
27757  1 /*untilDay*/,
27758  0 /*untilTimeCode (0/15)*/,
27759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27760  },
27761  // 1:00 EU CE%sT
27762  {
27763  &kZonePolicyEU /*zonePolicy*/,
27764  "CE%T" /*format*/,
27765  240 /*offsetCode (3600/15)*/,
27766  0 /*offsetRemainder (3600%15)*/,
27767  0 /*deltaMinutes*/,
27768  32767 /*untilYear*/,
27769  1 /*untilMonth*/,
27770  1 /*untilDay*/,
27771  0 /*untilTimeCode (0/15)*/,
27772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27773  },
27774 
27775 };
27776 
27777 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x0b" "Paris";
27778 
27779 const complete::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
27780  kZoneNameEurope_Paris /*name*/,
27781  0xfb4bc2a3 /*zoneId*/,
27782  &kZoneContext /*zoneContext*/,
27783  7 /*numEras*/,
27784  kZoneEraEurope_Paris /*eras*/,
27785  nullptr /*targetInfo*/,
27786 };
27787 
27788 //---------------------------------------------------------------------------
27789 // Zone name: Europe/Prague
27790 // Eras: 7
27791 //---------------------------------------------------------------------------
27792 
27793 static const complete::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
27794  // 0:57:44 - LMT 1850
27795  {
27796  nullptr /*zonePolicy*/,
27797  "LMT" /*format*/,
27798  230 /*offsetCode (3464/15)*/,
27799  14 /*offsetRemainder (3464%15)*/,
27800  0 /*deltaMinutes*/,
27801  1850 /*untilYear*/,
27802  1 /*untilMonth*/,
27803  1 /*untilDay*/,
27804  0 /*untilTimeCode (0/15)*/,
27805  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27806  },
27807  // 0:57:44 - PMT 1891 Oct
27808  {
27809  nullptr /*zonePolicy*/,
27810  "PMT" /*format*/,
27811  230 /*offsetCode (3464/15)*/,
27812  14 /*offsetRemainder (3464%15)*/,
27813  0 /*deltaMinutes*/,
27814  1891 /*untilYear*/,
27815  10 /*untilMonth*/,
27816  1 /*untilDay*/,
27817  0 /*untilTimeCode (0/15)*/,
27818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27819  },
27820  // 1:00 C-Eur CE%sT 1945 May 9
27821  {
27822  &kZonePolicyC_Eur /*zonePolicy*/,
27823  "CE%T" /*format*/,
27824  240 /*offsetCode (3600/15)*/,
27825  0 /*offsetRemainder (3600%15)*/,
27826  0 /*deltaMinutes*/,
27827  1945 /*untilYear*/,
27828  5 /*untilMonth*/,
27829  9 /*untilDay*/,
27830  0 /*untilTimeCode (0/15)*/,
27831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27832  },
27833  // 1:00 Czech CE%sT 1946 Dec 1 3:00
27834  {
27835  &kZonePolicyCzech /*zonePolicy*/,
27836  "CE%T" /*format*/,
27837  240 /*offsetCode (3600/15)*/,
27838  0 /*offsetRemainder (3600%15)*/,
27839  0 /*deltaMinutes*/,
27840  1946 /*untilYear*/,
27841  12 /*untilMonth*/,
27842  1 /*untilDay*/,
27843  720 /*untilTimeCode (10800/15)*/,
27844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27845  },
27846  // 1:00 -1:00 GMT 1947 Feb 23 2:00
27847  {
27848  nullptr /*zonePolicy*/,
27849  "GMT" /*format*/,
27850  240 /*offsetCode (3600/15)*/,
27851  0 /*offsetRemainder (3600%15)*/,
27852  -60 /*deltaMinutes*/,
27853  1947 /*untilYear*/,
27854  2 /*untilMonth*/,
27855  23 /*untilDay*/,
27856  480 /*untilTimeCode (7200/15)*/,
27857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27858  },
27859  // 1:00 Czech CE%sT 1979
27860  {
27861  &kZonePolicyCzech /*zonePolicy*/,
27862  "CE%T" /*format*/,
27863  240 /*offsetCode (3600/15)*/,
27864  0 /*offsetRemainder (3600%15)*/,
27865  0 /*deltaMinutes*/,
27866  1979 /*untilYear*/,
27867  1 /*untilMonth*/,
27868  1 /*untilDay*/,
27869  0 /*untilTimeCode (0/15)*/,
27870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27871  },
27872  // 1:00 EU CE%sT
27873  {
27874  &kZonePolicyEU /*zonePolicy*/,
27875  "CE%T" /*format*/,
27876  240 /*offsetCode (3600/15)*/,
27877  0 /*offsetRemainder (3600%15)*/,
27878  0 /*deltaMinutes*/,
27879  32767 /*untilYear*/,
27880  1 /*untilMonth*/,
27881  1 /*untilDay*/,
27882  0 /*untilTimeCode (0/15)*/,
27883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27884  },
27885 
27886 };
27887 
27888 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x0b" "Prague";
27889 
27890 const complete::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
27891  kZoneNameEurope_Prague /*name*/,
27892  0x65ee5d48 /*zoneId*/,
27893  &kZoneContext /*zoneContext*/,
27894  7 /*numEras*/,
27895  kZoneEraEurope_Prague /*eras*/,
27896  nullptr /*targetInfo*/,
27897 };
27898 
27899 //---------------------------------------------------------------------------
27900 // Zone name: Europe/Riga
27901 // Eras: 15
27902 //---------------------------------------------------------------------------
27903 
27904 static const complete::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
27905  // 1:36:34 - LMT 1880
27906  {
27907  nullptr /*zonePolicy*/,
27908  "LMT" /*format*/,
27909  386 /*offsetCode (5794/15)*/,
27910  4 /*offsetRemainder (5794%15)*/,
27911  0 /*deltaMinutes*/,
27912  1880 /*untilYear*/,
27913  1 /*untilMonth*/,
27914  1 /*untilDay*/,
27915  0 /*untilTimeCode (0/15)*/,
27916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27917  },
27918  // 1:36:34 - RMT 1918 Apr 15 2:00
27919  {
27920  nullptr /*zonePolicy*/,
27921  "RMT" /*format*/,
27922  386 /*offsetCode (5794/15)*/,
27923  4 /*offsetRemainder (5794%15)*/,
27924  0 /*deltaMinutes*/,
27925  1918 /*untilYear*/,
27926  4 /*untilMonth*/,
27927  15 /*untilDay*/,
27928  480 /*untilTimeCode (7200/15)*/,
27929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27930  },
27931  // 1:36:34 1:00 LST 1918 Sep 16 3:00
27932  {
27933  nullptr /*zonePolicy*/,
27934  "LST" /*format*/,
27935  386 /*offsetCode (5794/15)*/,
27936  4 /*offsetRemainder (5794%15)*/,
27937  60 /*deltaMinutes*/,
27938  1918 /*untilYear*/,
27939  9 /*untilMonth*/,
27940  16 /*untilDay*/,
27941  720 /*untilTimeCode (10800/15)*/,
27942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27943  },
27944  // 1:36:34 - RMT 1919 Apr 1 2:00
27945  {
27946  nullptr /*zonePolicy*/,
27947  "RMT" /*format*/,
27948  386 /*offsetCode (5794/15)*/,
27949  4 /*offsetRemainder (5794%15)*/,
27950  0 /*deltaMinutes*/,
27951  1919 /*untilYear*/,
27952  4 /*untilMonth*/,
27953  1 /*untilDay*/,
27954  480 /*untilTimeCode (7200/15)*/,
27955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27956  },
27957  // 1:36:34 1:00 LST 1919 May 22 3:00
27958  {
27959  nullptr /*zonePolicy*/,
27960  "LST" /*format*/,
27961  386 /*offsetCode (5794/15)*/,
27962  4 /*offsetRemainder (5794%15)*/,
27963  60 /*deltaMinutes*/,
27964  1919 /*untilYear*/,
27965  5 /*untilMonth*/,
27966  22 /*untilDay*/,
27967  720 /*untilTimeCode (10800/15)*/,
27968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27969  },
27970  // 1:36:34 - RMT 1926 May 11
27971  {
27972  nullptr /*zonePolicy*/,
27973  "RMT" /*format*/,
27974  386 /*offsetCode (5794/15)*/,
27975  4 /*offsetRemainder (5794%15)*/,
27976  0 /*deltaMinutes*/,
27977  1926 /*untilYear*/,
27978  5 /*untilMonth*/,
27979  11 /*untilDay*/,
27980  0 /*untilTimeCode (0/15)*/,
27981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27982  },
27983  // 2:00 - EET 1940 Aug 5
27984  {
27985  nullptr /*zonePolicy*/,
27986  "EET" /*format*/,
27987  480 /*offsetCode (7200/15)*/,
27988  0 /*offsetRemainder (7200%15)*/,
27989  0 /*deltaMinutes*/,
27990  1940 /*untilYear*/,
27991  8 /*untilMonth*/,
27992  5 /*untilDay*/,
27993  0 /*untilTimeCode (0/15)*/,
27994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27995  },
27996  // 3:00 - MSK 1941 Jul
27997  {
27998  nullptr /*zonePolicy*/,
27999  "MSK" /*format*/,
28000  720 /*offsetCode (10800/15)*/,
28001  0 /*offsetRemainder (10800%15)*/,
28002  0 /*deltaMinutes*/,
28003  1941 /*untilYear*/,
28004  7 /*untilMonth*/,
28005  1 /*untilDay*/,
28006  0 /*untilTimeCode (0/15)*/,
28007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28008  },
28009  // 1:00 C-Eur CE%sT 1944 Oct 13
28010  {
28011  &kZonePolicyC_Eur /*zonePolicy*/,
28012  "CE%T" /*format*/,
28013  240 /*offsetCode (3600/15)*/,
28014  0 /*offsetRemainder (3600%15)*/,
28015  0 /*deltaMinutes*/,
28016  1944 /*untilYear*/,
28017  10 /*untilMonth*/,
28018  13 /*untilDay*/,
28019  0 /*untilTimeCode (0/15)*/,
28020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28021  },
28022  // 3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s
28023  {
28024  &kZonePolicyRussia /*zonePolicy*/,
28025  "MSK/MSD" /*format*/,
28026  720 /*offsetCode (10800/15)*/,
28027  0 /*offsetRemainder (10800%15)*/,
28028  0 /*deltaMinutes*/,
28029  1989 /*untilYear*/,
28030  3 /*untilMonth*/,
28031  26 /*untilDay*/,
28032  480 /*untilTimeCode (7200/15)*/,
28033  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28034  },
28035  // 2:00 1:00 EEST 1989 Sep lastSun 2:00s
28036  {
28037  nullptr /*zonePolicy*/,
28038  "EEST" /*format*/,
28039  480 /*offsetCode (7200/15)*/,
28040  0 /*offsetRemainder (7200%15)*/,
28041  60 /*deltaMinutes*/,
28042  1989 /*untilYear*/,
28043  9 /*untilMonth*/,
28044  24 /*untilDay*/,
28045  480 /*untilTimeCode (7200/15)*/,
28046  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28047  },
28048  // 2:00 Latvia EE%sT 1997 Jan 21
28049  {
28050  &kZonePolicyLatvia /*zonePolicy*/,
28051  "EE%T" /*format*/,
28052  480 /*offsetCode (7200/15)*/,
28053  0 /*offsetRemainder (7200%15)*/,
28054  0 /*deltaMinutes*/,
28055  1997 /*untilYear*/,
28056  1 /*untilMonth*/,
28057  21 /*untilDay*/,
28058  0 /*untilTimeCode (0/15)*/,
28059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28060  },
28061  // 2:00 EU EE%sT 2000 Feb 29
28062  {
28063  &kZonePolicyEU /*zonePolicy*/,
28064  "EE%T" /*format*/,
28065  480 /*offsetCode (7200/15)*/,
28066  0 /*offsetRemainder (7200%15)*/,
28067  0 /*deltaMinutes*/,
28068  2000 /*untilYear*/,
28069  2 /*untilMonth*/,
28070  29 /*untilDay*/,
28071  0 /*untilTimeCode (0/15)*/,
28072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28073  },
28074  // 2:00 - EET 2001 Jan 2
28075  {
28076  nullptr /*zonePolicy*/,
28077  "EET" /*format*/,
28078  480 /*offsetCode (7200/15)*/,
28079  0 /*offsetRemainder (7200%15)*/,
28080  0 /*deltaMinutes*/,
28081  2001 /*untilYear*/,
28082  1 /*untilMonth*/,
28083  2 /*untilDay*/,
28084  0 /*untilTimeCode (0/15)*/,
28085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28086  },
28087  // 2:00 EU EE%sT
28088  {
28089  &kZonePolicyEU /*zonePolicy*/,
28090  "EE%T" /*format*/,
28091  480 /*offsetCode (7200/15)*/,
28092  0 /*offsetRemainder (7200%15)*/,
28093  0 /*deltaMinutes*/,
28094  32767 /*untilYear*/,
28095  1 /*untilMonth*/,
28096  1 /*untilDay*/,
28097  0 /*untilTimeCode (0/15)*/,
28098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28099  },
28100 
28101 };
28102 
28103 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "\x0b" "Riga";
28104 
28105 const complete::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
28106  kZoneNameEurope_Riga /*name*/,
28107  0xa2c57587 /*zoneId*/,
28108  &kZoneContext /*zoneContext*/,
28109  15 /*numEras*/,
28110  kZoneEraEurope_Riga /*eras*/,
28111  nullptr /*targetInfo*/,
28112 };
28113 
28114 //---------------------------------------------------------------------------
28115 // Zone name: Europe/Rome
28116 // Eras: 6
28117 //---------------------------------------------------------------------------
28118 
28119 static const complete::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
28120  // 0:49:56 - LMT 1866 Dec 12
28121  {
28122  nullptr /*zonePolicy*/,
28123  "LMT" /*format*/,
28124  199 /*offsetCode (2996/15)*/,
28125  11 /*offsetRemainder (2996%15)*/,
28126  0 /*deltaMinutes*/,
28127  1866 /*untilYear*/,
28128  12 /*untilMonth*/,
28129  12 /*untilDay*/,
28130  0 /*untilTimeCode (0/15)*/,
28131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28132  },
28133  // 0:49:56 - RMT 1893 Oct 31 23:00u
28134  {
28135  nullptr /*zonePolicy*/,
28136  "RMT" /*format*/,
28137  199 /*offsetCode (2996/15)*/,
28138  11 /*offsetRemainder (2996%15)*/,
28139  0 /*deltaMinutes*/,
28140  1893 /*untilYear*/,
28141  10 /*untilMonth*/,
28142  31 /*untilDay*/,
28143  5520 /*untilTimeCode (82800/15)*/,
28144  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28145  },
28146  // 1:00 Italy CE%sT 1943 Sep 10
28147  {
28148  &kZonePolicyItaly /*zonePolicy*/,
28149  "CE%T" /*format*/,
28150  240 /*offsetCode (3600/15)*/,
28151  0 /*offsetRemainder (3600%15)*/,
28152  0 /*deltaMinutes*/,
28153  1943 /*untilYear*/,
28154  9 /*untilMonth*/,
28155  10 /*untilDay*/,
28156  0 /*untilTimeCode (0/15)*/,
28157  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28158  },
28159  // 1:00 C-Eur CE%sT 1944 Jun 4
28160  {
28161  &kZonePolicyC_Eur /*zonePolicy*/,
28162  "CE%T" /*format*/,
28163  240 /*offsetCode (3600/15)*/,
28164  0 /*offsetRemainder (3600%15)*/,
28165  0 /*deltaMinutes*/,
28166  1944 /*untilYear*/,
28167  6 /*untilMonth*/,
28168  4 /*untilDay*/,
28169  0 /*untilTimeCode (0/15)*/,
28170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28171  },
28172  // 1:00 Italy CE%sT 1980
28173  {
28174  &kZonePolicyItaly /*zonePolicy*/,
28175  "CE%T" /*format*/,
28176  240 /*offsetCode (3600/15)*/,
28177  0 /*offsetRemainder (3600%15)*/,
28178  0 /*deltaMinutes*/,
28179  1980 /*untilYear*/,
28180  1 /*untilMonth*/,
28181  1 /*untilDay*/,
28182  0 /*untilTimeCode (0/15)*/,
28183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28184  },
28185  // 1:00 EU CE%sT
28186  {
28187  &kZonePolicyEU /*zonePolicy*/,
28188  "CE%T" /*format*/,
28189  240 /*offsetCode (3600/15)*/,
28190  0 /*offsetRemainder (3600%15)*/,
28191  0 /*deltaMinutes*/,
28192  32767 /*untilYear*/,
28193  1 /*untilMonth*/,
28194  1 /*untilDay*/,
28195  0 /*untilTimeCode (0/15)*/,
28196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28197  },
28198 
28199 };
28200 
28201 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x0b" "Rome";
28202 
28203 const complete::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
28204  kZoneNameEurope_Rome /*name*/,
28205  0xa2c58fd7 /*zoneId*/,
28206  &kZoneContext /*zoneContext*/,
28207  6 /*numEras*/,
28208  kZoneEraEurope_Rome /*eras*/,
28209  nullptr /*targetInfo*/,
28210 };
28211 
28212 //---------------------------------------------------------------------------
28213 // Zone name: Europe/Samara
28214 // Eras: 10
28215 //---------------------------------------------------------------------------
28216 
28217 static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
28218  // 3:20:20 - LMT 1919 Jul 1 0:00u
28219  {
28220  nullptr /*zonePolicy*/,
28221  "LMT" /*format*/,
28222  801 /*offsetCode (12020/15)*/,
28223  5 /*offsetRemainder (12020%15)*/,
28224  0 /*deltaMinutes*/,
28225  1919 /*untilYear*/,
28226  7 /*untilMonth*/,
28227  1 /*untilDay*/,
28228  0 /*untilTimeCode (0/15)*/,
28229  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28230  },
28231  // 3:00 - %z 1930 Jun 21
28232  {
28233  nullptr /*zonePolicy*/,
28234  "" /*format*/,
28235  720 /*offsetCode (10800/15)*/,
28236  0 /*offsetRemainder (10800%15)*/,
28237  0 /*deltaMinutes*/,
28238  1930 /*untilYear*/,
28239  6 /*untilMonth*/,
28240  21 /*untilDay*/,
28241  0 /*untilTimeCode (0/15)*/,
28242  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28243  },
28244  // 4:00 - %z 1935 Jan 27
28245  {
28246  nullptr /*zonePolicy*/,
28247  "" /*format*/,
28248  960 /*offsetCode (14400/15)*/,
28249  0 /*offsetRemainder (14400%15)*/,
28250  0 /*deltaMinutes*/,
28251  1935 /*untilYear*/,
28252  1 /*untilMonth*/,
28253  27 /*untilDay*/,
28254  0 /*untilTimeCode (0/15)*/,
28255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28256  },
28257  // 4:00 Russia %z 1989 Mar 26 2:00s
28258  {
28259  &kZonePolicyRussia /*zonePolicy*/,
28260  "" /*format*/,
28261  960 /*offsetCode (14400/15)*/,
28262  0 /*offsetRemainder (14400%15)*/,
28263  0 /*deltaMinutes*/,
28264  1989 /*untilYear*/,
28265  3 /*untilMonth*/,
28266  26 /*untilDay*/,
28267  480 /*untilTimeCode (7200/15)*/,
28268  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28269  },
28270  // 3:00 Russia %z 1991 Mar 31 2:00s
28271  {
28272  &kZonePolicyRussia /*zonePolicy*/,
28273  "" /*format*/,
28274  720 /*offsetCode (10800/15)*/,
28275  0 /*offsetRemainder (10800%15)*/,
28276  0 /*deltaMinutes*/,
28277  1991 /*untilYear*/,
28278  3 /*untilMonth*/,
28279  31 /*untilDay*/,
28280  480 /*untilTimeCode (7200/15)*/,
28281  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28282  },
28283  // 2:00 Russia %z 1991 Sep 29 2:00s
28284  {
28285  &kZonePolicyRussia /*zonePolicy*/,
28286  "" /*format*/,
28287  480 /*offsetCode (7200/15)*/,
28288  0 /*offsetRemainder (7200%15)*/,
28289  0 /*deltaMinutes*/,
28290  1991 /*untilYear*/,
28291  9 /*untilMonth*/,
28292  29 /*untilDay*/,
28293  480 /*untilTimeCode (7200/15)*/,
28294  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28295  },
28296  // 3:00 - %z 1991 Oct 20 3:00
28297  {
28298  nullptr /*zonePolicy*/,
28299  "" /*format*/,
28300  720 /*offsetCode (10800/15)*/,
28301  0 /*offsetRemainder (10800%15)*/,
28302  0 /*deltaMinutes*/,
28303  1991 /*untilYear*/,
28304  10 /*untilMonth*/,
28305  20 /*untilDay*/,
28306  720 /*untilTimeCode (10800/15)*/,
28307  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28308  },
28309  // 4:00 Russia %z 2010 Mar 28 2:00s
28310  {
28311  &kZonePolicyRussia /*zonePolicy*/,
28312  "" /*format*/,
28313  960 /*offsetCode (14400/15)*/,
28314  0 /*offsetRemainder (14400%15)*/,
28315  0 /*deltaMinutes*/,
28316  2010 /*untilYear*/,
28317  3 /*untilMonth*/,
28318  28 /*untilDay*/,
28319  480 /*untilTimeCode (7200/15)*/,
28320  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28321  },
28322  // 3:00 Russia %z 2011 Mar 27 2:00s
28323  {
28324  &kZonePolicyRussia /*zonePolicy*/,
28325  "" /*format*/,
28326  720 /*offsetCode (10800/15)*/,
28327  0 /*offsetRemainder (10800%15)*/,
28328  0 /*deltaMinutes*/,
28329  2011 /*untilYear*/,
28330  3 /*untilMonth*/,
28331  27 /*untilDay*/,
28332  480 /*untilTimeCode (7200/15)*/,
28333  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28334  },
28335  // 4:00 - %z
28336  {
28337  nullptr /*zonePolicy*/,
28338  "" /*format*/,
28339  960 /*offsetCode (14400/15)*/,
28340  0 /*offsetRemainder (14400%15)*/,
28341  0 /*deltaMinutes*/,
28342  32767 /*untilYear*/,
28343  1 /*untilMonth*/,
28344  1 /*untilDay*/,
28345  0 /*untilTimeCode (0/15)*/,
28346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28347  },
28348 
28349 };
28350 
28351 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "\x0b" "Samara";
28352 
28353 const complete::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
28354  kZoneNameEurope_Samara /*name*/,
28355  0x6bc0b139 /*zoneId*/,
28356  &kZoneContext /*zoneContext*/,
28357  10 /*numEras*/,
28358  kZoneEraEurope_Samara /*eras*/,
28359  nullptr /*targetInfo*/,
28360 };
28361 
28362 //---------------------------------------------------------------------------
28363 // Zone name: Europe/Saratov
28364 // Eras: 9
28365 //---------------------------------------------------------------------------
28366 
28367 static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
28368  // 3:04:18 - LMT 1919 Jul 1 0:00u
28369  {
28370  nullptr /*zonePolicy*/,
28371  "LMT" /*format*/,
28372  737 /*offsetCode (11058/15)*/,
28373  3 /*offsetRemainder (11058%15)*/,
28374  0 /*deltaMinutes*/,
28375  1919 /*untilYear*/,
28376  7 /*untilMonth*/,
28377  1 /*untilDay*/,
28378  0 /*untilTimeCode (0/15)*/,
28379  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28380  },
28381  // 3:00 - %z 1930 Jun 21
28382  {
28383  nullptr /*zonePolicy*/,
28384  "" /*format*/,
28385  720 /*offsetCode (10800/15)*/,
28386  0 /*offsetRemainder (10800%15)*/,
28387  0 /*deltaMinutes*/,
28388  1930 /*untilYear*/,
28389  6 /*untilMonth*/,
28390  21 /*untilDay*/,
28391  0 /*untilTimeCode (0/15)*/,
28392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28393  },
28394  // 4:00 Russia %z 1988 Mar 27 2:00s
28395  {
28396  &kZonePolicyRussia /*zonePolicy*/,
28397  "" /*format*/,
28398  960 /*offsetCode (14400/15)*/,
28399  0 /*offsetRemainder (14400%15)*/,
28400  0 /*deltaMinutes*/,
28401  1988 /*untilYear*/,
28402  3 /*untilMonth*/,
28403  27 /*untilDay*/,
28404  480 /*untilTimeCode (7200/15)*/,
28405  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28406  },
28407  // 3:00 Russia %z 1991 Mar 31 2:00s
28408  {
28409  &kZonePolicyRussia /*zonePolicy*/,
28410  "" /*format*/,
28411  720 /*offsetCode (10800/15)*/,
28412  0 /*offsetRemainder (10800%15)*/,
28413  0 /*deltaMinutes*/,
28414  1991 /*untilYear*/,
28415  3 /*untilMonth*/,
28416  31 /*untilDay*/,
28417  480 /*untilTimeCode (7200/15)*/,
28418  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28419  },
28420  // 4:00 - %z 1992 Mar 29 2:00s
28421  {
28422  nullptr /*zonePolicy*/,
28423  "" /*format*/,
28424  960 /*offsetCode (14400/15)*/,
28425  0 /*offsetRemainder (14400%15)*/,
28426  0 /*deltaMinutes*/,
28427  1992 /*untilYear*/,
28428  3 /*untilMonth*/,
28429  29 /*untilDay*/,
28430  480 /*untilTimeCode (7200/15)*/,
28431  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28432  },
28433  // 3:00 Russia %z 2011 Mar 27 2:00s
28434  {
28435  &kZonePolicyRussia /*zonePolicy*/,
28436  "" /*format*/,
28437  720 /*offsetCode (10800/15)*/,
28438  0 /*offsetRemainder (10800%15)*/,
28439  0 /*deltaMinutes*/,
28440  2011 /*untilYear*/,
28441  3 /*untilMonth*/,
28442  27 /*untilDay*/,
28443  480 /*untilTimeCode (7200/15)*/,
28444  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28445  },
28446  // 4:00 - %z 2014 Oct 26 2:00s
28447  {
28448  nullptr /*zonePolicy*/,
28449  "" /*format*/,
28450  960 /*offsetCode (14400/15)*/,
28451  0 /*offsetRemainder (14400%15)*/,
28452  0 /*deltaMinutes*/,
28453  2014 /*untilYear*/,
28454  10 /*untilMonth*/,
28455  26 /*untilDay*/,
28456  480 /*untilTimeCode (7200/15)*/,
28457  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28458  },
28459  // 3:00 - %z 2016 Dec 4 2:00s
28460  {
28461  nullptr /*zonePolicy*/,
28462  "" /*format*/,
28463  720 /*offsetCode (10800/15)*/,
28464  0 /*offsetRemainder (10800%15)*/,
28465  0 /*deltaMinutes*/,
28466  2016 /*untilYear*/,
28467  12 /*untilMonth*/,
28468  4 /*untilDay*/,
28469  480 /*untilTimeCode (7200/15)*/,
28470  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28471  },
28472  // 4:00 - %z
28473  {
28474  nullptr /*zonePolicy*/,
28475  "" /*format*/,
28476  960 /*offsetCode (14400/15)*/,
28477  0 /*offsetRemainder (14400%15)*/,
28478  0 /*deltaMinutes*/,
28479  32767 /*untilYear*/,
28480  1 /*untilMonth*/,
28481  1 /*untilDay*/,
28482  0 /*untilTimeCode (0/15)*/,
28483  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28484  },
28485 
28486 };
28487 
28488 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "\x0b" "Saratov";
28489 
28490 const complete::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
28491  kZoneNameEurope_Saratov /*name*/,
28492  0xe4315da4 /*zoneId*/,
28493  &kZoneContext /*zoneContext*/,
28494  9 /*numEras*/,
28495  kZoneEraEurope_Saratov /*eras*/,
28496  nullptr /*targetInfo*/,
28497 };
28498 
28499 //---------------------------------------------------------------------------
28500 // Zone name: Europe/Simferopol
28501 // Eras: 15
28502 //---------------------------------------------------------------------------
28503 
28504 static const complete::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
28505  // 2:16:24 - LMT 1880
28506  {
28507  nullptr /*zonePolicy*/,
28508  "LMT" /*format*/,
28509  545 /*offsetCode (8184/15)*/,
28510  9 /*offsetRemainder (8184%15)*/,
28511  0 /*deltaMinutes*/,
28512  1880 /*untilYear*/,
28513  1 /*untilMonth*/,
28514  1 /*untilDay*/,
28515  0 /*untilTimeCode (0/15)*/,
28516  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28517  },
28518  // 2:16 - SMT 1924 May 2
28519  {
28520  nullptr /*zonePolicy*/,
28521  "SMT" /*format*/,
28522  544 /*offsetCode (8160/15)*/,
28523  0 /*offsetRemainder (8160%15)*/,
28524  0 /*deltaMinutes*/,
28525  1924 /*untilYear*/,
28526  5 /*untilMonth*/,
28527  2 /*untilDay*/,
28528  0 /*untilTimeCode (0/15)*/,
28529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28530  },
28531  // 2:00 - EET 1930 Jun 21
28532  {
28533  nullptr /*zonePolicy*/,
28534  "EET" /*format*/,
28535  480 /*offsetCode (7200/15)*/,
28536  0 /*offsetRemainder (7200%15)*/,
28537  0 /*deltaMinutes*/,
28538  1930 /*untilYear*/,
28539  6 /*untilMonth*/,
28540  21 /*untilDay*/,
28541  0 /*untilTimeCode (0/15)*/,
28542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28543  },
28544  // 3:00 - MSK 1941 Nov
28545  {
28546  nullptr /*zonePolicy*/,
28547  "MSK" /*format*/,
28548  720 /*offsetCode (10800/15)*/,
28549  0 /*offsetRemainder (10800%15)*/,
28550  0 /*deltaMinutes*/,
28551  1941 /*untilYear*/,
28552  11 /*untilMonth*/,
28553  1 /*untilDay*/,
28554  0 /*untilTimeCode (0/15)*/,
28555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28556  },
28557  // 1:00 C-Eur CE%sT 1944 Apr 13
28558  {
28559  &kZonePolicyC_Eur /*zonePolicy*/,
28560  "CE%T" /*format*/,
28561  240 /*offsetCode (3600/15)*/,
28562  0 /*offsetRemainder (3600%15)*/,
28563  0 /*deltaMinutes*/,
28564  1944 /*untilYear*/,
28565  4 /*untilMonth*/,
28566  13 /*untilDay*/,
28567  0 /*untilTimeCode (0/15)*/,
28568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28569  },
28570  // 3:00 Russia MSK/MSD 1990
28571  {
28572  &kZonePolicyRussia /*zonePolicy*/,
28573  "MSK/MSD" /*format*/,
28574  720 /*offsetCode (10800/15)*/,
28575  0 /*offsetRemainder (10800%15)*/,
28576  0 /*deltaMinutes*/,
28577  1990 /*untilYear*/,
28578  1 /*untilMonth*/,
28579  1 /*untilDay*/,
28580  0 /*untilTimeCode (0/15)*/,
28581  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28582  },
28583  // 3:00 - MSK 1990 Jul 1 2:00
28584  {
28585  nullptr /*zonePolicy*/,
28586  "MSK" /*format*/,
28587  720 /*offsetCode (10800/15)*/,
28588  0 /*offsetRemainder (10800%15)*/,
28589  0 /*deltaMinutes*/,
28590  1990 /*untilYear*/,
28591  7 /*untilMonth*/,
28592  1 /*untilDay*/,
28593  480 /*untilTimeCode (7200/15)*/,
28594  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28595  },
28596  // 2:00 - EET 1992 Mar 20
28597  {
28598  nullptr /*zonePolicy*/,
28599  "EET" /*format*/,
28600  480 /*offsetCode (7200/15)*/,
28601  0 /*offsetRemainder (7200%15)*/,
28602  0 /*deltaMinutes*/,
28603  1992 /*untilYear*/,
28604  3 /*untilMonth*/,
28605  20 /*untilDay*/,
28606  0 /*untilTimeCode (0/15)*/,
28607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28608  },
28609  // 2:00 C-Eur EE%sT 1994 May
28610  {
28611  &kZonePolicyC_Eur /*zonePolicy*/,
28612  "EE%T" /*format*/,
28613  480 /*offsetCode (7200/15)*/,
28614  0 /*offsetRemainder (7200%15)*/,
28615  0 /*deltaMinutes*/,
28616  1994 /*untilYear*/,
28617  5 /*untilMonth*/,
28618  1 /*untilDay*/,
28619  0 /*untilTimeCode (0/15)*/,
28620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28621  },
28622  // 3:00 C-Eur MSK/MSD 1996 Mar 31 0:00s
28623  {
28624  &kZonePolicyC_Eur /*zonePolicy*/,
28625  "MSK/MSD" /*format*/,
28626  720 /*offsetCode (10800/15)*/,
28627  0 /*offsetRemainder (10800%15)*/,
28628  0 /*deltaMinutes*/,
28629  1996 /*untilYear*/,
28630  3 /*untilMonth*/,
28631  31 /*untilDay*/,
28632  0 /*untilTimeCode (0/15)*/,
28633  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28634  },
28635  // 3:00 1:00 MSD 1996 Oct 27 3:00s
28636  {
28637  nullptr /*zonePolicy*/,
28638  "MSD" /*format*/,
28639  720 /*offsetCode (10800/15)*/,
28640  0 /*offsetRemainder (10800%15)*/,
28641  60 /*deltaMinutes*/,
28642  1996 /*untilYear*/,
28643  10 /*untilMonth*/,
28644  27 /*untilDay*/,
28645  720 /*untilTimeCode (10800/15)*/,
28646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28647  },
28648  // 3:00 - MSK 1997 Mar lastSun 1:00u
28649  {
28650  nullptr /*zonePolicy*/,
28651  "MSK" /*format*/,
28652  720 /*offsetCode (10800/15)*/,
28653  0 /*offsetRemainder (10800%15)*/,
28654  0 /*deltaMinutes*/,
28655  1997 /*untilYear*/,
28656  3 /*untilMonth*/,
28657  30 /*untilDay*/,
28658  240 /*untilTimeCode (3600/15)*/,
28659  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28660  },
28661  // 2:00 EU EE%sT 2014 Mar 30 2:00
28662  {
28663  &kZonePolicyEU /*zonePolicy*/,
28664  "EE%T" /*format*/,
28665  480 /*offsetCode (7200/15)*/,
28666  0 /*offsetRemainder (7200%15)*/,
28667  0 /*deltaMinutes*/,
28668  2014 /*untilYear*/,
28669  3 /*untilMonth*/,
28670  30 /*untilDay*/,
28671  480 /*untilTimeCode (7200/15)*/,
28672  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28673  },
28674  // 4:00 - MSK 2014 Oct 26 2:00s
28675  {
28676  nullptr /*zonePolicy*/,
28677  "MSK" /*format*/,
28678  960 /*offsetCode (14400/15)*/,
28679  0 /*offsetRemainder (14400%15)*/,
28680  0 /*deltaMinutes*/,
28681  2014 /*untilYear*/,
28682  10 /*untilMonth*/,
28683  26 /*untilDay*/,
28684  480 /*untilTimeCode (7200/15)*/,
28685  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28686  },
28687  // 3:00 - MSK
28688  {
28689  nullptr /*zonePolicy*/,
28690  "MSK" /*format*/,
28691  720 /*offsetCode (10800/15)*/,
28692  0 /*offsetRemainder (10800%15)*/,
28693  0 /*deltaMinutes*/,
28694  32767 /*untilYear*/,
28695  1 /*untilMonth*/,
28696  1 /*untilDay*/,
28697  0 /*untilTimeCode (0/15)*/,
28698  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28699  },
28700 
28701 };
28702 
28703 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "\x0b" "Simferopol";
28704 
28705 const complete::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
28706  kZoneNameEurope_Simferopol /*name*/,
28707  0xda9eb724 /*zoneId*/,
28708  &kZoneContext /*zoneContext*/,
28709  15 /*numEras*/,
28710  kZoneEraEurope_Simferopol /*eras*/,
28711  nullptr /*targetInfo*/,
28712 };
28713 
28714 //---------------------------------------------------------------------------
28715 // Zone name: Europe/Sofia
28716 // Eras: 10
28717 //---------------------------------------------------------------------------
28718 
28719 static const complete::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
28720  // 1:33:16 - LMT 1880
28721  {
28722  nullptr /*zonePolicy*/,
28723  "LMT" /*format*/,
28724  373 /*offsetCode (5596/15)*/,
28725  1 /*offsetRemainder (5596%15)*/,
28726  0 /*deltaMinutes*/,
28727  1880 /*untilYear*/,
28728  1 /*untilMonth*/,
28729  1 /*untilDay*/,
28730  0 /*untilTimeCode (0/15)*/,
28731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28732  },
28733  // 1:56:56 - IMT 1894 Nov 30
28734  {
28735  nullptr /*zonePolicy*/,
28736  "IMT" /*format*/,
28737  467 /*offsetCode (7016/15)*/,
28738  11 /*offsetRemainder (7016%15)*/,
28739  0 /*deltaMinutes*/,
28740  1894 /*untilYear*/,
28741  11 /*untilMonth*/,
28742  30 /*untilDay*/,
28743  0 /*untilTimeCode (0/15)*/,
28744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28745  },
28746  // 2:00 - EET 1942 Nov 2 3:00
28747  {
28748  nullptr /*zonePolicy*/,
28749  "EET" /*format*/,
28750  480 /*offsetCode (7200/15)*/,
28751  0 /*offsetRemainder (7200%15)*/,
28752  0 /*deltaMinutes*/,
28753  1942 /*untilYear*/,
28754  11 /*untilMonth*/,
28755  2 /*untilDay*/,
28756  720 /*untilTimeCode (10800/15)*/,
28757  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28758  },
28759  // 1:00 C-Eur CE%sT 1945
28760  {
28761  &kZonePolicyC_Eur /*zonePolicy*/,
28762  "CE%T" /*format*/,
28763  240 /*offsetCode (3600/15)*/,
28764  0 /*offsetRemainder (3600%15)*/,
28765  0 /*deltaMinutes*/,
28766  1945 /*untilYear*/,
28767  1 /*untilMonth*/,
28768  1 /*untilDay*/,
28769  0 /*untilTimeCode (0/15)*/,
28770  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28771  },
28772  // 1:00 - CET 1945 Apr 2 3:00
28773  {
28774  nullptr /*zonePolicy*/,
28775  "CET" /*format*/,
28776  240 /*offsetCode (3600/15)*/,
28777  0 /*offsetRemainder (3600%15)*/,
28778  0 /*deltaMinutes*/,
28779  1945 /*untilYear*/,
28780  4 /*untilMonth*/,
28781  2 /*untilDay*/,
28782  720 /*untilTimeCode (10800/15)*/,
28783  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28784  },
28785  // 2:00 - EET 1979 Mar 31 23:00
28786  {
28787  nullptr /*zonePolicy*/,
28788  "EET" /*format*/,
28789  480 /*offsetCode (7200/15)*/,
28790  0 /*offsetRemainder (7200%15)*/,
28791  0 /*deltaMinutes*/,
28792  1979 /*untilYear*/,
28793  3 /*untilMonth*/,
28794  31 /*untilDay*/,
28795  5520 /*untilTimeCode (82800/15)*/,
28796  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28797  },
28798  // 2:00 Bulg EE%sT 1982 Sep 26 3:00
28799  {
28800  &kZonePolicyBulg /*zonePolicy*/,
28801  "EE%T" /*format*/,
28802  480 /*offsetCode (7200/15)*/,
28803  0 /*offsetRemainder (7200%15)*/,
28804  0 /*deltaMinutes*/,
28805  1982 /*untilYear*/,
28806  9 /*untilMonth*/,
28807  26 /*untilDay*/,
28808  720 /*untilTimeCode (10800/15)*/,
28809  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28810  },
28811  // 2:00 C-Eur EE%sT 1991
28812  {
28813  &kZonePolicyC_Eur /*zonePolicy*/,
28814  "EE%T" /*format*/,
28815  480 /*offsetCode (7200/15)*/,
28816  0 /*offsetRemainder (7200%15)*/,
28817  0 /*deltaMinutes*/,
28818  1991 /*untilYear*/,
28819  1 /*untilMonth*/,
28820  1 /*untilDay*/,
28821  0 /*untilTimeCode (0/15)*/,
28822  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28823  },
28824  // 2:00 E-Eur EE%sT 1997
28825  {
28826  &kZonePolicyE_Eur /*zonePolicy*/,
28827  "EE%T" /*format*/,
28828  480 /*offsetCode (7200/15)*/,
28829  0 /*offsetRemainder (7200%15)*/,
28830  0 /*deltaMinutes*/,
28831  1997 /*untilYear*/,
28832  1 /*untilMonth*/,
28833  1 /*untilDay*/,
28834  0 /*untilTimeCode (0/15)*/,
28835  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28836  },
28837  // 2:00 EU EE%sT
28838  {
28839  &kZonePolicyEU /*zonePolicy*/,
28840  "EE%T" /*format*/,
28841  480 /*offsetCode (7200/15)*/,
28842  0 /*offsetRemainder (7200%15)*/,
28843  0 /*deltaMinutes*/,
28844  32767 /*untilYear*/,
28845  1 /*untilMonth*/,
28846  1 /*untilDay*/,
28847  0 /*untilTimeCode (0/15)*/,
28848  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28849  },
28850 
28851 };
28852 
28853 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x0b" "Sofia";
28854 
28855 const complete::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
28856  kZoneNameEurope_Sofia /*name*/,
28857  0xfb898656 /*zoneId*/,
28858  &kZoneContext /*zoneContext*/,
28859  10 /*numEras*/,
28860  kZoneEraEurope_Sofia /*eras*/,
28861  nullptr /*targetInfo*/,
28862 };
28863 
28864 //---------------------------------------------------------------------------
28865 // Zone name: Europe/Tallinn
28866 // Eras: 13
28867 //---------------------------------------------------------------------------
28868 
28869 static const complete::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
28870  // 1:39:00 - LMT 1880
28871  {
28872  nullptr /*zonePolicy*/,
28873  "LMT" /*format*/,
28874  396 /*offsetCode (5940/15)*/,
28875  0 /*offsetRemainder (5940%15)*/,
28876  0 /*deltaMinutes*/,
28877  1880 /*untilYear*/,
28878  1 /*untilMonth*/,
28879  1 /*untilDay*/,
28880  0 /*untilTimeCode (0/15)*/,
28881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28882  },
28883  // 1:39:00 - TMT 1918 Feb
28884  {
28885  nullptr /*zonePolicy*/,
28886  "TMT" /*format*/,
28887  396 /*offsetCode (5940/15)*/,
28888  0 /*offsetRemainder (5940%15)*/,
28889  0 /*deltaMinutes*/,
28890  1918 /*untilYear*/,
28891  2 /*untilMonth*/,
28892  1 /*untilDay*/,
28893  0 /*untilTimeCode (0/15)*/,
28894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28895  },
28896  // 1:00 C-Eur CE%sT 1919 Jul
28897  {
28898  &kZonePolicyC_Eur /*zonePolicy*/,
28899  "CE%T" /*format*/,
28900  240 /*offsetCode (3600/15)*/,
28901  0 /*offsetRemainder (3600%15)*/,
28902  0 /*deltaMinutes*/,
28903  1919 /*untilYear*/,
28904  7 /*untilMonth*/,
28905  1 /*untilDay*/,
28906  0 /*untilTimeCode (0/15)*/,
28907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28908  },
28909  // 1:39:00 - TMT 1921 May
28910  {
28911  nullptr /*zonePolicy*/,
28912  "TMT" /*format*/,
28913  396 /*offsetCode (5940/15)*/,
28914  0 /*offsetRemainder (5940%15)*/,
28915  0 /*deltaMinutes*/,
28916  1921 /*untilYear*/,
28917  5 /*untilMonth*/,
28918  1 /*untilDay*/,
28919  0 /*untilTimeCode (0/15)*/,
28920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28921  },
28922  // 2:00 - EET 1940 Aug 6
28923  {
28924  nullptr /*zonePolicy*/,
28925  "EET" /*format*/,
28926  480 /*offsetCode (7200/15)*/,
28927  0 /*offsetRemainder (7200%15)*/,
28928  0 /*deltaMinutes*/,
28929  1940 /*untilYear*/,
28930  8 /*untilMonth*/,
28931  6 /*untilDay*/,
28932  0 /*untilTimeCode (0/15)*/,
28933  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28934  },
28935  // 3:00 - MSK 1941 Sep 15
28936  {
28937  nullptr /*zonePolicy*/,
28938  "MSK" /*format*/,
28939  720 /*offsetCode (10800/15)*/,
28940  0 /*offsetRemainder (10800%15)*/,
28941  0 /*deltaMinutes*/,
28942  1941 /*untilYear*/,
28943  9 /*untilMonth*/,
28944  15 /*untilDay*/,
28945  0 /*untilTimeCode (0/15)*/,
28946  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28947  },
28948  // 1:00 C-Eur CE%sT 1944 Sep 22
28949  {
28950  &kZonePolicyC_Eur /*zonePolicy*/,
28951  "CE%T" /*format*/,
28952  240 /*offsetCode (3600/15)*/,
28953  0 /*offsetRemainder (3600%15)*/,
28954  0 /*deltaMinutes*/,
28955  1944 /*untilYear*/,
28956  9 /*untilMonth*/,
28957  22 /*untilDay*/,
28958  0 /*untilTimeCode (0/15)*/,
28959  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28960  },
28961  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
28962  {
28963  &kZonePolicyRussia /*zonePolicy*/,
28964  "MSK/MSD" /*format*/,
28965  720 /*offsetCode (10800/15)*/,
28966  0 /*offsetRemainder (10800%15)*/,
28967  0 /*deltaMinutes*/,
28968  1989 /*untilYear*/,
28969  3 /*untilMonth*/,
28970  26 /*untilDay*/,
28971  480 /*untilTimeCode (7200/15)*/,
28972  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28973  },
28974  // 2:00 1:00 EEST 1989 Sep 24 2:00s
28975  {
28976  nullptr /*zonePolicy*/,
28977  "EEST" /*format*/,
28978  480 /*offsetCode (7200/15)*/,
28979  0 /*offsetRemainder (7200%15)*/,
28980  60 /*deltaMinutes*/,
28981  1989 /*untilYear*/,
28982  9 /*untilMonth*/,
28983  24 /*untilDay*/,
28984  480 /*untilTimeCode (7200/15)*/,
28985  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28986  },
28987  // 2:00 C-Eur EE%sT 1998 Sep 22
28988  {
28989  &kZonePolicyC_Eur /*zonePolicy*/,
28990  "EE%T" /*format*/,
28991  480 /*offsetCode (7200/15)*/,
28992  0 /*offsetRemainder (7200%15)*/,
28993  0 /*deltaMinutes*/,
28994  1998 /*untilYear*/,
28995  9 /*untilMonth*/,
28996  22 /*untilDay*/,
28997  0 /*untilTimeCode (0/15)*/,
28998  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28999  },
29000  // 2:00 EU EE%sT 1999 Oct 31 4:00
29001  {
29002  &kZonePolicyEU /*zonePolicy*/,
29003  "EE%T" /*format*/,
29004  480 /*offsetCode (7200/15)*/,
29005  0 /*offsetRemainder (7200%15)*/,
29006  0 /*deltaMinutes*/,
29007  1999 /*untilYear*/,
29008  10 /*untilMonth*/,
29009  31 /*untilDay*/,
29010  960 /*untilTimeCode (14400/15)*/,
29011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29012  },
29013  // 2:00 - EET 2002 Feb 21
29014  {
29015  nullptr /*zonePolicy*/,
29016  "EET" /*format*/,
29017  480 /*offsetCode (7200/15)*/,
29018  0 /*offsetRemainder (7200%15)*/,
29019  0 /*deltaMinutes*/,
29020  2002 /*untilYear*/,
29021  2 /*untilMonth*/,
29022  21 /*untilDay*/,
29023  0 /*untilTimeCode (0/15)*/,
29024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29025  },
29026  // 2:00 EU EE%sT
29027  {
29028  &kZonePolicyEU /*zonePolicy*/,
29029  "EE%T" /*format*/,
29030  480 /*offsetCode (7200/15)*/,
29031  0 /*offsetRemainder (7200%15)*/,
29032  0 /*deltaMinutes*/,
29033  32767 /*untilYear*/,
29034  1 /*untilMonth*/,
29035  1 /*untilDay*/,
29036  0 /*untilTimeCode (0/15)*/,
29037  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29038  },
29039 
29040 };
29041 
29042 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "\x0b" "Tallinn";
29043 
29044 const complete::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
29045  kZoneNameEurope_Tallinn /*name*/,
29046  0x30c4e096 /*zoneId*/,
29047  &kZoneContext /*zoneContext*/,
29048  13 /*numEras*/,
29049  kZoneEraEurope_Tallinn /*eras*/,
29050  nullptr /*targetInfo*/,
29051 };
29052 
29053 //---------------------------------------------------------------------------
29054 // Zone name: Europe/Tirane
29055 // Eras: 4
29056 //---------------------------------------------------------------------------
29057 
29058 static const complete::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
29059  // 1:19:20 - LMT 1914
29060  {
29061  nullptr /*zonePolicy*/,
29062  "LMT" /*format*/,
29063  317 /*offsetCode (4760/15)*/,
29064  5 /*offsetRemainder (4760%15)*/,
29065  0 /*deltaMinutes*/,
29066  1914 /*untilYear*/,
29067  1 /*untilMonth*/,
29068  1 /*untilDay*/,
29069  0 /*untilTimeCode (0/15)*/,
29070  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29071  },
29072  // 1:00 - CET 1940 Jun 16
29073  {
29074  nullptr /*zonePolicy*/,
29075  "CET" /*format*/,
29076  240 /*offsetCode (3600/15)*/,
29077  0 /*offsetRemainder (3600%15)*/,
29078  0 /*deltaMinutes*/,
29079  1940 /*untilYear*/,
29080  6 /*untilMonth*/,
29081  16 /*untilDay*/,
29082  0 /*untilTimeCode (0/15)*/,
29083  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29084  },
29085  // 1:00 Albania CE%sT 1984 Jul
29086  {
29087  &kZonePolicyAlbania /*zonePolicy*/,
29088  "CE%T" /*format*/,
29089  240 /*offsetCode (3600/15)*/,
29090  0 /*offsetRemainder (3600%15)*/,
29091  0 /*deltaMinutes*/,
29092  1984 /*untilYear*/,
29093  7 /*untilMonth*/,
29094  1 /*untilDay*/,
29095  0 /*untilTimeCode (0/15)*/,
29096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29097  },
29098  // 1:00 EU CE%sT
29099  {
29100  &kZonePolicyEU /*zonePolicy*/,
29101  "CE%T" /*format*/,
29102  240 /*offsetCode (3600/15)*/,
29103  0 /*offsetRemainder (3600%15)*/,
29104  0 /*deltaMinutes*/,
29105  32767 /*untilYear*/,
29106  1 /*untilMonth*/,
29107  1 /*untilDay*/,
29108  0 /*untilTimeCode (0/15)*/,
29109  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29110  },
29111 
29112 };
29113 
29114 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x0b" "Tirane";
29115 
29116 const complete::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
29117  kZoneNameEurope_Tirane /*name*/,
29118  0x6ea95b47 /*zoneId*/,
29119  &kZoneContext /*zoneContext*/,
29120  4 /*numEras*/,
29121  kZoneEraEurope_Tirane /*eras*/,
29122  nullptr /*targetInfo*/,
29123 };
29124 
29125 //---------------------------------------------------------------------------
29126 // Zone name: Europe/Ulyanovsk
29127 // Eras: 9
29128 //---------------------------------------------------------------------------
29129 
29130 static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
29131  // 3:13:36 - LMT 1919 Jul 1 0:00u
29132  {
29133  nullptr /*zonePolicy*/,
29134  "LMT" /*format*/,
29135  774 /*offsetCode (11616/15)*/,
29136  6 /*offsetRemainder (11616%15)*/,
29137  0 /*deltaMinutes*/,
29138  1919 /*untilYear*/,
29139  7 /*untilMonth*/,
29140  1 /*untilDay*/,
29141  0 /*untilTimeCode (0/15)*/,
29142  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29143  },
29144  // 3:00 - %z 1930 Jun 21
29145  {
29146  nullptr /*zonePolicy*/,
29147  "" /*format*/,
29148  720 /*offsetCode (10800/15)*/,
29149  0 /*offsetRemainder (10800%15)*/,
29150  0 /*deltaMinutes*/,
29151  1930 /*untilYear*/,
29152  6 /*untilMonth*/,
29153  21 /*untilDay*/,
29154  0 /*untilTimeCode (0/15)*/,
29155  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29156  },
29157  // 4:00 Russia %z 1989 Mar 26 2:00s
29158  {
29159  &kZonePolicyRussia /*zonePolicy*/,
29160  "" /*format*/,
29161  960 /*offsetCode (14400/15)*/,
29162  0 /*offsetRemainder (14400%15)*/,
29163  0 /*deltaMinutes*/,
29164  1989 /*untilYear*/,
29165  3 /*untilMonth*/,
29166  26 /*untilDay*/,
29167  480 /*untilTimeCode (7200/15)*/,
29168  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29169  },
29170  // 3:00 Russia %z 1991 Mar 31 2:00s
29171  {
29172  &kZonePolicyRussia /*zonePolicy*/,
29173  "" /*format*/,
29174  720 /*offsetCode (10800/15)*/,
29175  0 /*offsetRemainder (10800%15)*/,
29176  0 /*deltaMinutes*/,
29177  1991 /*untilYear*/,
29178  3 /*untilMonth*/,
29179  31 /*untilDay*/,
29180  480 /*untilTimeCode (7200/15)*/,
29181  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29182  },
29183  // 2:00 Russia %z 1992 Jan 19 2:00s
29184  {
29185  &kZonePolicyRussia /*zonePolicy*/,
29186  "" /*format*/,
29187  480 /*offsetCode (7200/15)*/,
29188  0 /*offsetRemainder (7200%15)*/,
29189  0 /*deltaMinutes*/,
29190  1992 /*untilYear*/,
29191  1 /*untilMonth*/,
29192  19 /*untilDay*/,
29193  480 /*untilTimeCode (7200/15)*/,
29194  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29195  },
29196  // 3:00 Russia %z 2011 Mar 27 2:00s
29197  {
29198  &kZonePolicyRussia /*zonePolicy*/,
29199  "" /*format*/,
29200  720 /*offsetCode (10800/15)*/,
29201  0 /*offsetRemainder (10800%15)*/,
29202  0 /*deltaMinutes*/,
29203  2011 /*untilYear*/,
29204  3 /*untilMonth*/,
29205  27 /*untilDay*/,
29206  480 /*untilTimeCode (7200/15)*/,
29207  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29208  },
29209  // 4:00 - %z 2014 Oct 26 2:00s
29210  {
29211  nullptr /*zonePolicy*/,
29212  "" /*format*/,
29213  960 /*offsetCode (14400/15)*/,
29214  0 /*offsetRemainder (14400%15)*/,
29215  0 /*deltaMinutes*/,
29216  2014 /*untilYear*/,
29217  10 /*untilMonth*/,
29218  26 /*untilDay*/,
29219  480 /*untilTimeCode (7200/15)*/,
29220  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29221  },
29222  // 3:00 - %z 2016 Mar 27 2:00s
29223  {
29224  nullptr /*zonePolicy*/,
29225  "" /*format*/,
29226  720 /*offsetCode (10800/15)*/,
29227  0 /*offsetRemainder (10800%15)*/,
29228  0 /*deltaMinutes*/,
29229  2016 /*untilYear*/,
29230  3 /*untilMonth*/,
29231  27 /*untilDay*/,
29232  480 /*untilTimeCode (7200/15)*/,
29233  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29234  },
29235  // 4:00 - %z
29236  {
29237  nullptr /*zonePolicy*/,
29238  "" /*format*/,
29239  960 /*offsetCode (14400/15)*/,
29240  0 /*offsetRemainder (14400%15)*/,
29241  0 /*deltaMinutes*/,
29242  32767 /*untilYear*/,
29243  1 /*untilMonth*/,
29244  1 /*untilDay*/,
29245  0 /*untilTimeCode (0/15)*/,
29246  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29247  },
29248 
29249 };
29250 
29251 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "\x0b" "Ulyanovsk";
29252 
29253 const complete::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
29254  kZoneNameEurope_Ulyanovsk /*name*/,
29255  0xe03783d0 /*zoneId*/,
29256  &kZoneContext /*zoneContext*/,
29257  9 /*numEras*/,
29258  kZoneEraEurope_Ulyanovsk /*eras*/,
29259  nullptr /*targetInfo*/,
29260 };
29261 
29262 //---------------------------------------------------------------------------
29263 // Zone name: Europe/Vienna
29264 // Eras: 8
29265 //---------------------------------------------------------------------------
29266 
29267 static const complete::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
29268  // 1:05:21 - LMT 1893 Apr
29269  {
29270  nullptr /*zonePolicy*/,
29271  "LMT" /*format*/,
29272  261 /*offsetCode (3921/15)*/,
29273  6 /*offsetRemainder (3921%15)*/,
29274  0 /*deltaMinutes*/,
29275  1893 /*untilYear*/,
29276  4 /*untilMonth*/,
29277  1 /*untilDay*/,
29278  0 /*untilTimeCode (0/15)*/,
29279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29280  },
29281  // 1:00 C-Eur CE%sT 1920
29282  {
29283  &kZonePolicyC_Eur /*zonePolicy*/,
29284  "CE%T" /*format*/,
29285  240 /*offsetCode (3600/15)*/,
29286  0 /*offsetRemainder (3600%15)*/,
29287  0 /*deltaMinutes*/,
29288  1920 /*untilYear*/,
29289  1 /*untilMonth*/,
29290  1 /*untilDay*/,
29291  0 /*untilTimeCode (0/15)*/,
29292  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29293  },
29294  // 1:00 Austria CE%sT 1940 Apr 1 2:00s
29295  {
29296  &kZonePolicyAustria /*zonePolicy*/,
29297  "CE%T" /*format*/,
29298  240 /*offsetCode (3600/15)*/,
29299  0 /*offsetRemainder (3600%15)*/,
29300  0 /*deltaMinutes*/,
29301  1940 /*untilYear*/,
29302  4 /*untilMonth*/,
29303  1 /*untilDay*/,
29304  480 /*untilTimeCode (7200/15)*/,
29305  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29306  },
29307  // 1:00 C-Eur CE%sT 1945 Apr 2 2:00s
29308  {
29309  &kZonePolicyC_Eur /*zonePolicy*/,
29310  "CE%T" /*format*/,
29311  240 /*offsetCode (3600/15)*/,
29312  0 /*offsetRemainder (3600%15)*/,
29313  0 /*deltaMinutes*/,
29314  1945 /*untilYear*/,
29315  4 /*untilMonth*/,
29316  2 /*untilDay*/,
29317  480 /*untilTimeCode (7200/15)*/,
29318  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29319  },
29320  // 1:00 1:00 CEST 1945 Apr 12 2:00s
29321  {
29322  nullptr /*zonePolicy*/,
29323  "CEST" /*format*/,
29324  240 /*offsetCode (3600/15)*/,
29325  0 /*offsetRemainder (3600%15)*/,
29326  60 /*deltaMinutes*/,
29327  1945 /*untilYear*/,
29328  4 /*untilMonth*/,
29329  12 /*untilDay*/,
29330  480 /*untilTimeCode (7200/15)*/,
29331  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29332  },
29333  // 1:00 - CET 1946
29334  {
29335  nullptr /*zonePolicy*/,
29336  "CET" /*format*/,
29337  240 /*offsetCode (3600/15)*/,
29338  0 /*offsetRemainder (3600%15)*/,
29339  0 /*deltaMinutes*/,
29340  1946 /*untilYear*/,
29341  1 /*untilMonth*/,
29342  1 /*untilDay*/,
29343  0 /*untilTimeCode (0/15)*/,
29344  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29345  },
29346  // 1:00 Austria CE%sT 1981
29347  {
29348  &kZonePolicyAustria /*zonePolicy*/,
29349  "CE%T" /*format*/,
29350  240 /*offsetCode (3600/15)*/,
29351  0 /*offsetRemainder (3600%15)*/,
29352  0 /*deltaMinutes*/,
29353  1981 /*untilYear*/,
29354  1 /*untilMonth*/,
29355  1 /*untilDay*/,
29356  0 /*untilTimeCode (0/15)*/,
29357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29358  },
29359  // 1:00 EU CE%sT
29360  {
29361  &kZonePolicyEU /*zonePolicy*/,
29362  "CE%T" /*format*/,
29363  240 /*offsetCode (3600/15)*/,
29364  0 /*offsetRemainder (3600%15)*/,
29365  0 /*deltaMinutes*/,
29366  32767 /*untilYear*/,
29367  1 /*untilMonth*/,
29368  1 /*untilDay*/,
29369  0 /*untilTimeCode (0/15)*/,
29370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29371  },
29372 
29373 };
29374 
29375 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x0b" "Vienna";
29376 
29377 const complete::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
29378  kZoneNameEurope_Vienna /*name*/,
29379  0x734cc2e5 /*zoneId*/,
29380  &kZoneContext /*zoneContext*/,
29381  8 /*numEras*/,
29382  kZoneEraEurope_Vienna /*eras*/,
29383  nullptr /*targetInfo*/,
29384 };
29385 
29386 //---------------------------------------------------------------------------
29387 // Zone name: Europe/Vilnius
29388 // Eras: 15
29389 //---------------------------------------------------------------------------
29390 
29391 static const complete::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
29392  // 1:41:16 - LMT 1880
29393  {
29394  nullptr /*zonePolicy*/,
29395  "LMT" /*format*/,
29396  405 /*offsetCode (6076/15)*/,
29397  1 /*offsetRemainder (6076%15)*/,
29398  0 /*deltaMinutes*/,
29399  1880 /*untilYear*/,
29400  1 /*untilMonth*/,
29401  1 /*untilDay*/,
29402  0 /*untilTimeCode (0/15)*/,
29403  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29404  },
29405  // 1:24:00 - WMT 1917
29406  {
29407  nullptr /*zonePolicy*/,
29408  "WMT" /*format*/,
29409  336 /*offsetCode (5040/15)*/,
29410  0 /*offsetRemainder (5040%15)*/,
29411  0 /*deltaMinutes*/,
29412  1917 /*untilYear*/,
29413  1 /*untilMonth*/,
29414  1 /*untilDay*/,
29415  0 /*untilTimeCode (0/15)*/,
29416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29417  },
29418  // 1:35:36 - KMT 1919 Oct 10
29419  {
29420  nullptr /*zonePolicy*/,
29421  "KMT" /*format*/,
29422  382 /*offsetCode (5736/15)*/,
29423  6 /*offsetRemainder (5736%15)*/,
29424  0 /*deltaMinutes*/,
29425  1919 /*untilYear*/,
29426  10 /*untilMonth*/,
29427  10 /*untilDay*/,
29428  0 /*untilTimeCode (0/15)*/,
29429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29430  },
29431  // 1:00 - CET 1920 Jul 12
29432  {
29433  nullptr /*zonePolicy*/,
29434  "CET" /*format*/,
29435  240 /*offsetCode (3600/15)*/,
29436  0 /*offsetRemainder (3600%15)*/,
29437  0 /*deltaMinutes*/,
29438  1920 /*untilYear*/,
29439  7 /*untilMonth*/,
29440  12 /*untilDay*/,
29441  0 /*untilTimeCode (0/15)*/,
29442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29443  },
29444  // 2:00 - EET 1920 Oct 9
29445  {
29446  nullptr /*zonePolicy*/,
29447  "EET" /*format*/,
29448  480 /*offsetCode (7200/15)*/,
29449  0 /*offsetRemainder (7200%15)*/,
29450  0 /*deltaMinutes*/,
29451  1920 /*untilYear*/,
29452  10 /*untilMonth*/,
29453  9 /*untilDay*/,
29454  0 /*untilTimeCode (0/15)*/,
29455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29456  },
29457  // 1:00 - CET 1940 Aug 3
29458  {
29459  nullptr /*zonePolicy*/,
29460  "CET" /*format*/,
29461  240 /*offsetCode (3600/15)*/,
29462  0 /*offsetRemainder (3600%15)*/,
29463  0 /*deltaMinutes*/,
29464  1940 /*untilYear*/,
29465  8 /*untilMonth*/,
29466  3 /*untilDay*/,
29467  0 /*untilTimeCode (0/15)*/,
29468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29469  },
29470  // 3:00 - MSK 1941 Jun 24
29471  {
29472  nullptr /*zonePolicy*/,
29473  "MSK" /*format*/,
29474  720 /*offsetCode (10800/15)*/,
29475  0 /*offsetRemainder (10800%15)*/,
29476  0 /*deltaMinutes*/,
29477  1941 /*untilYear*/,
29478  6 /*untilMonth*/,
29479  24 /*untilDay*/,
29480  0 /*untilTimeCode (0/15)*/,
29481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29482  },
29483  // 1:00 C-Eur CE%sT 1944 Aug
29484  {
29485  &kZonePolicyC_Eur /*zonePolicy*/,
29486  "CE%T" /*format*/,
29487  240 /*offsetCode (3600/15)*/,
29488  0 /*offsetRemainder (3600%15)*/,
29489  0 /*deltaMinutes*/,
29490  1944 /*untilYear*/,
29491  8 /*untilMonth*/,
29492  1 /*untilDay*/,
29493  0 /*untilTimeCode (0/15)*/,
29494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29495  },
29496  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29497  {
29498  &kZonePolicyRussia /*zonePolicy*/,
29499  "MSK/MSD" /*format*/,
29500  720 /*offsetCode (10800/15)*/,
29501  0 /*offsetRemainder (10800%15)*/,
29502  0 /*deltaMinutes*/,
29503  1989 /*untilYear*/,
29504  3 /*untilMonth*/,
29505  26 /*untilDay*/,
29506  480 /*untilTimeCode (7200/15)*/,
29507  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29508  },
29509  // 2:00 Russia EE%sT 1991 Sep 29 2:00s
29510  {
29511  &kZonePolicyRussia /*zonePolicy*/,
29512  "EE%T" /*format*/,
29513  480 /*offsetCode (7200/15)*/,
29514  0 /*offsetRemainder (7200%15)*/,
29515  0 /*deltaMinutes*/,
29516  1991 /*untilYear*/,
29517  9 /*untilMonth*/,
29518  29 /*untilDay*/,
29519  480 /*untilTimeCode (7200/15)*/,
29520  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29521  },
29522  // 2:00 C-Eur EE%sT 1998
29523  {
29524  &kZonePolicyC_Eur /*zonePolicy*/,
29525  "EE%T" /*format*/,
29526  480 /*offsetCode (7200/15)*/,
29527  0 /*offsetRemainder (7200%15)*/,
29528  0 /*deltaMinutes*/,
29529  1998 /*untilYear*/,
29530  1 /*untilMonth*/,
29531  1 /*untilDay*/,
29532  0 /*untilTimeCode (0/15)*/,
29533  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29534  },
29535  // 2:00 - EET 1998 Mar 29 1:00u
29536  {
29537  nullptr /*zonePolicy*/,
29538  "EET" /*format*/,
29539  480 /*offsetCode (7200/15)*/,
29540  0 /*offsetRemainder (7200%15)*/,
29541  0 /*deltaMinutes*/,
29542  1998 /*untilYear*/,
29543  3 /*untilMonth*/,
29544  29 /*untilDay*/,
29545  240 /*untilTimeCode (3600/15)*/,
29546  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29547  },
29548  // 1:00 EU CE%sT 1999 Oct 31 1:00u
29549  {
29550  &kZonePolicyEU /*zonePolicy*/,
29551  "CE%T" /*format*/,
29552  240 /*offsetCode (3600/15)*/,
29553  0 /*offsetRemainder (3600%15)*/,
29554  0 /*deltaMinutes*/,
29555  1999 /*untilYear*/,
29556  10 /*untilMonth*/,
29557  31 /*untilDay*/,
29558  240 /*untilTimeCode (3600/15)*/,
29559  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29560  },
29561  // 2:00 - EET 2003 Jan 1
29562  {
29563  nullptr /*zonePolicy*/,
29564  "EET" /*format*/,
29565  480 /*offsetCode (7200/15)*/,
29566  0 /*offsetRemainder (7200%15)*/,
29567  0 /*deltaMinutes*/,
29568  2003 /*untilYear*/,
29569  1 /*untilMonth*/,
29570  1 /*untilDay*/,
29571  0 /*untilTimeCode (0/15)*/,
29572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29573  },
29574  // 2:00 EU EE%sT
29575  {
29576  &kZonePolicyEU /*zonePolicy*/,
29577  "EE%T" /*format*/,
29578  480 /*offsetCode (7200/15)*/,
29579  0 /*offsetRemainder (7200%15)*/,
29580  0 /*deltaMinutes*/,
29581  32767 /*untilYear*/,
29582  1 /*untilMonth*/,
29583  1 /*untilDay*/,
29584  0 /*untilTimeCode (0/15)*/,
29585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29586  },
29587 
29588 };
29589 
29590 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "\x0b" "Vilnius";
29591 
29592 const complete::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
29593  kZoneNameEurope_Vilnius /*name*/,
29594  0xdd63b8ce /*zoneId*/,
29595  &kZoneContext /*zoneContext*/,
29596  15 /*numEras*/,
29597  kZoneEraEurope_Vilnius /*eras*/,
29598  nullptr /*targetInfo*/,
29599 };
29600 
29601 //---------------------------------------------------------------------------
29602 // Zone name: Europe/Volgograd
29603 // Eras: 11
29604 //---------------------------------------------------------------------------
29605 
29606 static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
29607  // 2:57:40 - LMT 1920 Jan 3
29608  {
29609  nullptr /*zonePolicy*/,
29610  "LMT" /*format*/,
29611  710 /*offsetCode (10660/15)*/,
29612  10 /*offsetRemainder (10660%15)*/,
29613  0 /*deltaMinutes*/,
29614  1920 /*untilYear*/,
29615  1 /*untilMonth*/,
29616  3 /*untilDay*/,
29617  0 /*untilTimeCode (0/15)*/,
29618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29619  },
29620  // 3:00 - %z 1930 Jun 21
29621  {
29622  nullptr /*zonePolicy*/,
29623  "" /*format*/,
29624  720 /*offsetCode (10800/15)*/,
29625  0 /*offsetRemainder (10800%15)*/,
29626  0 /*deltaMinutes*/,
29627  1930 /*untilYear*/,
29628  6 /*untilMonth*/,
29629  21 /*untilDay*/,
29630  0 /*untilTimeCode (0/15)*/,
29631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29632  },
29633  // 4:00 - %z 1961 Nov 11
29634  {
29635  nullptr /*zonePolicy*/,
29636  "" /*format*/,
29637  960 /*offsetCode (14400/15)*/,
29638  0 /*offsetRemainder (14400%15)*/,
29639  0 /*deltaMinutes*/,
29640  1961 /*untilYear*/,
29641  11 /*untilMonth*/,
29642  11 /*untilDay*/,
29643  0 /*untilTimeCode (0/15)*/,
29644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29645  },
29646  // 4:00 Russia %z 1988 Mar 27 2:00s
29647  {
29648  &kZonePolicyRussia /*zonePolicy*/,
29649  "" /*format*/,
29650  960 /*offsetCode (14400/15)*/,
29651  0 /*offsetRemainder (14400%15)*/,
29652  0 /*deltaMinutes*/,
29653  1988 /*untilYear*/,
29654  3 /*untilMonth*/,
29655  27 /*untilDay*/,
29656  480 /*untilTimeCode (7200/15)*/,
29657  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29658  },
29659  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
29660  {
29661  &kZonePolicyRussia /*zonePolicy*/,
29662  "MSK/MSD" /*format*/,
29663  720 /*offsetCode (10800/15)*/,
29664  0 /*offsetRemainder (10800%15)*/,
29665  0 /*deltaMinutes*/,
29666  1991 /*untilYear*/,
29667  3 /*untilMonth*/,
29668  31 /*untilDay*/,
29669  480 /*untilTimeCode (7200/15)*/,
29670  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29671  },
29672  // 4:00 - %z 1992 Mar 29 2:00s
29673  {
29674  nullptr /*zonePolicy*/,
29675  "" /*format*/,
29676  960 /*offsetCode (14400/15)*/,
29677  0 /*offsetRemainder (14400%15)*/,
29678  0 /*deltaMinutes*/,
29679  1992 /*untilYear*/,
29680  3 /*untilMonth*/,
29681  29 /*untilDay*/,
29682  480 /*untilTimeCode (7200/15)*/,
29683  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29684  },
29685  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
29686  {
29687  &kZonePolicyRussia /*zonePolicy*/,
29688  "MSK/MSD" /*format*/,
29689  720 /*offsetCode (10800/15)*/,
29690  0 /*offsetRemainder (10800%15)*/,
29691  0 /*deltaMinutes*/,
29692  2011 /*untilYear*/,
29693  3 /*untilMonth*/,
29694  27 /*untilDay*/,
29695  480 /*untilTimeCode (7200/15)*/,
29696  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29697  },
29698  // 4:00 - MSK 2014 Oct 26 2:00s
29699  {
29700  nullptr /*zonePolicy*/,
29701  "MSK" /*format*/,
29702  960 /*offsetCode (14400/15)*/,
29703  0 /*offsetRemainder (14400%15)*/,
29704  0 /*deltaMinutes*/,
29705  2014 /*untilYear*/,
29706  10 /*untilMonth*/,
29707  26 /*untilDay*/,
29708  480 /*untilTimeCode (7200/15)*/,
29709  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29710  },
29711  // 3:00 - MSK 2018 Oct 28 2:00s
29712  {
29713  nullptr /*zonePolicy*/,
29714  "MSK" /*format*/,
29715  720 /*offsetCode (10800/15)*/,
29716  0 /*offsetRemainder (10800%15)*/,
29717  0 /*deltaMinutes*/,
29718  2018 /*untilYear*/,
29719  10 /*untilMonth*/,
29720  28 /*untilDay*/,
29721  480 /*untilTimeCode (7200/15)*/,
29722  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29723  },
29724  // 4:00 - %z 2020 Dec 27 2:00s
29725  {
29726  nullptr /*zonePolicy*/,
29727  "" /*format*/,
29728  960 /*offsetCode (14400/15)*/,
29729  0 /*offsetRemainder (14400%15)*/,
29730  0 /*deltaMinutes*/,
29731  2020 /*untilYear*/,
29732  12 /*untilMonth*/,
29733  27 /*untilDay*/,
29734  480 /*untilTimeCode (7200/15)*/,
29735  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29736  },
29737  // 3:00 - MSK
29738  {
29739  nullptr /*zonePolicy*/,
29740  "MSK" /*format*/,
29741  720 /*offsetCode (10800/15)*/,
29742  0 /*offsetRemainder (10800%15)*/,
29743  0 /*deltaMinutes*/,
29744  32767 /*untilYear*/,
29745  1 /*untilMonth*/,
29746  1 /*untilDay*/,
29747  0 /*untilTimeCode (0/15)*/,
29748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29749  },
29750 
29751 };
29752 
29753 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "\x0b" "Volgograd";
29754 
29755 const complete::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
29756  kZoneNameEurope_Volgograd /*name*/,
29757  0x3ed0f389 /*zoneId*/,
29758  &kZoneContext /*zoneContext*/,
29759  11 /*numEras*/,
29760  kZoneEraEurope_Volgograd /*eras*/,
29761  nullptr /*targetInfo*/,
29762 };
29763 
29764 //---------------------------------------------------------------------------
29765 // Zone name: Europe/Warsaw
29766 // Eras: 9
29767 //---------------------------------------------------------------------------
29768 
29769 static const complete::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
29770  // 1:24:00 - LMT 1880
29771  {
29772  nullptr /*zonePolicy*/,
29773  "LMT" /*format*/,
29774  336 /*offsetCode (5040/15)*/,
29775  0 /*offsetRemainder (5040%15)*/,
29776  0 /*deltaMinutes*/,
29777  1880 /*untilYear*/,
29778  1 /*untilMonth*/,
29779  1 /*untilDay*/,
29780  0 /*untilTimeCode (0/15)*/,
29781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29782  },
29783  // 1:24:00 - WMT 1915 Aug 5
29784  {
29785  nullptr /*zonePolicy*/,
29786  "WMT" /*format*/,
29787  336 /*offsetCode (5040/15)*/,
29788  0 /*offsetRemainder (5040%15)*/,
29789  0 /*deltaMinutes*/,
29790  1915 /*untilYear*/,
29791  8 /*untilMonth*/,
29792  5 /*untilDay*/,
29793  0 /*untilTimeCode (0/15)*/,
29794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29795  },
29796  // 1:00 C-Eur CE%sT 1918 Sep 16 3:00
29797  {
29798  &kZonePolicyC_Eur /*zonePolicy*/,
29799  "CE%T" /*format*/,
29800  240 /*offsetCode (3600/15)*/,
29801  0 /*offsetRemainder (3600%15)*/,
29802  0 /*deltaMinutes*/,
29803  1918 /*untilYear*/,
29804  9 /*untilMonth*/,
29805  16 /*untilDay*/,
29806  720 /*untilTimeCode (10800/15)*/,
29807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29808  },
29809  // 2:00 Poland EE%sT 1922 Jun
29810  {
29811  &kZonePolicyPoland /*zonePolicy*/,
29812  "EE%T" /*format*/,
29813  480 /*offsetCode (7200/15)*/,
29814  0 /*offsetRemainder (7200%15)*/,
29815  0 /*deltaMinutes*/,
29816  1922 /*untilYear*/,
29817  6 /*untilMonth*/,
29818  1 /*untilDay*/,
29819  0 /*untilTimeCode (0/15)*/,
29820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29821  },
29822  // 1:00 Poland CE%sT 1940 Jun 23 2:00
29823  {
29824  &kZonePolicyPoland /*zonePolicy*/,
29825  "CE%T" /*format*/,
29826  240 /*offsetCode (3600/15)*/,
29827  0 /*offsetRemainder (3600%15)*/,
29828  0 /*deltaMinutes*/,
29829  1940 /*untilYear*/,
29830  6 /*untilMonth*/,
29831  23 /*untilDay*/,
29832  480 /*untilTimeCode (7200/15)*/,
29833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29834  },
29835  // 1:00 C-Eur CE%sT 1944 Oct
29836  {
29837  &kZonePolicyC_Eur /*zonePolicy*/,
29838  "CE%T" /*format*/,
29839  240 /*offsetCode (3600/15)*/,
29840  0 /*offsetRemainder (3600%15)*/,
29841  0 /*deltaMinutes*/,
29842  1944 /*untilYear*/,
29843  10 /*untilMonth*/,
29844  1 /*untilDay*/,
29845  0 /*untilTimeCode (0/15)*/,
29846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29847  },
29848  // 1:00 Poland CE%sT 1977
29849  {
29850  &kZonePolicyPoland /*zonePolicy*/,
29851  "CE%T" /*format*/,
29852  240 /*offsetCode (3600/15)*/,
29853  0 /*offsetRemainder (3600%15)*/,
29854  0 /*deltaMinutes*/,
29855  1977 /*untilYear*/,
29856  1 /*untilMonth*/,
29857  1 /*untilDay*/,
29858  0 /*untilTimeCode (0/15)*/,
29859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29860  },
29861  // 1:00 W-Eur CE%sT 1988
29862  {
29863  &kZonePolicyW_Eur /*zonePolicy*/,
29864  "CE%T" /*format*/,
29865  240 /*offsetCode (3600/15)*/,
29866  0 /*offsetRemainder (3600%15)*/,
29867  0 /*deltaMinutes*/,
29868  1988 /*untilYear*/,
29869  1 /*untilMonth*/,
29870  1 /*untilDay*/,
29871  0 /*untilTimeCode (0/15)*/,
29872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29873  },
29874  // 1:00 EU CE%sT
29875  {
29876  &kZonePolicyEU /*zonePolicy*/,
29877  "CE%T" /*format*/,
29878  240 /*offsetCode (3600/15)*/,
29879  0 /*offsetRemainder (3600%15)*/,
29880  0 /*deltaMinutes*/,
29881  32767 /*untilYear*/,
29882  1 /*untilMonth*/,
29883  1 /*untilDay*/,
29884  0 /*untilTimeCode (0/15)*/,
29885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29886  },
29887 
29888 };
29889 
29890 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x0b" "Warsaw";
29891 
29892 const complete::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
29893  kZoneNameEurope_Warsaw /*name*/,
29894  0x75185c19 /*zoneId*/,
29895  &kZoneContext /*zoneContext*/,
29896  9 /*numEras*/,
29897  kZoneEraEurope_Warsaw /*eras*/,
29898  nullptr /*targetInfo*/,
29899 };
29900 
29901 //---------------------------------------------------------------------------
29902 // Zone name: Europe/Zurich
29903 // Eras: 4
29904 //---------------------------------------------------------------------------
29905 
29906 static const complete::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
29907  // 0:34:08 - LMT 1853 Jul 16
29908  {
29909  nullptr /*zonePolicy*/,
29910  "LMT" /*format*/,
29911  136 /*offsetCode (2048/15)*/,
29912  8 /*offsetRemainder (2048%15)*/,
29913  0 /*deltaMinutes*/,
29914  1853 /*untilYear*/,
29915  7 /*untilMonth*/,
29916  16 /*untilDay*/,
29917  0 /*untilTimeCode (0/15)*/,
29918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29919  },
29920  // 0:29:46 - BMT 1894 Jun
29921  {
29922  nullptr /*zonePolicy*/,
29923  "BMT" /*format*/,
29924  119 /*offsetCode (1786/15)*/,
29925  1 /*offsetRemainder (1786%15)*/,
29926  0 /*deltaMinutes*/,
29927  1894 /*untilYear*/,
29928  6 /*untilMonth*/,
29929  1 /*untilDay*/,
29930  0 /*untilTimeCode (0/15)*/,
29931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29932  },
29933  // 1:00 Swiss CE%sT 1981
29934  {
29935  &kZonePolicySwiss /*zonePolicy*/,
29936  "CE%T" /*format*/,
29937  240 /*offsetCode (3600/15)*/,
29938  0 /*offsetRemainder (3600%15)*/,
29939  0 /*deltaMinutes*/,
29940  1981 /*untilYear*/,
29941  1 /*untilMonth*/,
29942  1 /*untilDay*/,
29943  0 /*untilTimeCode (0/15)*/,
29944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29945  },
29946  // 1:00 EU CE%sT
29947  {
29948  &kZonePolicyEU /*zonePolicy*/,
29949  "CE%T" /*format*/,
29950  240 /*offsetCode (3600/15)*/,
29951  0 /*offsetRemainder (3600%15)*/,
29952  0 /*deltaMinutes*/,
29953  32767 /*untilYear*/,
29954  1 /*untilMonth*/,
29955  1 /*untilDay*/,
29956  0 /*untilTimeCode (0/15)*/,
29957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29958  },
29959 
29960 };
29961 
29962 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x0b" "Zurich";
29963 
29964 const complete::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
29965  kZoneNameEurope_Zurich /*name*/,
29966  0x7d8195b9 /*zoneId*/,
29967  &kZoneContext /*zoneContext*/,
29968  4 /*numEras*/,
29969  kZoneEraEurope_Zurich /*eras*/,
29970  nullptr /*targetInfo*/,
29971 };
29972 
29973 //---------------------------------------------------------------------------
29974 // Zone name: Indian/Chagos
29975 // Eras: 3
29976 //---------------------------------------------------------------------------
29977 
29978 static const complete::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
29979  // 4:49:40 - LMT 1907
29980  {
29981  nullptr /*zonePolicy*/,
29982  "LMT" /*format*/,
29983  1158 /*offsetCode (17380/15)*/,
29984  10 /*offsetRemainder (17380%15)*/,
29985  0 /*deltaMinutes*/,
29986  1907 /*untilYear*/,
29987  1 /*untilMonth*/,
29988  1 /*untilDay*/,
29989  0 /*untilTimeCode (0/15)*/,
29990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29991  },
29992  // 5:00 - %z 1996
29993  {
29994  nullptr /*zonePolicy*/,
29995  "" /*format*/,
29996  1200 /*offsetCode (18000/15)*/,
29997  0 /*offsetRemainder (18000%15)*/,
29998  0 /*deltaMinutes*/,
29999  1996 /*untilYear*/,
30000  1 /*untilMonth*/,
30001  1 /*untilDay*/,
30002  0 /*untilTimeCode (0/15)*/,
30003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30004  },
30005  // 6:00 - %z
30006  {
30007  nullptr /*zonePolicy*/,
30008  "" /*format*/,
30009  1440 /*offsetCode (21600/15)*/,
30010  0 /*offsetRemainder (21600%15)*/,
30011  0 /*deltaMinutes*/,
30012  32767 /*untilYear*/,
30013  1 /*untilMonth*/,
30014  1 /*untilDay*/,
30015  0 /*untilTimeCode (0/15)*/,
30016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30017  },
30018 
30019 };
30020 
30021 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0c" "Chagos";
30022 
30023 const complete::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
30024  kZoneNameIndian_Chagos /*name*/,
30025  0x456f7c3c /*zoneId*/,
30026  &kZoneContext /*zoneContext*/,
30027  3 /*numEras*/,
30028  kZoneEraIndian_Chagos /*eras*/,
30029  nullptr /*targetInfo*/,
30030 };
30031 
30032 //---------------------------------------------------------------------------
30033 // Zone name: Indian/Maldives
30034 // Eras: 3
30035 //---------------------------------------------------------------------------
30036 
30037 static const complete::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
30038  // 4:54:00 - LMT 1880
30039  {
30040  nullptr /*zonePolicy*/,
30041  "LMT" /*format*/,
30042  1176 /*offsetCode (17640/15)*/,
30043  0 /*offsetRemainder (17640%15)*/,
30044  0 /*deltaMinutes*/,
30045  1880 /*untilYear*/,
30046  1 /*untilMonth*/,
30047  1 /*untilDay*/,
30048  0 /*untilTimeCode (0/15)*/,
30049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30050  },
30051  // 4:54:00 - MMT 1960
30052  {
30053  nullptr /*zonePolicy*/,
30054  "MMT" /*format*/,
30055  1176 /*offsetCode (17640/15)*/,
30056  0 /*offsetRemainder (17640%15)*/,
30057  0 /*deltaMinutes*/,
30058  1960 /*untilYear*/,
30059  1 /*untilMonth*/,
30060  1 /*untilDay*/,
30061  0 /*untilTimeCode (0/15)*/,
30062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30063  },
30064  // 5:00 - %z
30065  {
30066  nullptr /*zonePolicy*/,
30067  "" /*format*/,
30068  1200 /*offsetCode (18000/15)*/,
30069  0 /*offsetRemainder (18000%15)*/,
30070  0 /*deltaMinutes*/,
30071  32767 /*untilYear*/,
30072  1 /*untilMonth*/,
30073  1 /*untilDay*/,
30074  0 /*untilTimeCode (0/15)*/,
30075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30076  },
30077 
30078 };
30079 
30080 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0c" "Maldives";
30081 
30082 const complete::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
30083  kZoneNameIndian_Maldives /*name*/,
30084  0x9869681c /*zoneId*/,
30085  &kZoneContext /*zoneContext*/,
30086  3 /*numEras*/,
30087  kZoneEraIndian_Maldives /*eras*/,
30088  nullptr /*targetInfo*/,
30089 };
30090 
30091 //---------------------------------------------------------------------------
30092 // Zone name: Indian/Mauritius
30093 // Eras: 2
30094 //---------------------------------------------------------------------------
30095 
30096 static const complete::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
30097  // 3:50:00 - LMT 1907
30098  {
30099  nullptr /*zonePolicy*/,
30100  "LMT" /*format*/,
30101  920 /*offsetCode (13800/15)*/,
30102  0 /*offsetRemainder (13800%15)*/,
30103  0 /*deltaMinutes*/,
30104  1907 /*untilYear*/,
30105  1 /*untilMonth*/,
30106  1 /*untilDay*/,
30107  0 /*untilTimeCode (0/15)*/,
30108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30109  },
30110  // 4:00 Mauritius %z
30111  {
30112  &kZonePolicyMauritius /*zonePolicy*/,
30113  "" /*format*/,
30114  960 /*offsetCode (14400/15)*/,
30115  0 /*offsetRemainder (14400%15)*/,
30116  0 /*deltaMinutes*/,
30117  32767 /*untilYear*/,
30118  1 /*untilMonth*/,
30119  1 /*untilDay*/,
30120  0 /*untilTimeCode (0/15)*/,
30121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30122  },
30123 
30124 };
30125 
30126 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0c" "Mauritius";
30127 
30128 const complete::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
30129  kZoneNameIndian_Mauritius /*name*/,
30130  0x7b09c02a /*zoneId*/,
30131  &kZoneContext /*zoneContext*/,
30132  2 /*numEras*/,
30133  kZoneEraIndian_Mauritius /*eras*/,
30134  nullptr /*targetInfo*/,
30135 };
30136 
30137 //---------------------------------------------------------------------------
30138 // Zone name: Pacific/Apia
30139 // Eras: 5
30140 //---------------------------------------------------------------------------
30141 
30142 static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
30143  // 12:33:04 - LMT 1892 Jul 5
30144  {
30145  nullptr /*zonePolicy*/,
30146  "LMT" /*format*/,
30147  3012 /*offsetCode (45184/15)*/,
30148  4 /*offsetRemainder (45184%15)*/,
30149  0 /*deltaMinutes*/,
30150  1892 /*untilYear*/,
30151  7 /*untilMonth*/,
30152  5 /*untilDay*/,
30153  0 /*untilTimeCode (0/15)*/,
30154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30155  },
30156  // -11:26:56 - LMT 1911
30157  {
30158  nullptr /*zonePolicy*/,
30159  "LMT" /*format*/,
30160  -2748 /*offsetCode (-41216/15)*/,
30161  4 /*offsetRemainder (-41216%15)*/,
30162  0 /*deltaMinutes*/,
30163  1911 /*untilYear*/,
30164  1 /*untilMonth*/,
30165  1 /*untilDay*/,
30166  0 /*untilTimeCode (0/15)*/,
30167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30168  },
30169  // -11:30 - %z 1950
30170  {
30171  nullptr /*zonePolicy*/,
30172  "" /*format*/,
30173  -2760 /*offsetCode (-41400/15)*/,
30174  0 /*offsetRemainder (-41400%15)*/,
30175  0 /*deltaMinutes*/,
30176  1950 /*untilYear*/,
30177  1 /*untilMonth*/,
30178  1 /*untilDay*/,
30179  0 /*untilTimeCode (0/15)*/,
30180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30181  },
30182  // -11:00 WS %z 2011 Dec 29 24:00
30183  {
30184  &kZonePolicyWS /*zonePolicy*/,
30185  "" /*format*/,
30186  -2640 /*offsetCode (-39600/15)*/,
30187  0 /*offsetRemainder (-39600%15)*/,
30188  0 /*deltaMinutes*/,
30189  2011 /*untilYear*/,
30190  12 /*untilMonth*/,
30191  29 /*untilDay*/,
30192  5760 /*untilTimeCode (86400/15)*/,
30193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30194  },
30195  // 13:00 WS %z
30196  {
30197  &kZonePolicyWS /*zonePolicy*/,
30198  "" /*format*/,
30199  3120 /*offsetCode (46800/15)*/,
30200  0 /*offsetRemainder (46800%15)*/,
30201  0 /*deltaMinutes*/,
30202  32767 /*untilYear*/,
30203  1 /*untilMonth*/,
30204  1 /*untilDay*/,
30205  0 /*untilTimeCode (0/15)*/,
30206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30207  },
30208 
30209 };
30210 
30211 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "\x0e" "Apia";
30212 
30213 const complete::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
30214  kZoneNamePacific_Apia /*name*/,
30215  0x23359b5e /*zoneId*/,
30216  &kZoneContext /*zoneContext*/,
30217  5 /*numEras*/,
30218  kZoneEraPacific_Apia /*eras*/,
30219  nullptr /*targetInfo*/,
30220 };
30221 
30222 //---------------------------------------------------------------------------
30223 // Zone name: Pacific/Auckland
30224 // Eras: 3
30225 //---------------------------------------------------------------------------
30226 
30227 static const complete::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
30228  // 11:39:04 - LMT 1868 Nov 2
30229  {
30230  nullptr /*zonePolicy*/,
30231  "LMT" /*format*/,
30232  2796 /*offsetCode (41944/15)*/,
30233  4 /*offsetRemainder (41944%15)*/,
30234  0 /*deltaMinutes*/,
30235  1868 /*untilYear*/,
30236  11 /*untilMonth*/,
30237  2 /*untilDay*/,
30238  0 /*untilTimeCode (0/15)*/,
30239  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30240  },
30241  // 11:30 NZ NZ%sT 1946 Jan 1
30242  {
30243  &kZonePolicyNZ /*zonePolicy*/,
30244  "NZ%T" /*format*/,
30245  2760 /*offsetCode (41400/15)*/,
30246  0 /*offsetRemainder (41400%15)*/,
30247  0 /*deltaMinutes*/,
30248  1946 /*untilYear*/,
30249  1 /*untilMonth*/,
30250  1 /*untilDay*/,
30251  0 /*untilTimeCode (0/15)*/,
30252  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30253  },
30254  // 12:00 NZ NZ%sT
30255  {
30256  &kZonePolicyNZ /*zonePolicy*/,
30257  "NZ%T" /*format*/,
30258  2880 /*offsetCode (43200/15)*/,
30259  0 /*offsetRemainder (43200%15)*/,
30260  0 /*deltaMinutes*/,
30261  32767 /*untilYear*/,
30262  1 /*untilMonth*/,
30263  1 /*untilDay*/,
30264  0 /*untilTimeCode (0/15)*/,
30265  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30266  },
30267 
30268 };
30269 
30270 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0e" "Auckland";
30271 
30272 const complete::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
30273  kZoneNamePacific_Auckland /*name*/,
30274  0x25062f86 /*zoneId*/,
30275  &kZoneContext /*zoneContext*/,
30276  3 /*numEras*/,
30277  kZoneEraPacific_Auckland /*eras*/,
30278  nullptr /*targetInfo*/,
30279 };
30280 
30281 //---------------------------------------------------------------------------
30282 // Zone name: Pacific/Bougainville
30283 // Eras: 6
30284 //---------------------------------------------------------------------------
30285 
30286 static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
30287  // 10:22:16 - LMT 1880
30288  {
30289  nullptr /*zonePolicy*/,
30290  "LMT" /*format*/,
30291  2489 /*offsetCode (37336/15)*/,
30292  1 /*offsetRemainder (37336%15)*/,
30293  0 /*deltaMinutes*/,
30294  1880 /*untilYear*/,
30295  1 /*untilMonth*/,
30296  1 /*untilDay*/,
30297  0 /*untilTimeCode (0/15)*/,
30298  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30299  },
30300  // 9:48:32 - PMMT 1895
30301  {
30302  nullptr /*zonePolicy*/,
30303  "PMMT" /*format*/,
30304  2354 /*offsetCode (35312/15)*/,
30305  2 /*offsetRemainder (35312%15)*/,
30306  0 /*deltaMinutes*/,
30307  1895 /*untilYear*/,
30308  1 /*untilMonth*/,
30309  1 /*untilDay*/,
30310  0 /*untilTimeCode (0/15)*/,
30311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30312  },
30313  // 10:00 - %z 1942 Jul
30314  {
30315  nullptr /*zonePolicy*/,
30316  "" /*format*/,
30317  2400 /*offsetCode (36000/15)*/,
30318  0 /*offsetRemainder (36000%15)*/,
30319  0 /*deltaMinutes*/,
30320  1942 /*untilYear*/,
30321  7 /*untilMonth*/,
30322  1 /*untilDay*/,
30323  0 /*untilTimeCode (0/15)*/,
30324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30325  },
30326  // 9:00 - %z 1945 Aug 21
30327  {
30328  nullptr /*zonePolicy*/,
30329  "" /*format*/,
30330  2160 /*offsetCode (32400/15)*/,
30331  0 /*offsetRemainder (32400%15)*/,
30332  0 /*deltaMinutes*/,
30333  1945 /*untilYear*/,
30334  8 /*untilMonth*/,
30335  21 /*untilDay*/,
30336  0 /*untilTimeCode (0/15)*/,
30337  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30338  },
30339  // 10:00 - %z 2014 Dec 28 2:00
30340  {
30341  nullptr /*zonePolicy*/,
30342  "" /*format*/,
30343  2400 /*offsetCode (36000/15)*/,
30344  0 /*offsetRemainder (36000%15)*/,
30345  0 /*deltaMinutes*/,
30346  2014 /*untilYear*/,
30347  12 /*untilMonth*/,
30348  28 /*untilDay*/,
30349  480 /*untilTimeCode (7200/15)*/,
30350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30351  },
30352  // 11:00 - %z
30353  {
30354  nullptr /*zonePolicy*/,
30355  "" /*format*/,
30356  2640 /*offsetCode (39600/15)*/,
30357  0 /*offsetRemainder (39600%15)*/,
30358  0 /*deltaMinutes*/,
30359  32767 /*untilYear*/,
30360  1 /*untilMonth*/,
30361  1 /*untilDay*/,
30362  0 /*untilTimeCode (0/15)*/,
30363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30364  },
30365 
30366 };
30367 
30368 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "\x0e" "Bougainville";
30369 
30370 const complete::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
30371  kZoneNamePacific_Bougainville /*name*/,
30372  0x5e10f7a4 /*zoneId*/,
30373  &kZoneContext /*zoneContext*/,
30374  6 /*numEras*/,
30375  kZoneEraPacific_Bougainville /*eras*/,
30376  nullptr /*targetInfo*/,
30377 };
30378 
30379 //---------------------------------------------------------------------------
30380 // Zone name: Pacific/Chatham
30381 // Eras: 3
30382 //---------------------------------------------------------------------------
30383 
30384 static const complete::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
30385  // 12:13:48 - LMT 1868 Nov 2
30386  {
30387  nullptr /*zonePolicy*/,
30388  "LMT" /*format*/,
30389  2935 /*offsetCode (44028/15)*/,
30390  3 /*offsetRemainder (44028%15)*/,
30391  0 /*deltaMinutes*/,
30392  1868 /*untilYear*/,
30393  11 /*untilMonth*/,
30394  2 /*untilDay*/,
30395  0 /*untilTimeCode (0/15)*/,
30396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30397  },
30398  // 12:15 - %z 1946 Jan 1
30399  {
30400  nullptr /*zonePolicy*/,
30401  "" /*format*/,
30402  2940 /*offsetCode (44100/15)*/,
30403  0 /*offsetRemainder (44100%15)*/,
30404  0 /*deltaMinutes*/,
30405  1946 /*untilYear*/,
30406  1 /*untilMonth*/,
30407  1 /*untilDay*/,
30408  0 /*untilTimeCode (0/15)*/,
30409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30410  },
30411  // 12:45 Chatham %z
30412  {
30413  &kZonePolicyChatham /*zonePolicy*/,
30414  "" /*format*/,
30415  3060 /*offsetCode (45900/15)*/,
30416  0 /*offsetRemainder (45900%15)*/,
30417  0 /*deltaMinutes*/,
30418  32767 /*untilYear*/,
30419  1 /*untilMonth*/,
30420  1 /*untilDay*/,
30421  0 /*untilTimeCode (0/15)*/,
30422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30423  },
30424 
30425 };
30426 
30427 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0e" "Chatham";
30428 
30429 const complete::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
30430  kZoneNamePacific_Chatham /*name*/,
30431  0x2f0de999 /*zoneId*/,
30432  &kZoneContext /*zoneContext*/,
30433  3 /*numEras*/,
30434  kZoneEraPacific_Chatham /*eras*/,
30435  nullptr /*targetInfo*/,
30436 };
30437 
30438 //---------------------------------------------------------------------------
30439 // Zone name: Pacific/Easter
30440 // Eras: 4
30441 //---------------------------------------------------------------------------
30442 
30443 static const complete::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
30444  // -7:17:28 - LMT 1890
30445  {
30446  nullptr /*zonePolicy*/,
30447  "LMT" /*format*/,
30448  -1750 /*offsetCode (-26248/15)*/,
30449  2 /*offsetRemainder (-26248%15)*/,
30450  0 /*deltaMinutes*/,
30451  1890 /*untilYear*/,
30452  1 /*untilMonth*/,
30453  1 /*untilDay*/,
30454  0 /*untilTimeCode (0/15)*/,
30455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30456  },
30457  // -7:17:28 - EMT 1932 Sep
30458  {
30459  nullptr /*zonePolicy*/,
30460  "EMT" /*format*/,
30461  -1750 /*offsetCode (-26248/15)*/,
30462  2 /*offsetRemainder (-26248%15)*/,
30463  0 /*deltaMinutes*/,
30464  1932 /*untilYear*/,
30465  9 /*untilMonth*/,
30466  1 /*untilDay*/,
30467  0 /*untilTimeCode (0/15)*/,
30468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30469  },
30470  // -7:00 Chile %z 1982 Mar 14 3:00u
30471  {
30472  &kZonePolicyChile /*zonePolicy*/,
30473  "" /*format*/,
30474  -1680 /*offsetCode (-25200/15)*/,
30475  0 /*offsetRemainder (-25200%15)*/,
30476  0 /*deltaMinutes*/,
30477  1982 /*untilYear*/,
30478  3 /*untilMonth*/,
30479  14 /*untilDay*/,
30480  720 /*untilTimeCode (10800/15)*/,
30481  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
30482  },
30483  // -6:00 Chile %z
30484  {
30485  &kZonePolicyChile /*zonePolicy*/,
30486  "" /*format*/,
30487  -1440 /*offsetCode (-21600/15)*/,
30488  0 /*offsetRemainder (-21600%15)*/,
30489  0 /*deltaMinutes*/,
30490  32767 /*untilYear*/,
30491  1 /*untilMonth*/,
30492  1 /*untilDay*/,
30493  0 /*untilTimeCode (0/15)*/,
30494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30495  },
30496 
30497 };
30498 
30499 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0e" "Easter";
30500 
30501 const complete::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
30502  kZoneNamePacific_Easter /*name*/,
30503  0xcf54f7e7 /*zoneId*/,
30504  &kZoneContext /*zoneContext*/,
30505  4 /*numEras*/,
30506  kZoneEraPacific_Easter /*eras*/,
30507  nullptr /*targetInfo*/,
30508 };
30509 
30510 //---------------------------------------------------------------------------
30511 // Zone name: Pacific/Efate
30512 // Eras: 2
30513 //---------------------------------------------------------------------------
30514 
30515 static const complete::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
30516  // 11:13:16 - LMT 1912 Jan 13
30517  {
30518  nullptr /*zonePolicy*/,
30519  "LMT" /*format*/,
30520  2693 /*offsetCode (40396/15)*/,
30521  1 /*offsetRemainder (40396%15)*/,
30522  0 /*deltaMinutes*/,
30523  1912 /*untilYear*/,
30524  1 /*untilMonth*/,
30525  13 /*untilDay*/,
30526  0 /*untilTimeCode (0/15)*/,
30527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30528  },
30529  // 11:00 Vanuatu %z
30530  {
30531  &kZonePolicyVanuatu /*zonePolicy*/,
30532  "" /*format*/,
30533  2640 /*offsetCode (39600/15)*/,
30534  0 /*offsetRemainder (39600%15)*/,
30535  0 /*deltaMinutes*/,
30536  32767 /*untilYear*/,
30537  1 /*untilMonth*/,
30538  1 /*untilDay*/,
30539  0 /*untilTimeCode (0/15)*/,
30540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30541  },
30542 
30543 };
30544 
30545 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0e" "Efate";
30546 
30547 const complete::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
30548  kZoneNamePacific_Efate /*name*/,
30549  0x8a2bce28 /*zoneId*/,
30550  &kZoneContext /*zoneContext*/,
30551  2 /*numEras*/,
30552  kZoneEraPacific_Efate /*eras*/,
30553  nullptr /*targetInfo*/,
30554 };
30555 
30556 //---------------------------------------------------------------------------
30557 // Zone name: Pacific/Fakaofo
30558 // Eras: 3
30559 //---------------------------------------------------------------------------
30560 
30561 static const complete::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
30562  // -11:24:56 - LMT 1901
30563  {
30564  nullptr /*zonePolicy*/,
30565  "LMT" /*format*/,
30566  -2740 /*offsetCode (-41096/15)*/,
30567  4 /*offsetRemainder (-41096%15)*/,
30568  0 /*deltaMinutes*/,
30569  1901 /*untilYear*/,
30570  1 /*untilMonth*/,
30571  1 /*untilDay*/,
30572  0 /*untilTimeCode (0/15)*/,
30573  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30574  },
30575  // -11:00 - %z 2011 Dec 30
30576  {
30577  nullptr /*zonePolicy*/,
30578  "" /*format*/,
30579  -2640 /*offsetCode (-39600/15)*/,
30580  0 /*offsetRemainder (-39600%15)*/,
30581  0 /*deltaMinutes*/,
30582  2011 /*untilYear*/,
30583  12 /*untilMonth*/,
30584  30 /*untilDay*/,
30585  0 /*untilTimeCode (0/15)*/,
30586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30587  },
30588  // 13:00 - %z
30589  {
30590  nullptr /*zonePolicy*/,
30591  "" /*format*/,
30592  3120 /*offsetCode (46800/15)*/,
30593  0 /*offsetRemainder (46800%15)*/,
30594  0 /*deltaMinutes*/,
30595  32767 /*untilYear*/,
30596  1 /*untilMonth*/,
30597  1 /*untilDay*/,
30598  0 /*untilTimeCode (0/15)*/,
30599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30600  },
30601 
30602 };
30603 
30604 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "\x0e" "Fakaofo";
30605 
30606 const complete::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
30607  kZoneNamePacific_Fakaofo /*name*/,
30608  0x06532bba /*zoneId*/,
30609  &kZoneContext /*zoneContext*/,
30610  3 /*numEras*/,
30611  kZoneEraPacific_Fakaofo /*eras*/,
30612  nullptr /*targetInfo*/,
30613 };
30614 
30615 //---------------------------------------------------------------------------
30616 // Zone name: Pacific/Fiji
30617 // Eras: 2
30618 //---------------------------------------------------------------------------
30619 
30620 static const complete::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
30621  // 11:55:44 - LMT 1915 Oct 26
30622  {
30623  nullptr /*zonePolicy*/,
30624  "LMT" /*format*/,
30625  2862 /*offsetCode (42944/15)*/,
30626  14 /*offsetRemainder (42944%15)*/,
30627  0 /*deltaMinutes*/,
30628  1915 /*untilYear*/,
30629  10 /*untilMonth*/,
30630  26 /*untilDay*/,
30631  0 /*untilTimeCode (0/15)*/,
30632  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30633  },
30634  // 12:00 Fiji %z
30635  {
30636  &kZonePolicyFiji /*zonePolicy*/,
30637  "" /*format*/,
30638  2880 /*offsetCode (43200/15)*/,
30639  0 /*offsetRemainder (43200%15)*/,
30640  0 /*deltaMinutes*/,
30641  32767 /*untilYear*/,
30642  1 /*untilMonth*/,
30643  1 /*untilDay*/,
30644  0 /*untilTimeCode (0/15)*/,
30645  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30646  },
30647 
30648 };
30649 
30650 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0e" "Fiji";
30651 
30652 const complete::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
30653  kZoneNamePacific_Fiji /*name*/,
30654  0x23383ba5 /*zoneId*/,
30655  &kZoneContext /*zoneContext*/,
30656  2 /*numEras*/,
30657  kZoneEraPacific_Fiji /*eras*/,
30658  nullptr /*targetInfo*/,
30659 };
30660 
30661 //---------------------------------------------------------------------------
30662 // Zone name: Pacific/Galapagos
30663 // Eras: 3
30664 //---------------------------------------------------------------------------
30665 
30666 static const complete::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
30667  // -5:58:24 - LMT 1931
30668  {
30669  nullptr /*zonePolicy*/,
30670  "LMT" /*format*/,
30671  -1434 /*offsetCode (-21504/15)*/,
30672  6 /*offsetRemainder (-21504%15)*/,
30673  0 /*deltaMinutes*/,
30674  1931 /*untilYear*/,
30675  1 /*untilMonth*/,
30676  1 /*untilDay*/,
30677  0 /*untilTimeCode (0/15)*/,
30678  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30679  },
30680  // -5:00 - %z 1986
30681  {
30682  nullptr /*zonePolicy*/,
30683  "" /*format*/,
30684  -1200 /*offsetCode (-18000/15)*/,
30685  0 /*offsetRemainder (-18000%15)*/,
30686  0 /*deltaMinutes*/,
30687  1986 /*untilYear*/,
30688  1 /*untilMonth*/,
30689  1 /*untilDay*/,
30690  0 /*untilTimeCode (0/15)*/,
30691  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30692  },
30693  // -6:00 Ecuador %z
30694  {
30695  &kZonePolicyEcuador /*zonePolicy*/,
30696  "" /*format*/,
30697  -1440 /*offsetCode (-21600/15)*/,
30698  0 /*offsetRemainder (-21600%15)*/,
30699  0 /*deltaMinutes*/,
30700  32767 /*untilYear*/,
30701  1 /*untilMonth*/,
30702  1 /*untilDay*/,
30703  0 /*untilTimeCode (0/15)*/,
30704  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30705  },
30706 
30707 };
30708 
30709 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0e" "Galapagos";
30710 
30711 const complete::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
30712  kZoneNamePacific_Galapagos /*name*/,
30713  0xa952f752 /*zoneId*/,
30714  &kZoneContext /*zoneContext*/,
30715  3 /*numEras*/,
30716  kZoneEraPacific_Galapagos /*eras*/,
30717  nullptr /*targetInfo*/,
30718 };
30719 
30720 //---------------------------------------------------------------------------
30721 // Zone name: Pacific/Gambier
30722 // Eras: 2
30723 //---------------------------------------------------------------------------
30724 
30725 static const complete::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
30726  // -8:59:48 - LMT 1912 Oct 1
30727  {
30728  nullptr /*zonePolicy*/,
30729  "LMT" /*format*/,
30730  -2160 /*offsetCode (-32388/15)*/,
30731  12 /*offsetRemainder (-32388%15)*/,
30732  0 /*deltaMinutes*/,
30733  1912 /*untilYear*/,
30734  10 /*untilMonth*/,
30735  1 /*untilDay*/,
30736  0 /*untilTimeCode (0/15)*/,
30737  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30738  },
30739  // -9:00 - %z
30740  {
30741  nullptr /*zonePolicy*/,
30742  "" /*format*/,
30743  -2160 /*offsetCode (-32400/15)*/,
30744  0 /*offsetRemainder (-32400%15)*/,
30745  0 /*deltaMinutes*/,
30746  32767 /*untilYear*/,
30747  1 /*untilMonth*/,
30748  1 /*untilDay*/,
30749  0 /*untilTimeCode (0/15)*/,
30750  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30751  },
30752 
30753 };
30754 
30755 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0e" "Gambier";
30756 
30757 const complete::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
30758  kZoneNamePacific_Gambier /*name*/,
30759  0x53720c3a /*zoneId*/,
30760  &kZoneContext /*zoneContext*/,
30761  2 /*numEras*/,
30762  kZoneEraPacific_Gambier /*eras*/,
30763  nullptr /*targetInfo*/,
30764 };
30765 
30766 //---------------------------------------------------------------------------
30767 // Zone name: Pacific/Guadalcanal
30768 // Eras: 2
30769 //---------------------------------------------------------------------------
30770 
30771 static const complete::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
30772  // 10:39:48 - LMT 1912 Oct 1
30773  {
30774  nullptr /*zonePolicy*/,
30775  "LMT" /*format*/,
30776  2559 /*offsetCode (38388/15)*/,
30777  3 /*offsetRemainder (38388%15)*/,
30778  0 /*deltaMinutes*/,
30779  1912 /*untilYear*/,
30780  10 /*untilMonth*/,
30781  1 /*untilDay*/,
30782  0 /*untilTimeCode (0/15)*/,
30783  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30784  },
30785  // 11:00 - %z
30786  {
30787  nullptr /*zonePolicy*/,
30788  "" /*format*/,
30789  2640 /*offsetCode (39600/15)*/,
30790  0 /*offsetRemainder (39600%15)*/,
30791  0 /*deltaMinutes*/,
30792  32767 /*untilYear*/,
30793  1 /*untilMonth*/,
30794  1 /*untilDay*/,
30795  0 /*untilTimeCode (0/15)*/,
30796  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30797  },
30798 
30799 };
30800 
30801 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0e" "Guadalcanal";
30802 
30803 const complete::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
30804  kZoneNamePacific_Guadalcanal /*name*/,
30805  0xf4dd25f0 /*zoneId*/,
30806  &kZoneContext /*zoneContext*/,
30807  2 /*numEras*/,
30808  kZoneEraPacific_Guadalcanal /*eras*/,
30809  nullptr /*targetInfo*/,
30810 };
30811 
30812 //---------------------------------------------------------------------------
30813 // Zone name: Pacific/Guam
30814 // Eras: 6
30815 //---------------------------------------------------------------------------
30816 
30817 static const complete::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
30818  // -14:21:00 - LMT 1844 Dec 31
30819  {
30820  nullptr /*zonePolicy*/,
30821  "LMT" /*format*/,
30822  -3444 /*offsetCode (-51660/15)*/,
30823  0 /*offsetRemainder (-51660%15)*/,
30824  0 /*deltaMinutes*/,
30825  1844 /*untilYear*/,
30826  12 /*untilMonth*/,
30827  31 /*untilDay*/,
30828  0 /*untilTimeCode (0/15)*/,
30829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30830  },
30831  // 9:39:00 - LMT 1901
30832  {
30833  nullptr /*zonePolicy*/,
30834  "LMT" /*format*/,
30835  2316 /*offsetCode (34740/15)*/,
30836  0 /*offsetRemainder (34740%15)*/,
30837  0 /*deltaMinutes*/,
30838  1901 /*untilYear*/,
30839  1 /*untilMonth*/,
30840  1 /*untilDay*/,
30841  0 /*untilTimeCode (0/15)*/,
30842  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30843  },
30844  // 10:00 - GST 1941 Dec 10
30845  {
30846  nullptr /*zonePolicy*/,
30847  "GST" /*format*/,
30848  2400 /*offsetCode (36000/15)*/,
30849  0 /*offsetRemainder (36000%15)*/,
30850  0 /*deltaMinutes*/,
30851  1941 /*untilYear*/,
30852  12 /*untilMonth*/,
30853  10 /*untilDay*/,
30854  0 /*untilTimeCode (0/15)*/,
30855  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30856  },
30857  // 9:00 - %z 1944 Jul 31
30858  {
30859  nullptr /*zonePolicy*/,
30860  "" /*format*/,
30861  2160 /*offsetCode (32400/15)*/,
30862  0 /*offsetRemainder (32400%15)*/,
30863  0 /*deltaMinutes*/,
30864  1944 /*untilYear*/,
30865  7 /*untilMonth*/,
30866  31 /*untilDay*/,
30867  0 /*untilTimeCode (0/15)*/,
30868  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30869  },
30870  // 10:00 Guam G%sT 2000 Dec 23
30871  {
30872  &kZonePolicyGuam /*zonePolicy*/,
30873  "G%T" /*format*/,
30874  2400 /*offsetCode (36000/15)*/,
30875  0 /*offsetRemainder (36000%15)*/,
30876  0 /*deltaMinutes*/,
30877  2000 /*untilYear*/,
30878  12 /*untilMonth*/,
30879  23 /*untilDay*/,
30880  0 /*untilTimeCode (0/15)*/,
30881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30882  },
30883  // 10:00 - ChST
30884  {
30885  nullptr /*zonePolicy*/,
30886  "ChST" /*format*/,
30887  2400 /*offsetCode (36000/15)*/,
30888  0 /*offsetRemainder (36000%15)*/,
30889  0 /*deltaMinutes*/,
30890  32767 /*untilYear*/,
30891  1 /*untilMonth*/,
30892  1 /*untilDay*/,
30893  0 /*untilTimeCode (0/15)*/,
30894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30895  },
30896 
30897 };
30898 
30899 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "\x0e" "Guam";
30900 
30901 const complete::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
30902  kZoneNamePacific_Guam /*name*/,
30903  0x2338f9ed /*zoneId*/,
30904  &kZoneContext /*zoneContext*/,
30905  6 /*numEras*/,
30906  kZoneEraPacific_Guam /*eras*/,
30907  nullptr /*targetInfo*/,
30908 };
30909 
30910 //---------------------------------------------------------------------------
30911 // Zone name: Pacific/Honolulu
30912 // Eras: 5
30913 //---------------------------------------------------------------------------
30914 
30915 static const complete::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
30916  // -10:31:26 - LMT 1896 Jan 13 12:00
30917  {
30918  nullptr /*zonePolicy*/,
30919  "LMT" /*format*/,
30920  -2526 /*offsetCode (-37886/15)*/,
30921  4 /*offsetRemainder (-37886%15)*/,
30922  0 /*deltaMinutes*/,
30923  1896 /*untilYear*/,
30924  1 /*untilMonth*/,
30925  13 /*untilDay*/,
30926  2880 /*untilTimeCode (43200/15)*/,
30927  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30928  },
30929  // -10:30 - HST 1933 Apr 30 2:00
30930  {
30931  nullptr /*zonePolicy*/,
30932  "HST" /*format*/,
30933  -2520 /*offsetCode (-37800/15)*/,
30934  0 /*offsetRemainder (-37800%15)*/,
30935  0 /*deltaMinutes*/,
30936  1933 /*untilYear*/,
30937  4 /*untilMonth*/,
30938  30 /*untilDay*/,
30939  480 /*untilTimeCode (7200/15)*/,
30940  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30941  },
30942  // -10:30 1:00 HDT 1933 May 21 12:00
30943  {
30944  nullptr /*zonePolicy*/,
30945  "HDT" /*format*/,
30946  -2520 /*offsetCode (-37800/15)*/,
30947  0 /*offsetRemainder (-37800%15)*/,
30948  60 /*deltaMinutes*/,
30949  1933 /*untilYear*/,
30950  5 /*untilMonth*/,
30951  21 /*untilDay*/,
30952  2880 /*untilTimeCode (43200/15)*/,
30953  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30954  },
30955  // -10:30 US H%sT 1947 Jun 8 2:00
30956  {
30957  &kZonePolicyUS /*zonePolicy*/,
30958  "H%T" /*format*/,
30959  -2520 /*offsetCode (-37800/15)*/,
30960  0 /*offsetRemainder (-37800%15)*/,
30961  0 /*deltaMinutes*/,
30962  1947 /*untilYear*/,
30963  6 /*untilMonth*/,
30964  8 /*untilDay*/,
30965  480 /*untilTimeCode (7200/15)*/,
30966  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30967  },
30968  // -10:00 - HST
30969  {
30970  nullptr /*zonePolicy*/,
30971  "HST" /*format*/,
30972  -2400 /*offsetCode (-36000/15)*/,
30973  0 /*offsetRemainder (-36000%15)*/,
30974  0 /*deltaMinutes*/,
30975  32767 /*untilYear*/,
30976  1 /*untilMonth*/,
30977  1 /*untilDay*/,
30978  0 /*untilTimeCode (0/15)*/,
30979  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30980  },
30981 
30982 };
30983 
30984 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0e" "Honolulu";
30985 
30986 const complete::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
30987  kZoneNamePacific_Honolulu /*name*/,
30988  0xe6e70af9 /*zoneId*/,
30989  &kZoneContext /*zoneContext*/,
30990  5 /*numEras*/,
30991  kZoneEraPacific_Honolulu /*eras*/,
30992  nullptr /*targetInfo*/,
30993 };
30994 
30995 //---------------------------------------------------------------------------
30996 // Zone name: Pacific/Kanton
30997 // Eras: 4
30998 //---------------------------------------------------------------------------
30999 
31000 static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
31001  // 0 - -00 1937 Aug 31
31002  {
31003  nullptr /*zonePolicy*/,
31004  "-00" /*format*/,
31005  0 /*offsetCode (0/15)*/,
31006  0 /*offsetRemainder (0%15)*/,
31007  0 /*deltaMinutes*/,
31008  1937 /*untilYear*/,
31009  8 /*untilMonth*/,
31010  31 /*untilDay*/,
31011  0 /*untilTimeCode (0/15)*/,
31012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31013  },
31014  // -12:00 - %z 1979 Oct
31015  {
31016  nullptr /*zonePolicy*/,
31017  "" /*format*/,
31018  -2880 /*offsetCode (-43200/15)*/,
31019  0 /*offsetRemainder (-43200%15)*/,
31020  0 /*deltaMinutes*/,
31021  1979 /*untilYear*/,
31022  10 /*untilMonth*/,
31023  1 /*untilDay*/,
31024  0 /*untilTimeCode (0/15)*/,
31025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31026  },
31027  // -11:00 - %z 1994 Dec 31
31028  {
31029  nullptr /*zonePolicy*/,
31030  "" /*format*/,
31031  -2640 /*offsetCode (-39600/15)*/,
31032  0 /*offsetRemainder (-39600%15)*/,
31033  0 /*deltaMinutes*/,
31034  1994 /*untilYear*/,
31035  12 /*untilMonth*/,
31036  31 /*untilDay*/,
31037  0 /*untilTimeCode (0/15)*/,
31038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31039  },
31040  // 13:00 - %z
31041  {
31042  nullptr /*zonePolicy*/,
31043  "" /*format*/,
31044  3120 /*offsetCode (46800/15)*/,
31045  0 /*offsetRemainder (46800%15)*/,
31046  0 /*deltaMinutes*/,
31047  32767 /*untilYear*/,
31048  1 /*untilMonth*/,
31049  1 /*untilDay*/,
31050  0 /*untilTimeCode (0/15)*/,
31051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31052  },
31053 
31054 };
31055 
31056 static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0e" "Kanton";
31057 
31058 const complete::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
31059  kZoneNamePacific_Kanton /*name*/,
31060  0xdd512f0e /*zoneId*/,
31061  &kZoneContext /*zoneContext*/,
31062  4 /*numEras*/,
31063  kZoneEraPacific_Kanton /*eras*/,
31064  nullptr /*targetInfo*/,
31065 };
31066 
31067 //---------------------------------------------------------------------------
31068 // Zone name: Pacific/Kiritimati
31069 // Eras: 4
31070 //---------------------------------------------------------------------------
31071 
31072 static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
31073  // -10:29:20 - LMT 1901
31074  {
31075  nullptr /*zonePolicy*/,
31076  "LMT" /*format*/,
31077  -2518 /*offsetCode (-37760/15)*/,
31078  10 /*offsetRemainder (-37760%15)*/,
31079  0 /*deltaMinutes*/,
31080  1901 /*untilYear*/,
31081  1 /*untilMonth*/,
31082  1 /*untilDay*/,
31083  0 /*untilTimeCode (0/15)*/,
31084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31085  },
31086  // -10:40 - %z 1979 Oct
31087  {
31088  nullptr /*zonePolicy*/,
31089  "" /*format*/,
31090  -2560 /*offsetCode (-38400/15)*/,
31091  0 /*offsetRemainder (-38400%15)*/,
31092  0 /*deltaMinutes*/,
31093  1979 /*untilYear*/,
31094  10 /*untilMonth*/,
31095  1 /*untilDay*/,
31096  0 /*untilTimeCode (0/15)*/,
31097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31098  },
31099  // -10:00 - %z 1994 Dec 31
31100  {
31101  nullptr /*zonePolicy*/,
31102  "" /*format*/,
31103  -2400 /*offsetCode (-36000/15)*/,
31104  0 /*offsetRemainder (-36000%15)*/,
31105  0 /*deltaMinutes*/,
31106  1994 /*untilYear*/,
31107  12 /*untilMonth*/,
31108  31 /*untilDay*/,
31109  0 /*untilTimeCode (0/15)*/,
31110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31111  },
31112  // 14:00 - %z
31113  {
31114  nullptr /*zonePolicy*/,
31115  "" /*format*/,
31116  3360 /*offsetCode (50400/15)*/,
31117  0 /*offsetRemainder (50400%15)*/,
31118  0 /*deltaMinutes*/,
31119  32767 /*untilYear*/,
31120  1 /*untilMonth*/,
31121  1 /*untilDay*/,
31122  0 /*untilTimeCode (0/15)*/,
31123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31124  },
31125 
31126 };
31127 
31128 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0e" "Kiritimati";
31129 
31130 const complete::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
31131  kZoneNamePacific_Kiritimati /*name*/,
31132  0x8305073a /*zoneId*/,
31133  &kZoneContext /*zoneContext*/,
31134  4 /*numEras*/,
31135  kZoneEraPacific_Kiritimati /*eras*/,
31136  nullptr /*targetInfo*/,
31137 };
31138 
31139 //---------------------------------------------------------------------------
31140 // Zone name: Pacific/Kosrae
31141 // Eras: 10
31142 //---------------------------------------------------------------------------
31143 
31144 static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
31145  // -13:08:04 - LMT 1844 Dec 31
31146  {
31147  nullptr /*zonePolicy*/,
31148  "LMT" /*format*/,
31149  -3153 /*offsetCode (-47284/15)*/,
31150  11 /*offsetRemainder (-47284%15)*/,
31151  0 /*deltaMinutes*/,
31152  1844 /*untilYear*/,
31153  12 /*untilMonth*/,
31154  31 /*untilDay*/,
31155  0 /*untilTimeCode (0/15)*/,
31156  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31157  },
31158  // 10:51:56 - LMT 1901
31159  {
31160  nullptr /*zonePolicy*/,
31161  "LMT" /*format*/,
31162  2607 /*offsetCode (39116/15)*/,
31163  11 /*offsetRemainder (39116%15)*/,
31164  0 /*deltaMinutes*/,
31165  1901 /*untilYear*/,
31166  1 /*untilMonth*/,
31167  1 /*untilDay*/,
31168  0 /*untilTimeCode (0/15)*/,
31169  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31170  },
31171  // 11:00 - %z 1914 Oct
31172  {
31173  nullptr /*zonePolicy*/,
31174  "" /*format*/,
31175  2640 /*offsetCode (39600/15)*/,
31176  0 /*offsetRemainder (39600%15)*/,
31177  0 /*deltaMinutes*/,
31178  1914 /*untilYear*/,
31179  10 /*untilMonth*/,
31180  1 /*untilDay*/,
31181  0 /*untilTimeCode (0/15)*/,
31182  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31183  },
31184  // 9:00 - %z 1919 Feb 1
31185  {
31186  nullptr /*zonePolicy*/,
31187  "" /*format*/,
31188  2160 /*offsetCode (32400/15)*/,
31189  0 /*offsetRemainder (32400%15)*/,
31190  0 /*deltaMinutes*/,
31191  1919 /*untilYear*/,
31192  2 /*untilMonth*/,
31193  1 /*untilDay*/,
31194  0 /*untilTimeCode (0/15)*/,
31195  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31196  },
31197  // 11:00 - %z 1937
31198  {
31199  nullptr /*zonePolicy*/,
31200  "" /*format*/,
31201  2640 /*offsetCode (39600/15)*/,
31202  0 /*offsetRemainder (39600%15)*/,
31203  0 /*deltaMinutes*/,
31204  1937 /*untilYear*/,
31205  1 /*untilMonth*/,
31206  1 /*untilDay*/,
31207  0 /*untilTimeCode (0/15)*/,
31208  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31209  },
31210  // 10:00 - %z 1941 Apr 1
31211  {
31212  nullptr /*zonePolicy*/,
31213  "" /*format*/,
31214  2400 /*offsetCode (36000/15)*/,
31215  0 /*offsetRemainder (36000%15)*/,
31216  0 /*deltaMinutes*/,
31217  1941 /*untilYear*/,
31218  4 /*untilMonth*/,
31219  1 /*untilDay*/,
31220  0 /*untilTimeCode (0/15)*/,
31221  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31222  },
31223  // 9:00 - %z 1945 Aug
31224  {
31225  nullptr /*zonePolicy*/,
31226  "" /*format*/,
31227  2160 /*offsetCode (32400/15)*/,
31228  0 /*offsetRemainder (32400%15)*/,
31229  0 /*deltaMinutes*/,
31230  1945 /*untilYear*/,
31231  8 /*untilMonth*/,
31232  1 /*untilDay*/,
31233  0 /*untilTimeCode (0/15)*/,
31234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31235  },
31236  // 11:00 - %z 1969 Oct
31237  {
31238  nullptr /*zonePolicy*/,
31239  "" /*format*/,
31240  2640 /*offsetCode (39600/15)*/,
31241  0 /*offsetRemainder (39600%15)*/,
31242  0 /*deltaMinutes*/,
31243  1969 /*untilYear*/,
31244  10 /*untilMonth*/,
31245  1 /*untilDay*/,
31246  0 /*untilTimeCode (0/15)*/,
31247  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31248  },
31249  // 12:00 - %z 1999
31250  {
31251  nullptr /*zonePolicy*/,
31252  "" /*format*/,
31253  2880 /*offsetCode (43200/15)*/,
31254  0 /*offsetRemainder (43200%15)*/,
31255  0 /*deltaMinutes*/,
31256  1999 /*untilYear*/,
31257  1 /*untilMonth*/,
31258  1 /*untilDay*/,
31259  0 /*untilTimeCode (0/15)*/,
31260  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31261  },
31262  // 11:00 - %z
31263  {
31264  nullptr /*zonePolicy*/,
31265  "" /*format*/,
31266  2640 /*offsetCode (39600/15)*/,
31267  0 /*offsetRemainder (39600%15)*/,
31268  0 /*deltaMinutes*/,
31269  32767 /*untilYear*/,
31270  1 /*untilMonth*/,
31271  1 /*untilDay*/,
31272  0 /*untilTimeCode (0/15)*/,
31273  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31274  },
31275 
31276 };
31277 
31278 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0e" "Kosrae";
31279 
31280 const complete::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
31281  kZoneNamePacific_Kosrae /*name*/,
31282  0xde5139a8 /*zoneId*/,
31283  &kZoneContext /*zoneContext*/,
31284  10 /*numEras*/,
31285  kZoneEraPacific_Kosrae /*eras*/,
31286  nullptr /*targetInfo*/,
31287 };
31288 
31289 //---------------------------------------------------------------------------
31290 // Zone name: Pacific/Kwajalein
31291 // Eras: 7
31292 //---------------------------------------------------------------------------
31293 
31294 static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
31295  // 11:09:20 - LMT 1901
31296  {
31297  nullptr /*zonePolicy*/,
31298  "LMT" /*format*/,
31299  2677 /*offsetCode (40160/15)*/,
31300  5 /*offsetRemainder (40160%15)*/,
31301  0 /*deltaMinutes*/,
31302  1901 /*untilYear*/,
31303  1 /*untilMonth*/,
31304  1 /*untilDay*/,
31305  0 /*untilTimeCode (0/15)*/,
31306  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31307  },
31308  // 11:00 - %z 1937
31309  {
31310  nullptr /*zonePolicy*/,
31311  "" /*format*/,
31312  2640 /*offsetCode (39600/15)*/,
31313  0 /*offsetRemainder (39600%15)*/,
31314  0 /*deltaMinutes*/,
31315  1937 /*untilYear*/,
31316  1 /*untilMonth*/,
31317  1 /*untilDay*/,
31318  0 /*untilTimeCode (0/15)*/,
31319  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31320  },
31321  // 10:00 - %z 1941 Apr 1
31322  {
31323  nullptr /*zonePolicy*/,
31324  "" /*format*/,
31325  2400 /*offsetCode (36000/15)*/,
31326  0 /*offsetRemainder (36000%15)*/,
31327  0 /*deltaMinutes*/,
31328  1941 /*untilYear*/,
31329  4 /*untilMonth*/,
31330  1 /*untilDay*/,
31331  0 /*untilTimeCode (0/15)*/,
31332  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31333  },
31334  // 9:00 - %z 1944 Feb 6
31335  {
31336  nullptr /*zonePolicy*/,
31337  "" /*format*/,
31338  2160 /*offsetCode (32400/15)*/,
31339  0 /*offsetRemainder (32400%15)*/,
31340  0 /*deltaMinutes*/,
31341  1944 /*untilYear*/,
31342  2 /*untilMonth*/,
31343  6 /*untilDay*/,
31344  0 /*untilTimeCode (0/15)*/,
31345  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31346  },
31347  // 11:00 - %z 1969 Oct
31348  {
31349  nullptr /*zonePolicy*/,
31350  "" /*format*/,
31351  2640 /*offsetCode (39600/15)*/,
31352  0 /*offsetRemainder (39600%15)*/,
31353  0 /*deltaMinutes*/,
31354  1969 /*untilYear*/,
31355  10 /*untilMonth*/,
31356  1 /*untilDay*/,
31357  0 /*untilTimeCode (0/15)*/,
31358  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31359  },
31360  // -12:00 - %z 1993 Aug 20 24:00
31361  {
31362  nullptr /*zonePolicy*/,
31363  "" /*format*/,
31364  -2880 /*offsetCode (-43200/15)*/,
31365  0 /*offsetRemainder (-43200%15)*/,
31366  0 /*deltaMinutes*/,
31367  1993 /*untilYear*/,
31368  8 /*untilMonth*/,
31369  20 /*untilDay*/,
31370  5760 /*untilTimeCode (86400/15)*/,
31371  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31372  },
31373  // 12:00 - %z
31374  {
31375  nullptr /*zonePolicy*/,
31376  "" /*format*/,
31377  2880 /*offsetCode (43200/15)*/,
31378  0 /*offsetRemainder (43200%15)*/,
31379  0 /*deltaMinutes*/,
31380  32767 /*untilYear*/,
31381  1 /*untilMonth*/,
31382  1 /*untilDay*/,
31383  0 /*untilTimeCode (0/15)*/,
31384  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31385  },
31386 
31387 };
31388 
31389 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0e" "Kwajalein";
31390 
31391 const complete::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
31392  kZoneNamePacific_Kwajalein /*name*/,
31393  0x8e216759 /*zoneId*/,
31394  &kZoneContext /*zoneContext*/,
31395  7 /*numEras*/,
31396  kZoneEraPacific_Kwajalein /*eras*/,
31397  nullptr /*targetInfo*/,
31398 };
31399 
31400 //---------------------------------------------------------------------------
31401 // Zone name: Pacific/Marquesas
31402 // Eras: 2
31403 //---------------------------------------------------------------------------
31404 
31405 static const complete::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
31406  // -9:18:00 - LMT 1912 Oct 1
31407  {
31408  nullptr /*zonePolicy*/,
31409  "LMT" /*format*/,
31410  -2232 /*offsetCode (-33480/15)*/,
31411  0 /*offsetRemainder (-33480%15)*/,
31412  0 /*deltaMinutes*/,
31413  1912 /*untilYear*/,
31414  10 /*untilMonth*/,
31415  1 /*untilDay*/,
31416  0 /*untilTimeCode (0/15)*/,
31417  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31418  },
31419  // -9:30 - %z
31420  {
31421  nullptr /*zonePolicy*/,
31422  "" /*format*/,
31423  -2280 /*offsetCode (-34200/15)*/,
31424  0 /*offsetRemainder (-34200%15)*/,
31425  0 /*deltaMinutes*/,
31426  32767 /*untilYear*/,
31427  1 /*untilMonth*/,
31428  1 /*untilDay*/,
31429  0 /*untilTimeCode (0/15)*/,
31430  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31431  },
31432 
31433 };
31434 
31435 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0e" "Marquesas";
31436 
31437 const complete::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
31438  kZoneNamePacific_Marquesas /*name*/,
31439  0x57ca7135 /*zoneId*/,
31440  &kZoneContext /*zoneContext*/,
31441  2 /*numEras*/,
31442  kZoneEraPacific_Marquesas /*eras*/,
31443  nullptr /*targetInfo*/,
31444 };
31445 
31446 //---------------------------------------------------------------------------
31447 // Zone name: Pacific/Nauru
31448 // Eras: 5
31449 //---------------------------------------------------------------------------
31450 
31451 static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
31452  // 11:07:40 - LMT 1921 Jan 15
31453  {
31454  nullptr /*zonePolicy*/,
31455  "LMT" /*format*/,
31456  2670 /*offsetCode (40060/15)*/,
31457  10 /*offsetRemainder (40060%15)*/,
31458  0 /*deltaMinutes*/,
31459  1921 /*untilYear*/,
31460  1 /*untilMonth*/,
31461  15 /*untilDay*/,
31462  0 /*untilTimeCode (0/15)*/,
31463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31464  },
31465  // 11:30 - %z 1942 Aug 29
31466  {
31467  nullptr /*zonePolicy*/,
31468  "" /*format*/,
31469  2760 /*offsetCode (41400/15)*/,
31470  0 /*offsetRemainder (41400%15)*/,
31471  0 /*deltaMinutes*/,
31472  1942 /*untilYear*/,
31473  8 /*untilMonth*/,
31474  29 /*untilDay*/,
31475  0 /*untilTimeCode (0/15)*/,
31476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31477  },
31478  // 9:00 - %z 1945 Sep 8
31479  {
31480  nullptr /*zonePolicy*/,
31481  "" /*format*/,
31482  2160 /*offsetCode (32400/15)*/,
31483  0 /*offsetRemainder (32400%15)*/,
31484  0 /*deltaMinutes*/,
31485  1945 /*untilYear*/,
31486  9 /*untilMonth*/,
31487  8 /*untilDay*/,
31488  0 /*untilTimeCode (0/15)*/,
31489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31490  },
31491  // 11:30 - %z 1979 Feb 10 2:00
31492  {
31493  nullptr /*zonePolicy*/,
31494  "" /*format*/,
31495  2760 /*offsetCode (41400/15)*/,
31496  0 /*offsetRemainder (41400%15)*/,
31497  0 /*deltaMinutes*/,
31498  1979 /*untilYear*/,
31499  2 /*untilMonth*/,
31500  10 /*untilDay*/,
31501  480 /*untilTimeCode (7200/15)*/,
31502  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31503  },
31504  // 12:00 - %z
31505  {
31506  nullptr /*zonePolicy*/,
31507  "" /*format*/,
31508  2880 /*offsetCode (43200/15)*/,
31509  0 /*offsetRemainder (43200%15)*/,
31510  0 /*deltaMinutes*/,
31511  32767 /*untilYear*/,
31512  1 /*untilMonth*/,
31513  1 /*untilDay*/,
31514  0 /*untilTimeCode (0/15)*/,
31515  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31516  },
31517 
31518 };
31519 
31520 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0e" "Nauru";
31521 
31522 const complete::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
31523  kZoneNamePacific_Nauru /*name*/,
31524  0x8acc41ae /*zoneId*/,
31525  &kZoneContext /*zoneContext*/,
31526  5 /*numEras*/,
31527  kZoneEraPacific_Nauru /*eras*/,
31528  nullptr /*targetInfo*/,
31529 };
31530 
31531 //---------------------------------------------------------------------------
31532 // Zone name: Pacific/Niue
31533 // Eras: 3
31534 //---------------------------------------------------------------------------
31535 
31536 static const complete::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
31537  // -11:19:40 - LMT 1952 Oct 16
31538  {
31539  nullptr /*zonePolicy*/,
31540  "LMT" /*format*/,
31541  -2719 /*offsetCode (-40780/15)*/,
31542  5 /*offsetRemainder (-40780%15)*/,
31543  0 /*deltaMinutes*/,
31544  1952 /*untilYear*/,
31545  10 /*untilMonth*/,
31546  16 /*untilDay*/,
31547  0 /*untilTimeCode (0/15)*/,
31548  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31549  },
31550  // -11:20 - %z 1964 Jul
31551  {
31552  nullptr /*zonePolicy*/,
31553  "" /*format*/,
31554  -2720 /*offsetCode (-40800/15)*/,
31555  0 /*offsetRemainder (-40800%15)*/,
31556  0 /*deltaMinutes*/,
31557  1964 /*untilYear*/,
31558  7 /*untilMonth*/,
31559  1 /*untilDay*/,
31560  0 /*untilTimeCode (0/15)*/,
31561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31562  },
31563  // -11:00 - %z
31564  {
31565  nullptr /*zonePolicy*/,
31566  "" /*format*/,
31567  -2640 /*offsetCode (-39600/15)*/,
31568  0 /*offsetRemainder (-39600%15)*/,
31569  0 /*deltaMinutes*/,
31570  32767 /*untilYear*/,
31571  1 /*untilMonth*/,
31572  1 /*untilDay*/,
31573  0 /*untilTimeCode (0/15)*/,
31574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31575  },
31576 
31577 };
31578 
31579 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0e" "Niue";
31580 
31581 const complete::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
31582  kZoneNamePacific_Niue /*name*/,
31583  0x233ca014 /*zoneId*/,
31584  &kZoneContext /*zoneContext*/,
31585  3 /*numEras*/,
31586  kZoneEraPacific_Niue /*eras*/,
31587  nullptr /*targetInfo*/,
31588 };
31589 
31590 //---------------------------------------------------------------------------
31591 // Zone name: Pacific/Norfolk
31592 // Eras: 7
31593 //---------------------------------------------------------------------------
31594 
31595 static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
31596  // 11:11:52 - LMT 1901
31597  {
31598  nullptr /*zonePolicy*/,
31599  "LMT" /*format*/,
31600  2687 /*offsetCode (40312/15)*/,
31601  7 /*offsetRemainder (40312%15)*/,
31602  0 /*deltaMinutes*/,
31603  1901 /*untilYear*/,
31604  1 /*untilMonth*/,
31605  1 /*untilDay*/,
31606  0 /*untilTimeCode (0/15)*/,
31607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31608  },
31609  // 11:12 - %z 1951
31610  {
31611  nullptr /*zonePolicy*/,
31612  "" /*format*/,
31613  2688 /*offsetCode (40320/15)*/,
31614  0 /*offsetRemainder (40320%15)*/,
31615  0 /*deltaMinutes*/,
31616  1951 /*untilYear*/,
31617  1 /*untilMonth*/,
31618  1 /*untilDay*/,
31619  0 /*untilTimeCode (0/15)*/,
31620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31621  },
31622  // 11:30 - %z 1974 Oct 27 02:00s
31623  {
31624  nullptr /*zonePolicy*/,
31625  "" /*format*/,
31626  2760 /*offsetCode (41400/15)*/,
31627  0 /*offsetRemainder (41400%15)*/,
31628  0 /*deltaMinutes*/,
31629  1974 /*untilYear*/,
31630  10 /*untilMonth*/,
31631  27 /*untilDay*/,
31632  480 /*untilTimeCode (7200/15)*/,
31633  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31634  },
31635  // 11:30 1:00 %z 1975 Mar 2 02:00s
31636  {
31637  nullptr /*zonePolicy*/,
31638  "" /*format*/,
31639  2760 /*offsetCode (41400/15)*/,
31640  0 /*offsetRemainder (41400%15)*/,
31641  60 /*deltaMinutes*/,
31642  1975 /*untilYear*/,
31643  3 /*untilMonth*/,
31644  2 /*untilDay*/,
31645  480 /*untilTimeCode (7200/15)*/,
31646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31647  },
31648  // 11:30 - %z 2015 Oct 4 02:00s
31649  {
31650  nullptr /*zonePolicy*/,
31651  "" /*format*/,
31652  2760 /*offsetCode (41400/15)*/,
31653  0 /*offsetRemainder (41400%15)*/,
31654  0 /*deltaMinutes*/,
31655  2015 /*untilYear*/,
31656  10 /*untilMonth*/,
31657  4 /*untilDay*/,
31658  480 /*untilTimeCode (7200/15)*/,
31659  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31660  },
31661  // 11:00 - %z 2019 Jul
31662  {
31663  nullptr /*zonePolicy*/,
31664  "" /*format*/,
31665  2640 /*offsetCode (39600/15)*/,
31666  0 /*offsetRemainder (39600%15)*/,
31667  0 /*deltaMinutes*/,
31668  2019 /*untilYear*/,
31669  7 /*untilMonth*/,
31670  1 /*untilDay*/,
31671  0 /*untilTimeCode (0/15)*/,
31672  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31673  },
31674  // 11:00 AN %z
31675  {
31676  &kZonePolicyAN /*zonePolicy*/,
31677  "" /*format*/,
31678  2640 /*offsetCode (39600/15)*/,
31679  0 /*offsetRemainder (39600%15)*/,
31680  0 /*deltaMinutes*/,
31681  32767 /*untilYear*/,
31682  1 /*untilMonth*/,
31683  1 /*untilDay*/,
31684  0 /*untilTimeCode (0/15)*/,
31685  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31686  },
31687 
31688 };
31689 
31690 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "\x0e" "Norfolk";
31691 
31692 const complete::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
31693  kZoneNamePacific_Norfolk /*name*/,
31694  0x8f4eb4be /*zoneId*/,
31695  &kZoneContext /*zoneContext*/,
31696  7 /*numEras*/,
31697  kZoneEraPacific_Norfolk /*eras*/,
31698  nullptr /*targetInfo*/,
31699 };
31700 
31701 //---------------------------------------------------------------------------
31702 // Zone name: Pacific/Noumea
31703 // Eras: 2
31704 //---------------------------------------------------------------------------
31705 
31706 static const complete::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
31707  // 11:05:48 - LMT 1912 Jan 13
31708  {
31709  nullptr /*zonePolicy*/,
31710  "LMT" /*format*/,
31711  2663 /*offsetCode (39948/15)*/,
31712  3 /*offsetRemainder (39948%15)*/,
31713  0 /*deltaMinutes*/,
31714  1912 /*untilYear*/,
31715  1 /*untilMonth*/,
31716  13 /*untilDay*/,
31717  0 /*untilTimeCode (0/15)*/,
31718  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31719  },
31720  // 11:00 NC %z
31721  {
31722  &kZonePolicyNC /*zonePolicy*/,
31723  "" /*format*/,
31724  2640 /*offsetCode (39600/15)*/,
31725  0 /*offsetRemainder (39600%15)*/,
31726  0 /*deltaMinutes*/,
31727  32767 /*untilYear*/,
31728  1 /*untilMonth*/,
31729  1 /*untilDay*/,
31730  0 /*untilTimeCode (0/15)*/,
31731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31732  },
31733 
31734 };
31735 
31736 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0e" "Noumea";
31737 
31738 const complete::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
31739  kZoneNamePacific_Noumea /*name*/,
31740  0xe551b788 /*zoneId*/,
31741  &kZoneContext /*zoneContext*/,
31742  2 /*numEras*/,
31743  kZoneEraPacific_Noumea /*eras*/,
31744  nullptr /*targetInfo*/,
31745 };
31746 
31747 //---------------------------------------------------------------------------
31748 // Zone name: Pacific/Pago_Pago
31749 // Eras: 3
31750 //---------------------------------------------------------------------------
31751 
31752 static const complete::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
31753  // 12:37:12 - LMT 1892 Jul 5
31754  {
31755  nullptr /*zonePolicy*/,
31756  "LMT" /*format*/,
31757  3028 /*offsetCode (45432/15)*/,
31758  12 /*offsetRemainder (45432%15)*/,
31759  0 /*deltaMinutes*/,
31760  1892 /*untilYear*/,
31761  7 /*untilMonth*/,
31762  5 /*untilDay*/,
31763  0 /*untilTimeCode (0/15)*/,
31764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31765  },
31766  // -11:22:48 - LMT 1911
31767  {
31768  nullptr /*zonePolicy*/,
31769  "LMT" /*format*/,
31770  -2732 /*offsetCode (-40968/15)*/,
31771  12 /*offsetRemainder (-40968%15)*/,
31772  0 /*deltaMinutes*/,
31773  1911 /*untilYear*/,
31774  1 /*untilMonth*/,
31775  1 /*untilDay*/,
31776  0 /*untilTimeCode (0/15)*/,
31777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31778  },
31779  // -11:00 - SST
31780  {
31781  nullptr /*zonePolicy*/,
31782  "SST" /*format*/,
31783  -2640 /*offsetCode (-39600/15)*/,
31784  0 /*offsetRemainder (-39600%15)*/,
31785  0 /*deltaMinutes*/,
31786  32767 /*untilYear*/,
31787  1 /*untilMonth*/,
31788  1 /*untilDay*/,
31789  0 /*untilTimeCode (0/15)*/,
31790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31791  },
31792 
31793 };
31794 
31795 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0e" "Pago_Pago";
31796 
31797 const complete::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
31798  kZoneNamePacific_Pago_Pago /*name*/,
31799  0x603aebd0 /*zoneId*/,
31800  &kZoneContext /*zoneContext*/,
31801  3 /*numEras*/,
31802  kZoneEraPacific_Pago_Pago /*eras*/,
31803  nullptr /*targetInfo*/,
31804 };
31805 
31806 //---------------------------------------------------------------------------
31807 // Zone name: Pacific/Palau
31808 // Eras: 3
31809 //---------------------------------------------------------------------------
31810 
31811 static const complete::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
31812  // -15:02:04 - LMT 1844 Dec 31
31813  {
31814  nullptr /*zonePolicy*/,
31815  "LMT" /*format*/,
31816  -3609 /*offsetCode (-54124/15)*/,
31817  11 /*offsetRemainder (-54124%15)*/,
31818  0 /*deltaMinutes*/,
31819  1844 /*untilYear*/,
31820  12 /*untilMonth*/,
31821  31 /*untilDay*/,
31822  0 /*untilTimeCode (0/15)*/,
31823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31824  },
31825  // 8:57:56 - LMT 1901
31826  {
31827  nullptr /*zonePolicy*/,
31828  "LMT" /*format*/,
31829  2151 /*offsetCode (32276/15)*/,
31830  11 /*offsetRemainder (32276%15)*/,
31831  0 /*deltaMinutes*/,
31832  1901 /*untilYear*/,
31833  1 /*untilMonth*/,
31834  1 /*untilDay*/,
31835  0 /*untilTimeCode (0/15)*/,
31836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31837  },
31838  // 9:00 - %z
31839  {
31840  nullptr /*zonePolicy*/,
31841  "" /*format*/,
31842  2160 /*offsetCode (32400/15)*/,
31843  0 /*offsetRemainder (32400%15)*/,
31844  0 /*deltaMinutes*/,
31845  32767 /*untilYear*/,
31846  1 /*untilMonth*/,
31847  1 /*untilDay*/,
31848  0 /*untilTimeCode (0/15)*/,
31849  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31850  },
31851 
31852 };
31853 
31854 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0e" "Palau";
31855 
31856 const complete::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
31857  kZoneNamePacific_Palau /*name*/,
31858  0x8af04a36 /*zoneId*/,
31859  &kZoneContext /*zoneContext*/,
31860  3 /*numEras*/,
31861  kZoneEraPacific_Palau /*eras*/,
31862  nullptr /*targetInfo*/,
31863 };
31864 
31865 //---------------------------------------------------------------------------
31866 // Zone name: Pacific/Pitcairn
31867 // Eras: 3
31868 //---------------------------------------------------------------------------
31869 
31870 static const complete::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
31871  // -8:40:20 - LMT 1901
31872  {
31873  nullptr /*zonePolicy*/,
31874  "LMT" /*format*/,
31875  -2082 /*offsetCode (-31220/15)*/,
31876  10 /*offsetRemainder (-31220%15)*/,
31877  0 /*deltaMinutes*/,
31878  1901 /*untilYear*/,
31879  1 /*untilMonth*/,
31880  1 /*untilDay*/,
31881  0 /*untilTimeCode (0/15)*/,
31882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31883  },
31884  // -8:30 - %z 1998 Apr 27 0:00
31885  {
31886  nullptr /*zonePolicy*/,
31887  "" /*format*/,
31888  -2040 /*offsetCode (-30600/15)*/,
31889  0 /*offsetRemainder (-30600%15)*/,
31890  0 /*deltaMinutes*/,
31891  1998 /*untilYear*/,
31892  4 /*untilMonth*/,
31893  27 /*untilDay*/,
31894  0 /*untilTimeCode (0/15)*/,
31895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31896  },
31897  // -8:00 - %z
31898  {
31899  nullptr /*zonePolicy*/,
31900  "" /*format*/,
31901  -1920 /*offsetCode (-28800/15)*/,
31902  0 /*offsetRemainder (-28800%15)*/,
31903  0 /*deltaMinutes*/,
31904  32767 /*untilYear*/,
31905  1 /*untilMonth*/,
31906  1 /*untilDay*/,
31907  0 /*untilTimeCode (0/15)*/,
31908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31909  },
31910 
31911 };
31912 
31913 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0e" "Pitcairn";
31914 
31915 const complete::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
31916  kZoneNamePacific_Pitcairn /*name*/,
31917  0x8837d8bd /*zoneId*/,
31918  &kZoneContext /*zoneContext*/,
31919  3 /*numEras*/,
31920  kZoneEraPacific_Pitcairn /*eras*/,
31921  nullptr /*targetInfo*/,
31922 };
31923 
31924 //---------------------------------------------------------------------------
31925 // Zone name: Pacific/Port_Moresby
31926 // Eras: 3
31927 //---------------------------------------------------------------------------
31928 
31929 static const complete::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
31930  // 9:48:40 - LMT 1880
31931  {
31932  nullptr /*zonePolicy*/,
31933  "LMT" /*format*/,
31934  2354 /*offsetCode (35320/15)*/,
31935  10 /*offsetRemainder (35320%15)*/,
31936  0 /*deltaMinutes*/,
31937  1880 /*untilYear*/,
31938  1 /*untilMonth*/,
31939  1 /*untilDay*/,
31940  0 /*untilTimeCode (0/15)*/,
31941  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31942  },
31943  // 9:48:32 - PMMT 1895
31944  {
31945  nullptr /*zonePolicy*/,
31946  "PMMT" /*format*/,
31947  2354 /*offsetCode (35312/15)*/,
31948  2 /*offsetRemainder (35312%15)*/,
31949  0 /*deltaMinutes*/,
31950  1895 /*untilYear*/,
31951  1 /*untilMonth*/,
31952  1 /*untilDay*/,
31953  0 /*untilTimeCode (0/15)*/,
31954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31955  },
31956  // 10:00 - %z
31957  {
31958  nullptr /*zonePolicy*/,
31959  "" /*format*/,
31960  2400 /*offsetCode (36000/15)*/,
31961  0 /*offsetRemainder (36000%15)*/,
31962  0 /*deltaMinutes*/,
31963  32767 /*untilYear*/,
31964  1 /*untilMonth*/,
31965  1 /*untilDay*/,
31966  0 /*untilTimeCode (0/15)*/,
31967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31968  },
31969 
31970 };
31971 
31972 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0e" "Port_Moresby";
31973 
31974 const complete::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
31975  kZoneNamePacific_Port_Moresby /*name*/,
31976  0xa7ba7f68 /*zoneId*/,
31977  &kZoneContext /*zoneContext*/,
31978  3 /*numEras*/,
31979  kZoneEraPacific_Port_Moresby /*eras*/,
31980  nullptr /*targetInfo*/,
31981 };
31982 
31983 //---------------------------------------------------------------------------
31984 // Zone name: Pacific/Rarotonga
31985 // Eras: 4
31986 //---------------------------------------------------------------------------
31987 
31988 static const complete::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
31989  // 13:20:56 - LMT 1899 Dec 26
31990  {
31991  nullptr /*zonePolicy*/,
31992  "LMT" /*format*/,
31993  3203 /*offsetCode (48056/15)*/,
31994  11 /*offsetRemainder (48056%15)*/,
31995  0 /*deltaMinutes*/,
31996  1899 /*untilYear*/,
31997  12 /*untilMonth*/,
31998  26 /*untilDay*/,
31999  0 /*untilTimeCode (0/15)*/,
32000  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32001  },
32002  // -10:39:04 - LMT 1952 Oct 16
32003  {
32004  nullptr /*zonePolicy*/,
32005  "LMT" /*format*/,
32006  -2557 /*offsetCode (-38344/15)*/,
32007  11 /*offsetRemainder (-38344%15)*/,
32008  0 /*deltaMinutes*/,
32009  1952 /*untilYear*/,
32010  10 /*untilMonth*/,
32011  16 /*untilDay*/,
32012  0 /*untilTimeCode (0/15)*/,
32013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32014  },
32015  // -10:30 - %z 1978 Nov 12
32016  {
32017  nullptr /*zonePolicy*/,
32018  "" /*format*/,
32019  -2520 /*offsetCode (-37800/15)*/,
32020  0 /*offsetRemainder (-37800%15)*/,
32021  0 /*deltaMinutes*/,
32022  1978 /*untilYear*/,
32023  11 /*untilMonth*/,
32024  12 /*untilDay*/,
32025  0 /*untilTimeCode (0/15)*/,
32026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32027  },
32028  // -10:00 Cook %z
32029  {
32030  &kZonePolicyCook /*zonePolicy*/,
32031  "" /*format*/,
32032  -2400 /*offsetCode (-36000/15)*/,
32033  0 /*offsetRemainder (-36000%15)*/,
32034  0 /*deltaMinutes*/,
32035  32767 /*untilYear*/,
32036  1 /*untilMonth*/,
32037  1 /*untilDay*/,
32038  0 /*untilTimeCode (0/15)*/,
32039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32040  },
32041 
32042 };
32043 
32044 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0e" "Rarotonga";
32045 
32046 const complete::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
32047  kZoneNamePacific_Rarotonga /*name*/,
32048  0x9981a3b0 /*zoneId*/,
32049  &kZoneContext /*zoneContext*/,
32050  4 /*numEras*/,
32051  kZoneEraPacific_Rarotonga /*eras*/,
32052  nullptr /*targetInfo*/,
32053 };
32054 
32055 //---------------------------------------------------------------------------
32056 // Zone name: Pacific/Tahiti
32057 // Eras: 2
32058 //---------------------------------------------------------------------------
32059 
32060 static const complete::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
32061  // -9:58:16 - LMT 1912 Oct 1
32062  {
32063  nullptr /*zonePolicy*/,
32064  "LMT" /*format*/,
32065  -2394 /*offsetCode (-35896/15)*/,
32066  14 /*offsetRemainder (-35896%15)*/,
32067  0 /*deltaMinutes*/,
32068  1912 /*untilYear*/,
32069  10 /*untilMonth*/,
32070  1 /*untilDay*/,
32071  0 /*untilTimeCode (0/15)*/,
32072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32073  },
32074  // -10:00 - %z
32075  {
32076  nullptr /*zonePolicy*/,
32077  "" /*format*/,
32078  -2400 /*offsetCode (-36000/15)*/,
32079  0 /*offsetRemainder (-36000%15)*/,
32080  0 /*deltaMinutes*/,
32081  32767 /*untilYear*/,
32082  1 /*untilMonth*/,
32083  1 /*untilDay*/,
32084  0 /*untilTimeCode (0/15)*/,
32085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32086  },
32087 
32088 };
32089 
32090 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0e" "Tahiti";
32091 
32092 const complete::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
32093  kZoneNamePacific_Tahiti /*name*/,
32094  0xf24c2446 /*zoneId*/,
32095  &kZoneContext /*zoneContext*/,
32096  2 /*numEras*/,
32097  kZoneEraPacific_Tahiti /*eras*/,
32098  nullptr /*targetInfo*/,
32099 };
32100 
32101 //---------------------------------------------------------------------------
32102 // Zone name: Pacific/Tarawa
32103 // Eras: 2
32104 //---------------------------------------------------------------------------
32105 
32106 static const complete::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
32107  // 11:32:04 - LMT 1901
32108  {
32109  nullptr /*zonePolicy*/,
32110  "LMT" /*format*/,
32111  2768 /*offsetCode (41524/15)*/,
32112  4 /*offsetRemainder (41524%15)*/,
32113  0 /*deltaMinutes*/,
32114  1901 /*untilYear*/,
32115  1 /*untilMonth*/,
32116  1 /*untilDay*/,
32117  0 /*untilTimeCode (0/15)*/,
32118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32119  },
32120  // 12:00 - %z
32121  {
32122  nullptr /*zonePolicy*/,
32123  "" /*format*/,
32124  2880 /*offsetCode (43200/15)*/,
32125  0 /*offsetRemainder (43200%15)*/,
32126  0 /*deltaMinutes*/,
32127  32767 /*untilYear*/,
32128  1 /*untilMonth*/,
32129  1 /*untilDay*/,
32130  0 /*untilTimeCode (0/15)*/,
32131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32132  },
32133 
32134 };
32135 
32136 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0e" "Tarawa";
32137 
32138 const complete::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
32139  kZoneNamePacific_Tarawa /*name*/,
32140  0xf2517e63 /*zoneId*/,
32141  &kZoneContext /*zoneContext*/,
32142  2 /*numEras*/,
32143  kZoneEraPacific_Tarawa /*eras*/,
32144  nullptr /*targetInfo*/,
32145 };
32146 
32147 //---------------------------------------------------------------------------
32148 // Zone name: Pacific/Tongatapu
32149 // Eras: 4
32150 //---------------------------------------------------------------------------
32151 
32152 static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
32153  // 12:19:12 - LMT 1945 Sep 10
32154  {
32155  nullptr /*zonePolicy*/,
32156  "LMT" /*format*/,
32157  2956 /*offsetCode (44352/15)*/,
32158  12 /*offsetRemainder (44352%15)*/,
32159  0 /*deltaMinutes*/,
32160  1945 /*untilYear*/,
32161  9 /*untilMonth*/,
32162  10 /*untilDay*/,
32163  0 /*untilTimeCode (0/15)*/,
32164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32165  },
32166  // 12:20 - %z 1961
32167  {
32168  nullptr /*zonePolicy*/,
32169  "" /*format*/,
32170  2960 /*offsetCode (44400/15)*/,
32171  0 /*offsetRemainder (44400%15)*/,
32172  0 /*deltaMinutes*/,
32173  1961 /*untilYear*/,
32174  1 /*untilMonth*/,
32175  1 /*untilDay*/,
32176  0 /*untilTimeCode (0/15)*/,
32177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32178  },
32179  // 13:00 - %z 1999
32180  {
32181  nullptr /*zonePolicy*/,
32182  "" /*format*/,
32183  3120 /*offsetCode (46800/15)*/,
32184  0 /*offsetRemainder (46800%15)*/,
32185  0 /*deltaMinutes*/,
32186  1999 /*untilYear*/,
32187  1 /*untilMonth*/,
32188  1 /*untilDay*/,
32189  0 /*untilTimeCode (0/15)*/,
32190  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32191  },
32192  // 13:00 Tonga %z
32193  {
32194  &kZonePolicyTonga /*zonePolicy*/,
32195  "" /*format*/,
32196  3120 /*offsetCode (46800/15)*/,
32197  0 /*offsetRemainder (46800%15)*/,
32198  0 /*deltaMinutes*/,
32199  32767 /*untilYear*/,
32200  1 /*untilMonth*/,
32201  1 /*untilDay*/,
32202  0 /*untilTimeCode (0/15)*/,
32203  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32204  },
32205 
32206 };
32207 
32208 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0e" "Tongatapu";
32209 
32210 const complete::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
32211  kZoneNamePacific_Tongatapu /*name*/,
32212  0x262ca836 /*zoneId*/,
32213  &kZoneContext /*zoneContext*/,
32214  4 /*numEras*/,
32215  kZoneEraPacific_Tongatapu /*eras*/,
32216  nullptr /*targetInfo*/,
32217 };
32218 
32219 
32220 
32221 //---------------------------------------------------------------------------
32222 // Links: 257
32223 //---------------------------------------------------------------------------
32224 
32225 //---------------------------------------------------------------------------
32226 // Link name: Africa/Accra -> Africa/Abidjan
32227 //---------------------------------------------------------------------------
32228 
32229 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";
32230 
32231 const complete::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
32232  kZoneNameAfrica_Accra /*name*/,
32233  0x77d5b054 /*zoneId*/,
32234  &kZoneContext /*zoneContext*/,
32235  2 /*numEras*/,
32236  kZoneEraAfrica_Abidjan /*eras*/,
32237  &kZoneAfrica_Abidjan /*targetInfo*/,
32238 };
32239 
32240 //---------------------------------------------------------------------------
32241 // Link name: Africa/Addis_Ababa -> Africa/Nairobi
32242 //---------------------------------------------------------------------------
32243 
32244 static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";
32245 
32246 const complete::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
32247  kZoneNameAfrica_Addis_Ababa /*name*/,
32248  0x05ae1e65 /*zoneId*/,
32249  &kZoneContext /*zoneContext*/,
32250  6 /*numEras*/,
32251  kZoneEraAfrica_Nairobi /*eras*/,
32252  &kZoneAfrica_Nairobi /*targetInfo*/,
32253 };
32254 
32255 //---------------------------------------------------------------------------
32256 // Link name: Africa/Asmara -> Africa/Nairobi
32257 //---------------------------------------------------------------------------
32258 
32259 static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";
32260 
32261 const complete::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
32262  kZoneNameAfrica_Asmara /*name*/,
32263  0x73b278ef /*zoneId*/,
32264  &kZoneContext /*zoneContext*/,
32265  6 /*numEras*/,
32266  kZoneEraAfrica_Nairobi /*eras*/,
32267  &kZoneAfrica_Nairobi /*targetInfo*/,
32268 };
32269 
32270 //---------------------------------------------------------------------------
32271 // Link name: Africa/Asmera -> Africa/Nairobi
32272 //---------------------------------------------------------------------------
32273 
32274 static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";
32275 
32276 const complete::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
32277  kZoneNameAfrica_Asmera /*name*/,
32278  0x73b289f3 /*zoneId*/,
32279  &kZoneContext /*zoneContext*/,
32280  6 /*numEras*/,
32281  kZoneEraAfrica_Nairobi /*eras*/,
32282  &kZoneAfrica_Nairobi /*targetInfo*/,
32283 };
32284 
32285 //---------------------------------------------------------------------------
32286 // Link name: Africa/Bamako -> Africa/Abidjan
32287 //---------------------------------------------------------------------------
32288 
32289 static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";
32290 
32291 const complete::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
32292  kZoneNameAfrica_Bamako /*name*/,
32293  0x74c1e7a5 /*zoneId*/,
32294  &kZoneContext /*zoneContext*/,
32295  2 /*numEras*/,
32296  kZoneEraAfrica_Abidjan /*eras*/,
32297  &kZoneAfrica_Abidjan /*targetInfo*/,
32298 };
32299 
32300 //---------------------------------------------------------------------------
32301 // Link name: Africa/Bangui -> Africa/Lagos
32302 //---------------------------------------------------------------------------
32303 
32304 static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";
32305 
32306 const complete::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
32307  kZoneNameAfrica_Bangui /*name*/,
32308  0x74c28ed0 /*zoneId*/,
32309  &kZoneContext /*zoneContext*/,
32310  5 /*numEras*/,
32311  kZoneEraAfrica_Lagos /*eras*/,
32312  &kZoneAfrica_Lagos /*targetInfo*/,
32313 };
32314 
32315 //---------------------------------------------------------------------------
32316 // Link name: Africa/Banjul -> Africa/Abidjan
32317 //---------------------------------------------------------------------------
32318 
32319 static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";
32320 
32321 const complete::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
32322  kZoneNameAfrica_Banjul /*name*/,
32323  0x74c29b96 /*zoneId*/,
32324  &kZoneContext /*zoneContext*/,
32325  2 /*numEras*/,
32326  kZoneEraAfrica_Abidjan /*eras*/,
32327  &kZoneAfrica_Abidjan /*targetInfo*/,
32328 };
32329 
32330 //---------------------------------------------------------------------------
32331 // Link name: Africa/Blantyre -> Africa/Maputo
32332 //---------------------------------------------------------------------------
32333 
32334 static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";
32335 
32336 const complete::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
32337  kZoneNameAfrica_Blantyre /*name*/,
32338  0xe08d813b /*zoneId*/,
32339  &kZoneContext /*zoneContext*/,
32340  2 /*numEras*/,
32341  kZoneEraAfrica_Maputo /*eras*/,
32342  &kZoneAfrica_Maputo /*targetInfo*/,
32343 };
32344 
32345 //---------------------------------------------------------------------------
32346 // Link name: Africa/Brazzaville -> Africa/Lagos
32347 //---------------------------------------------------------------------------
32348 
32349 static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";
32350 
32351 const complete::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
32352  kZoneNameAfrica_Brazzaville /*name*/,
32353  0x39cda760 /*zoneId*/,
32354  &kZoneContext /*zoneContext*/,
32355  5 /*numEras*/,
32356  kZoneEraAfrica_Lagos /*eras*/,
32357  &kZoneAfrica_Lagos /*targetInfo*/,
32358 };
32359 
32360 //---------------------------------------------------------------------------
32361 // Link name: Africa/Bujumbura -> Africa/Maputo
32362 //---------------------------------------------------------------------------
32363 
32364 static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";
32365 
32366 const complete::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
32367  kZoneNameAfrica_Bujumbura /*name*/,
32368  0x05232a47 /*zoneId*/,
32369  &kZoneContext /*zoneContext*/,
32370  2 /*numEras*/,
32371  kZoneEraAfrica_Maputo /*eras*/,
32372  &kZoneAfrica_Maputo /*targetInfo*/,
32373 };
32374 
32375 //---------------------------------------------------------------------------
32376 // Link name: Africa/Conakry -> Africa/Abidjan
32377 //---------------------------------------------------------------------------
32378 
32379 static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";
32380 
32381 const complete::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
32382  kZoneNameAfrica_Conakry /*name*/,
32383  0x7ab36b31 /*zoneId*/,
32384  &kZoneContext /*zoneContext*/,
32385  2 /*numEras*/,
32386  kZoneEraAfrica_Abidjan /*eras*/,
32387  &kZoneAfrica_Abidjan /*targetInfo*/,
32388 };
32389 
32390 //---------------------------------------------------------------------------
32391 // Link name: Africa/Dakar -> Africa/Abidjan
32392 //---------------------------------------------------------------------------
32393 
32394 static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";
32395 
32396 const complete::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
32397  kZoneNameAfrica_Dakar /*name*/,
32398  0x780b00fd /*zoneId*/,
32399  &kZoneContext /*zoneContext*/,
32400  2 /*numEras*/,
32401  kZoneEraAfrica_Abidjan /*eras*/,
32402  &kZoneAfrica_Abidjan /*targetInfo*/,
32403 };
32404 
32405 //---------------------------------------------------------------------------
32406 // Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
32407 //---------------------------------------------------------------------------
32408 
32409 static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";
32410 
32411 const complete::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
32412  kZoneNameAfrica_Dar_es_Salaam /*name*/,
32413  0xa04c47b6 /*zoneId*/,
32414  &kZoneContext /*zoneContext*/,
32415  6 /*numEras*/,
32416  kZoneEraAfrica_Nairobi /*eras*/,
32417  &kZoneAfrica_Nairobi /*targetInfo*/,
32418 };
32419 
32420 //---------------------------------------------------------------------------
32421 // Link name: Africa/Djibouti -> Africa/Nairobi
32422 //---------------------------------------------------------------------------
32423 
32424 static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";
32425 
32426 const complete::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
32427  kZoneNameAfrica_Djibouti /*name*/,
32428  0x30ea01d4 /*zoneId*/,
32429  &kZoneContext /*zoneContext*/,
32430  6 /*numEras*/,
32431  kZoneEraAfrica_Nairobi /*eras*/,
32432  &kZoneAfrica_Nairobi /*targetInfo*/,
32433 };
32434 
32435 //---------------------------------------------------------------------------
32436 // Link name: Africa/Douala -> Africa/Lagos
32437 //---------------------------------------------------------------------------
32438 
32439 static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";
32440 
32441 const complete::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
32442  kZoneNameAfrica_Douala /*name*/,
32443  0x7a6df310 /*zoneId*/,
32444  &kZoneContext /*zoneContext*/,
32445  5 /*numEras*/,
32446  kZoneEraAfrica_Lagos /*eras*/,
32447  &kZoneAfrica_Lagos /*targetInfo*/,
32448 };
32449 
32450 //---------------------------------------------------------------------------
32451 // Link name: Africa/Freetown -> Africa/Abidjan
32452 //---------------------------------------------------------------------------
32453 
32454 static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";
32455 
32456 const complete::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
32457  kZoneNameAfrica_Freetown /*name*/,
32458  0x6823dd64 /*zoneId*/,
32459  &kZoneContext /*zoneContext*/,
32460  2 /*numEras*/,
32461  kZoneEraAfrica_Abidjan /*eras*/,
32462  &kZoneAfrica_Abidjan /*targetInfo*/,
32463 };
32464 
32465 //---------------------------------------------------------------------------
32466 // Link name: Africa/Gaborone -> Africa/Maputo
32467 //---------------------------------------------------------------------------
32468 
32469 static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";
32470 
32471 const complete::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
32472  kZoneNameAfrica_Gaborone /*name*/,
32473  0x317c0aa7 /*zoneId*/,
32474  &kZoneContext /*zoneContext*/,
32475  2 /*numEras*/,
32476  kZoneEraAfrica_Maputo /*eras*/,
32477  &kZoneAfrica_Maputo /*targetInfo*/,
32478 };
32479 
32480 //---------------------------------------------------------------------------
32481 // Link name: Africa/Harare -> Africa/Maputo
32482 //---------------------------------------------------------------------------
32483 
32484 static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";
32485 
32486 const complete::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
32487  kZoneNameAfrica_Harare /*name*/,
32488  0x82c39a2d /*zoneId*/,
32489  &kZoneContext /*zoneContext*/,
32490  2 /*numEras*/,
32491  kZoneEraAfrica_Maputo /*eras*/,
32492  &kZoneAfrica_Maputo /*targetInfo*/,
32493 };
32494 
32495 //---------------------------------------------------------------------------
32496 // Link name: Africa/Kampala -> Africa/Nairobi
32497 //---------------------------------------------------------------------------
32498 
32499 static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";
32500 
32501 const complete::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
32502  kZoneNameAfrica_Kampala /*name*/,
32503  0xc1d30e31 /*zoneId*/,
32504  &kZoneContext /*zoneContext*/,
32505  6 /*numEras*/,
32506  kZoneEraAfrica_Nairobi /*eras*/,
32507  &kZoneAfrica_Nairobi /*targetInfo*/,
32508 };
32509 
32510 //---------------------------------------------------------------------------
32511 // Link name: Africa/Kigali -> Africa/Maputo
32512 //---------------------------------------------------------------------------
32513 
32514 static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";
32515 
32516 const complete::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
32517  kZoneNameAfrica_Kigali /*name*/,
32518  0x8a4dcf2b /*zoneId*/,
32519  &kZoneContext /*zoneContext*/,
32520  2 /*numEras*/,
32521  kZoneEraAfrica_Maputo /*eras*/,
32522  &kZoneAfrica_Maputo /*targetInfo*/,
32523 };
32524 
32525 //---------------------------------------------------------------------------
32526 // Link name: Africa/Kinshasa -> Africa/Lagos
32527 //---------------------------------------------------------------------------
32528 
32529 static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";
32530 
32531 const complete::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
32532  kZoneNameAfrica_Kinshasa /*name*/,
32533  0x6695d70c /*zoneId*/,
32534  &kZoneContext /*zoneContext*/,
32535  5 /*numEras*/,
32536  kZoneEraAfrica_Lagos /*eras*/,
32537  &kZoneAfrica_Lagos /*targetInfo*/,
32538 };
32539 
32540 //---------------------------------------------------------------------------
32541 // Link name: Africa/Libreville -> Africa/Lagos
32542 //---------------------------------------------------------------------------
32543 
32544 static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";
32545 
32546 const complete::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
32547  kZoneNameAfrica_Libreville /*name*/,
32548  0x01d96de4 /*zoneId*/,
32549  &kZoneContext /*zoneContext*/,
32550  5 /*numEras*/,
32551  kZoneEraAfrica_Lagos /*eras*/,
32552  &kZoneAfrica_Lagos /*targetInfo*/,
32553 };
32554 
32555 //---------------------------------------------------------------------------
32556 // Link name: Africa/Lome -> Africa/Abidjan
32557 //---------------------------------------------------------------------------
32558 
32559 static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";
32560 
32561 const complete::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
32562  kZoneNameAfrica_Lome /*name*/,
32563  0xd51c3a07 /*zoneId*/,
32564  &kZoneContext /*zoneContext*/,
32565  2 /*numEras*/,
32566  kZoneEraAfrica_Abidjan /*eras*/,
32567  &kZoneAfrica_Abidjan /*targetInfo*/,
32568 };
32569 
32570 //---------------------------------------------------------------------------
32571 // Link name: Africa/Luanda -> Africa/Lagos
32572 //---------------------------------------------------------------------------
32573 
32574 static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";
32575 
32576 const complete::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
32577  kZoneNameAfrica_Luanda /*name*/,
32578  0x8d7909cf /*zoneId*/,
32579  &kZoneContext /*zoneContext*/,
32580  5 /*numEras*/,
32581  kZoneEraAfrica_Lagos /*eras*/,
32582  &kZoneAfrica_Lagos /*targetInfo*/,
32583 };
32584 
32585 //---------------------------------------------------------------------------
32586 // Link name: Africa/Lubumbashi -> Africa/Maputo
32587 //---------------------------------------------------------------------------
32588 
32589 static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";
32590 
32591 const complete::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
32592  kZoneNameAfrica_Lubumbashi /*name*/,
32593  0x6fd88566 /*zoneId*/,
32594  &kZoneContext /*zoneContext*/,
32595  2 /*numEras*/,
32596  kZoneEraAfrica_Maputo /*eras*/,
32597  &kZoneAfrica_Maputo /*targetInfo*/,
32598 };
32599 
32600 //---------------------------------------------------------------------------
32601 // Link name: Africa/Lusaka -> Africa/Maputo
32602 //---------------------------------------------------------------------------
32603 
32604 static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";
32605 
32606 const complete::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
32607  kZoneNameAfrica_Lusaka /*name*/,
32608  0x8d82b23b /*zoneId*/,
32609  &kZoneContext /*zoneContext*/,
32610  2 /*numEras*/,
32611  kZoneEraAfrica_Maputo /*eras*/,
32612  &kZoneAfrica_Maputo /*targetInfo*/,
32613 };
32614 
32615 //---------------------------------------------------------------------------
32616 // Link name: Africa/Malabo -> Africa/Lagos
32617 //---------------------------------------------------------------------------
32618 
32619 static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";
32620 
32621 const complete::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
32622  kZoneNameAfrica_Malabo /*name*/,
32623  0x8e6a1906 /*zoneId*/,
32624  &kZoneContext /*zoneContext*/,
32625  5 /*numEras*/,
32626  kZoneEraAfrica_Lagos /*eras*/,
32627  &kZoneAfrica_Lagos /*targetInfo*/,
32628 };
32629 
32630 //---------------------------------------------------------------------------
32631 // Link name: Africa/Maseru -> Africa/Johannesburg
32632 //---------------------------------------------------------------------------
32633 
32634 static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";
32635 
32636 const complete::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
32637  kZoneNameAfrica_Maseru /*name*/,
32638  0x8e6e02c7 /*zoneId*/,
32639  &kZoneContext /*zoneContext*/,
32640  3 /*numEras*/,
32641  kZoneEraAfrica_Johannesburg /*eras*/,
32642  &kZoneAfrica_Johannesburg /*targetInfo*/,
32643 };
32644 
32645 //---------------------------------------------------------------------------
32646 // Link name: Africa/Mbabane -> Africa/Johannesburg
32647 //---------------------------------------------------------------------------
32648 
32649 static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";
32650 
32651 const complete::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
32652  kZoneNameAfrica_Mbabane /*name*/,
32653  0x5d3bdd40 /*zoneId*/,
32654  &kZoneContext /*zoneContext*/,
32655  3 /*numEras*/,
32656  kZoneEraAfrica_Johannesburg /*eras*/,
32657  &kZoneAfrica_Johannesburg /*targetInfo*/,
32658 };
32659 
32660 //---------------------------------------------------------------------------
32661 // Link name: Africa/Mogadishu -> Africa/Nairobi
32662 //---------------------------------------------------------------------------
32663 
32664 static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";
32665 
32666 const complete::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
32667  kZoneNameAfrica_Mogadishu /*name*/,
32668  0x66bc159b /*zoneId*/,
32669  &kZoneContext /*zoneContext*/,
32670  6 /*numEras*/,
32671  kZoneEraAfrica_Nairobi /*eras*/,
32672  &kZoneAfrica_Nairobi /*targetInfo*/,
32673 };
32674 
32675 //---------------------------------------------------------------------------
32676 // Link name: Africa/Niamey -> Africa/Lagos
32677 //---------------------------------------------------------------------------
32678 
32679 static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";
32680 
32681 const complete::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
32682  kZoneNameAfrica_Niamey /*name*/,
32683  0x914a30fd /*zoneId*/,
32684  &kZoneContext /*zoneContext*/,
32685  5 /*numEras*/,
32686  kZoneEraAfrica_Lagos /*eras*/,
32687  &kZoneAfrica_Lagos /*targetInfo*/,
32688 };
32689 
32690 //---------------------------------------------------------------------------
32691 // Link name: Africa/Nouakchott -> Africa/Abidjan
32692 //---------------------------------------------------------------------------
32693 
32694 static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";
32695 
32696 const complete::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
32697  kZoneNameAfrica_Nouakchott /*name*/,
32698  0x3dc49dba /*zoneId*/,
32699  &kZoneContext /*zoneContext*/,
32700  2 /*numEras*/,
32701  kZoneEraAfrica_Abidjan /*eras*/,
32702  &kZoneAfrica_Abidjan /*targetInfo*/,
32703 };
32704 
32705 //---------------------------------------------------------------------------
32706 // Link name: Africa/Ouagadougou -> Africa/Abidjan
32707 //---------------------------------------------------------------------------
32708 
32709 static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";
32710 
32711 const complete::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
32712  kZoneNameAfrica_Ouagadougou /*name*/,
32713  0x04d7219a /*zoneId*/,
32714  &kZoneContext /*zoneContext*/,
32715  2 /*numEras*/,
32716  kZoneEraAfrica_Abidjan /*eras*/,
32717  &kZoneAfrica_Abidjan /*targetInfo*/,
32718 };
32719 
32720 //---------------------------------------------------------------------------
32721 // Link name: Africa/Porto-Novo -> Africa/Lagos
32722 //---------------------------------------------------------------------------
32723 
32724 static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";
32725 
32726 const complete::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
32727  kZoneNameAfrica_Porto_Novo /*name*/,
32728  0x3d1bf95d /*zoneId*/,
32729  &kZoneContext /*zoneContext*/,
32730  5 /*numEras*/,
32731  kZoneEraAfrica_Lagos /*eras*/,
32732  &kZoneAfrica_Lagos /*targetInfo*/,
32733 };
32734 
32735 //---------------------------------------------------------------------------
32736 // Link name: Africa/Timbuktu -> Africa/Abidjan
32737 //---------------------------------------------------------------------------
32738 
32739 static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";
32740 
32741 const complete::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
32742  kZoneNameAfrica_Timbuktu /*name*/,
32743  0xb164d56f /*zoneId*/,
32744  &kZoneContext /*zoneContext*/,
32745  2 /*numEras*/,
32746  kZoneEraAfrica_Abidjan /*eras*/,
32747  &kZoneAfrica_Abidjan /*targetInfo*/,
32748 };
32749 
32750 //---------------------------------------------------------------------------
32751 // Link name: America/Anguilla -> America/Puerto_Rico
32752 //---------------------------------------------------------------------------
32753 
32754 static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";
32755 
32756 const complete::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
32757  kZoneNameAmerica_Anguilla /*name*/,
32758  0xafe31333 /*zoneId*/,
32759  &kZoneContext /*zoneContext*/,
32760  4 /*numEras*/,
32761  kZoneEraAmerica_Puerto_Rico /*eras*/,
32762  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32763 };
32764 
32765 //---------------------------------------------------------------------------
32766 // Link name: America/Antigua -> America/Puerto_Rico
32767 //---------------------------------------------------------------------------
32768 
32769 static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";
32770 
32771 const complete::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
32772  kZoneNameAmerica_Antigua /*name*/,
32773  0xc067a32f /*zoneId*/,
32774  &kZoneContext /*zoneContext*/,
32775  4 /*numEras*/,
32776  kZoneEraAmerica_Puerto_Rico /*eras*/,
32777  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32778 };
32779 
32780 //---------------------------------------------------------------------------
32781 // Link name: America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
32782 //---------------------------------------------------------------------------
32783 
32784 static const char kZoneNameAmerica_Argentina_ComodRivadavia[] ACE_TIME_PROGMEM = "\x02" "\x04" "ComodRivadavia";
32785 
32786 const complete::ZoneInfo kZoneAmerica_Argentina_ComodRivadavia ACE_TIME_PROGMEM = {
32787  kZoneNameAmerica_Argentina_ComodRivadavia /*name*/,
32788  0x22758877 /*zoneId*/,
32789  &kZoneContext /*zoneContext*/,
32790  12 /*numEras*/,
32791  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
32792  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
32793 };
32794 
32795 //---------------------------------------------------------------------------
32796 // Link name: America/Aruba -> America/Puerto_Rico
32797 //---------------------------------------------------------------------------
32798 
32799 static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";
32800 
32801 const complete::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
32802  kZoneNameAmerica_Aruba /*name*/,
32803  0x97cf8651 /*zoneId*/,
32804  &kZoneContext /*zoneContext*/,
32805  4 /*numEras*/,
32806  kZoneEraAmerica_Puerto_Rico /*eras*/,
32807  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32808 };
32809 
32810 //---------------------------------------------------------------------------
32811 // Link name: America/Atikokan -> America/Panama
32812 //---------------------------------------------------------------------------
32813 
32814 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";
32815 
32816 const complete::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
32817  kZoneNameAmerica_Atikokan /*name*/,
32818  0x81b92098 /*zoneId*/,
32819  &kZoneContext /*zoneContext*/,
32820  3 /*numEras*/,
32821  kZoneEraAmerica_Panama /*eras*/,
32822  &kZoneAmerica_Panama /*targetInfo*/,
32823 };
32824 
32825 //---------------------------------------------------------------------------
32826 // Link name: America/Atka -> America/Adak
32827 //---------------------------------------------------------------------------
32828 
32829 static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";
32830 
32831 const complete::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
32832  kZoneNameAmerica_Atka /*name*/,
32833  0x97fe8f27 /*zoneId*/,
32834  &kZoneContext /*zoneContext*/,
32835  9 /*numEras*/,
32836  kZoneEraAmerica_Adak /*eras*/,
32837  &kZoneAmerica_Adak /*targetInfo*/,
32838 };
32839 
32840 //---------------------------------------------------------------------------
32841 // Link name: America/Blanc-Sablon -> America/Puerto_Rico
32842 //---------------------------------------------------------------------------
32843 
32844 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";
32845 
32846 const complete::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
32847  kZoneNameAmerica_Blanc_Sablon /*name*/,
32848  0x6e299892 /*zoneId*/,
32849  &kZoneContext /*zoneContext*/,
32850  4 /*numEras*/,
32851  kZoneEraAmerica_Puerto_Rico /*eras*/,
32852  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32853 };
32854 
32855 //---------------------------------------------------------------------------
32856 // Link name: America/Buenos_Aires -> America/Argentina/Buenos_Aires
32857 //---------------------------------------------------------------------------
32858 
32859 static const char kZoneNameAmerica_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "Buenos_Aires";
32860 
32861 const complete::ZoneInfo kZoneAmerica_Buenos_Aires ACE_TIME_PROGMEM = {
32862  kZoneNameAmerica_Buenos_Aires /*name*/,
32863  0x67d79a05 /*zoneId*/,
32864  &kZoneContext /*zoneContext*/,
32865  7 /*numEras*/,
32866  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
32867  &kZoneAmerica_Argentina_Buenos_Aires /*targetInfo*/,
32868 };
32869 
32870 //---------------------------------------------------------------------------
32871 // Link name: America/Catamarca -> America/Argentina/Catamarca
32872 //---------------------------------------------------------------------------
32873 
32874 static const char kZoneNameAmerica_Catamarca[] ACE_TIME_PROGMEM = "\x02" "Catamarca";
32875 
32876 const complete::ZoneInfo kZoneAmerica_Catamarca ACE_TIME_PROGMEM = {
32877  kZoneNameAmerica_Catamarca /*name*/,
32878  0x5036e963 /*zoneId*/,
32879  &kZoneContext /*zoneContext*/,
32880  12 /*numEras*/,
32881  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
32882  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
32883 };
32884 
32885 //---------------------------------------------------------------------------
32886 // Link name: America/Cayman -> America/Panama
32887 //---------------------------------------------------------------------------
32888 
32889 static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";
32890 
32891 const complete::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
32892  kZoneNameAmerica_Cayman /*name*/,
32893  0x953961df /*zoneId*/,
32894  &kZoneContext /*zoneContext*/,
32895  3 /*numEras*/,
32896  kZoneEraAmerica_Panama /*eras*/,
32897  &kZoneAmerica_Panama /*targetInfo*/,
32898 };
32899 
32900 //---------------------------------------------------------------------------
32901 // Link name: America/Coral_Harbour -> America/Panama
32902 //---------------------------------------------------------------------------
32903 
32904 static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";
32905 
32906 const complete::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
32907  kZoneNameAmerica_Coral_Harbour /*name*/,
32908  0xabcb7569 /*zoneId*/,
32909  &kZoneContext /*zoneContext*/,
32910  3 /*numEras*/,
32911  kZoneEraAmerica_Panama /*eras*/,
32912  &kZoneAmerica_Panama /*targetInfo*/,
32913 };
32914 
32915 //---------------------------------------------------------------------------
32916 // Link name: America/Cordoba -> America/Argentina/Cordoba
32917 //---------------------------------------------------------------------------
32918 
32919 static const char kZoneNameAmerica_Cordoba[] ACE_TIME_PROGMEM = "\x02" "Cordoba";
32920 
32921 const complete::ZoneInfo kZoneAmerica_Cordoba ACE_TIME_PROGMEM = {
32922  kZoneNameAmerica_Cordoba /*name*/,
32923  0x5c8a7600 /*zoneId*/,
32924  &kZoneContext /*zoneContext*/,
32925  9 /*numEras*/,
32926  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
32927  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
32928 };
32929 
32930 //---------------------------------------------------------------------------
32931 // Link name: America/Creston -> America/Phoenix
32932 //---------------------------------------------------------------------------
32933 
32934 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";
32935 
32936 const complete::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
32937  kZoneNameAmerica_Creston /*name*/,
32938  0x62a70204 /*zoneId*/,
32939  &kZoneContext /*zoneContext*/,
32940  7 /*numEras*/,
32941  kZoneEraAmerica_Phoenix /*eras*/,
32942  &kZoneAmerica_Phoenix /*targetInfo*/,
32943 };
32944 
32945 //---------------------------------------------------------------------------
32946 // Link name: America/Curacao -> America/Puerto_Rico
32947 //---------------------------------------------------------------------------
32948 
32949 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";
32950 
32951 const complete::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
32952  kZoneNameAmerica_Curacao /*name*/,
32953  0x6a879184 /*zoneId*/,
32954  &kZoneContext /*zoneContext*/,
32955  4 /*numEras*/,
32956  kZoneEraAmerica_Puerto_Rico /*eras*/,
32957  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32958 };
32959 
32960 //---------------------------------------------------------------------------
32961 // Link name: America/Dominica -> America/Puerto_Rico
32962 //---------------------------------------------------------------------------
32963 
32964 static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";
32965 
32966 const complete::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
32967  kZoneNameAmerica_Dominica /*name*/,
32968  0xcecb4c4a /*zoneId*/,
32969  &kZoneContext /*zoneContext*/,
32970  4 /*numEras*/,
32971  kZoneEraAmerica_Puerto_Rico /*eras*/,
32972  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32973 };
32974 
32975 //---------------------------------------------------------------------------
32976 // Link name: America/Ensenada -> America/Tijuana
32977 //---------------------------------------------------------------------------
32978 
32979 static const char kZoneNameAmerica_Ensenada[] ACE_TIME_PROGMEM = "\x02" "Ensenada";
32980 
32981 const complete::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = {
32982  kZoneNameAmerica_Ensenada /*name*/,
32983  0x7bc95445 /*zoneId*/,
32984  &kZoneContext /*zoneContext*/,
32985  25 /*numEras*/,
32986  kZoneEraAmerica_Tijuana /*eras*/,
32987  &kZoneAmerica_Tijuana /*targetInfo*/,
32988 };
32989 
32990 //---------------------------------------------------------------------------
32991 // Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
32992 //---------------------------------------------------------------------------
32993 
32994 static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";
32995 
32996 const complete::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
32997  kZoneNameAmerica_Fort_Wayne /*name*/,
32998  0x7eaaaf24 /*zoneId*/,
32999  &kZoneContext /*zoneContext*/,
33000  11 /*numEras*/,
33001  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33002  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33003 };
33004 
33005 //---------------------------------------------------------------------------
33006 // Link name: America/Godthab -> America/Nuuk
33007 //---------------------------------------------------------------------------
33008 
33009 static const char kZoneNameAmerica_Godthab[] ACE_TIME_PROGMEM = "\x02" "Godthab";
33010 
33011 const complete::ZoneInfo kZoneAmerica_Godthab ACE_TIME_PROGMEM = {
33012  kZoneNameAmerica_Godthab /*name*/,
33013  0x8f7eba1f /*zoneId*/,
33014  &kZoneContext /*zoneContext*/,
33015  5 /*numEras*/,
33016  kZoneEraAmerica_Nuuk /*eras*/,
33017  &kZoneAmerica_Nuuk /*targetInfo*/,
33018 };
33019 
33020 //---------------------------------------------------------------------------
33021 // Link name: America/Grenada -> America/Puerto_Rico
33022 //---------------------------------------------------------------------------
33023 
33024 static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";
33025 
33026 const complete::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
33027  kZoneNameAmerica_Grenada /*name*/,
33028  0x968ce4d8 /*zoneId*/,
33029  &kZoneContext /*zoneContext*/,
33030  4 /*numEras*/,
33031  kZoneEraAmerica_Puerto_Rico /*eras*/,
33032  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33033 };
33034 
33035 //---------------------------------------------------------------------------
33036 // Link name: America/Guadeloupe -> America/Puerto_Rico
33037 //---------------------------------------------------------------------------
33038 
33039 static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";
33040 
33041 const complete::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
33042  kZoneNameAmerica_Guadeloupe /*name*/,
33043  0xcd1f8a31 /*zoneId*/,
33044  &kZoneContext /*zoneContext*/,
33045  4 /*numEras*/,
33046  kZoneEraAmerica_Puerto_Rico /*eras*/,
33047  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33048 };
33049 
33050 //---------------------------------------------------------------------------
33051 // Link name: America/Indianapolis -> America/Indiana/Indianapolis
33052 //---------------------------------------------------------------------------
33053 
33054 static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";
33055 
33056 const complete::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
33057  kZoneNameAmerica_Indianapolis /*name*/,
33058  0x6a009ae1 /*zoneId*/,
33059  &kZoneContext /*zoneContext*/,
33060  11 /*numEras*/,
33061  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33062  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33063 };
33064 
33065 //---------------------------------------------------------------------------
33066 // Link name: America/Jujuy -> America/Argentina/Jujuy
33067 //---------------------------------------------------------------------------
33068 
33069 static const char kZoneNameAmerica_Jujuy[] ACE_TIME_PROGMEM = "\x02" "Jujuy";
33070 
33071 const complete::ZoneInfo kZoneAmerica_Jujuy ACE_TIME_PROGMEM = {
33072  kZoneNameAmerica_Jujuy /*name*/,
33073  0x9873dbbd /*zoneId*/,
33074  &kZoneContext /*zoneContext*/,
33075  13 /*numEras*/,
33076  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
33077  &kZoneAmerica_Argentina_Jujuy /*targetInfo*/,
33078 };
33079 
33080 //---------------------------------------------------------------------------
33081 // Link name: America/Knox_IN -> America/Indiana/Knox
33082 //---------------------------------------------------------------------------
33083 
33084 static const char kZoneNameAmerica_Knox_IN[] ACE_TIME_PROGMEM = "\x02" "Knox_IN";
33085 
33086 const complete::ZoneInfo kZoneAmerica_Knox_IN ACE_TIME_PROGMEM = {
33087  kZoneNameAmerica_Knox_IN /*name*/,
33088  0xc1db9a1c /*zoneId*/,
33089  &kZoneContext /*zoneContext*/,
33090  7 /*numEras*/,
33091  kZoneEraAmerica_Indiana_Knox /*eras*/,
33092  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
33093 };
33094 
33095 //---------------------------------------------------------------------------
33096 // Link name: America/Kralendijk -> America/Puerto_Rico
33097 //---------------------------------------------------------------------------
33098 
33099 static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";
33100 
33101 const complete::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
33102  kZoneNameAmerica_Kralendijk /*name*/,
33103  0xe7c456c5 /*zoneId*/,
33104  &kZoneContext /*zoneContext*/,
33105  4 /*numEras*/,
33106  kZoneEraAmerica_Puerto_Rico /*eras*/,
33107  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33108 };
33109 
33110 //---------------------------------------------------------------------------
33111 // Link name: America/Louisville -> America/Kentucky/Louisville
33112 //---------------------------------------------------------------------------
33113 
33114 static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";
33115 
33116 const complete::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
33117  kZoneNameAmerica_Louisville /*name*/,
33118  0x3dcb47ee /*zoneId*/,
33119  &kZoneContext /*zoneContext*/,
33120  9 /*numEras*/,
33121  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
33122  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
33123 };
33124 
33125 //---------------------------------------------------------------------------
33126 // Link name: America/Lower_Princes -> America/Puerto_Rico
33127 //---------------------------------------------------------------------------
33128 
33129 static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";
33130 
33131 const complete::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
33132  kZoneNameAmerica_Lower_Princes /*name*/,
33133  0x6ae45b62 /*zoneId*/,
33134  &kZoneContext /*zoneContext*/,
33135  4 /*numEras*/,
33136  kZoneEraAmerica_Puerto_Rico /*eras*/,
33137  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33138 };
33139 
33140 //---------------------------------------------------------------------------
33141 // Link name: America/Marigot -> America/Puerto_Rico
33142 //---------------------------------------------------------------------------
33143 
33144 static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";
33145 
33146 const complete::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
33147  kZoneNameAmerica_Marigot /*name*/,
33148  0x3dab3a59 /*zoneId*/,
33149  &kZoneContext /*zoneContext*/,
33150  4 /*numEras*/,
33151  kZoneEraAmerica_Puerto_Rico /*eras*/,
33152  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33153 };
33154 
33155 //---------------------------------------------------------------------------
33156 // Link name: America/Mendoza -> America/Argentina/Mendoza
33157 //---------------------------------------------------------------------------
33158 
33159 static const char kZoneNameAmerica_Mendoza[] ACE_TIME_PROGMEM = "\x02" "Mendoza";
33160 
33161 const complete::ZoneInfo kZoneAmerica_Mendoza ACE_TIME_PROGMEM = {
33162  kZoneNameAmerica_Mendoza /*name*/,
33163  0x46b4e054 /*zoneId*/,
33164  &kZoneContext /*zoneContext*/,
33165  16 /*numEras*/,
33166  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
33167  &kZoneAmerica_Argentina_Mendoza /*targetInfo*/,
33168 };
33169 
33170 //---------------------------------------------------------------------------
33171 // Link name: America/Montreal -> America/Toronto
33172 //---------------------------------------------------------------------------
33173 
33174 static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";
33175 
33176 const complete::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
33177  kZoneNameAmerica_Montreal /*name*/,
33178  0x203a1ea8 /*zoneId*/,
33179  &kZoneContext /*zoneContext*/,
33180  6 /*numEras*/,
33181  kZoneEraAmerica_Toronto /*eras*/,
33182  &kZoneAmerica_Toronto /*targetInfo*/,
33183 };
33184 
33185 //---------------------------------------------------------------------------
33186 // Link name: America/Montserrat -> America/Puerto_Rico
33187 //---------------------------------------------------------------------------
33188 
33189 static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";
33190 
33191 const complete::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
33192  kZoneNameAmerica_Montserrat /*name*/,
33193  0x199b0a35 /*zoneId*/,
33194  &kZoneContext /*zoneContext*/,
33195  4 /*numEras*/,
33196  kZoneEraAmerica_Puerto_Rico /*eras*/,
33197  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33198 };
33199 
33200 //---------------------------------------------------------------------------
33201 // Link name: America/Nassau -> America/Toronto
33202 //---------------------------------------------------------------------------
33203 
33204 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";
33205 
33206 const complete::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
33207  kZoneNameAmerica_Nassau /*name*/,
33208  0xaedef011 /*zoneId*/,
33209  &kZoneContext /*zoneContext*/,
33210  6 /*numEras*/,
33211  kZoneEraAmerica_Toronto /*eras*/,
33212  &kZoneAmerica_Toronto /*targetInfo*/,
33213 };
33214 
33215 //---------------------------------------------------------------------------
33216 // Link name: America/Nipigon -> America/Toronto
33217 //---------------------------------------------------------------------------
33218 
33219 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";
33220 
33221 const complete::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
33222  kZoneNameAmerica_Nipigon /*name*/,
33223  0x9d2a8b1a /*zoneId*/,
33224  &kZoneContext /*zoneContext*/,
33225  6 /*numEras*/,
33226  kZoneEraAmerica_Toronto /*eras*/,
33227  &kZoneAmerica_Toronto /*targetInfo*/,
33228 };
33229 
33230 //---------------------------------------------------------------------------
33231 // Link name: America/Pangnirtung -> America/Iqaluit
33232 //---------------------------------------------------------------------------
33233 
33234 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "\x02" "Pangnirtung";
33235 
33236 const complete::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
33237  kZoneNameAmerica_Pangnirtung /*name*/,
33238  0x2d999193 /*zoneId*/,
33239  &kZoneContext /*zoneContext*/,
33240  4 /*numEras*/,
33241  kZoneEraAmerica_Iqaluit /*eras*/,
33242  &kZoneAmerica_Iqaluit /*targetInfo*/,
33243 };
33244 
33245 //---------------------------------------------------------------------------
33246 // Link name: America/Port_of_Spain -> America/Puerto_Rico
33247 //---------------------------------------------------------------------------
33248 
33249 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";
33250 
33251 const complete::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
33252  kZoneNameAmerica_Port_of_Spain /*name*/,
33253  0xd8b28d59 /*zoneId*/,
33254  &kZoneContext /*zoneContext*/,
33255  4 /*numEras*/,
33256  kZoneEraAmerica_Puerto_Rico /*eras*/,
33257  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33258 };
33259 
33260 //---------------------------------------------------------------------------
33261 // Link name: America/Porto_Acre -> America/Rio_Branco
33262 //---------------------------------------------------------------------------
33263 
33264 static const char kZoneNameAmerica_Porto_Acre[] ACE_TIME_PROGMEM = "\x02" "Porto_Acre";
33265 
33266 const complete::ZoneInfo kZoneAmerica_Porto_Acre ACE_TIME_PROGMEM = {
33267  kZoneNameAmerica_Porto_Acre /*name*/,
33268  0xcce5bf54 /*zoneId*/,
33269  &kZoneContext /*zoneContext*/,
33270  5 /*numEras*/,
33271  kZoneEraAmerica_Rio_Branco /*eras*/,
33272  &kZoneAmerica_Rio_Branco /*targetInfo*/,
33273 };
33274 
33275 //---------------------------------------------------------------------------
33276 // Link name: America/Rainy_River -> America/Winnipeg
33277 //---------------------------------------------------------------------------
33278 
33279 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";
33280 
33281 const complete::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
33282  kZoneNameAmerica_Rainy_River /*name*/,
33283  0x9cd58a10 /*zoneId*/,
33284  &kZoneContext /*zoneContext*/,
33285  3 /*numEras*/,
33286  kZoneEraAmerica_Winnipeg /*eras*/,
33287  &kZoneAmerica_Winnipeg /*targetInfo*/,
33288 };
33289 
33290 //---------------------------------------------------------------------------
33291 // Link name: America/Rosario -> America/Argentina/Cordoba
33292 //---------------------------------------------------------------------------
33293 
33294 static const char kZoneNameAmerica_Rosario[] ACE_TIME_PROGMEM = "\x02" "Rosario";
33295 
33296 const complete::ZoneInfo kZoneAmerica_Rosario ACE_TIME_PROGMEM = {
33297  kZoneNameAmerica_Rosario /*name*/,
33298  0xdf448665 /*zoneId*/,
33299  &kZoneContext /*zoneContext*/,
33300  9 /*numEras*/,
33301  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33302  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33303 };
33304 
33305 //---------------------------------------------------------------------------
33306 // Link name: America/Santa_Isabel -> America/Tijuana
33307 //---------------------------------------------------------------------------
33308 
33309 static const char kZoneNameAmerica_Santa_Isabel[] ACE_TIME_PROGMEM = "\x02" "Santa_Isabel";
33310 
33311 const complete::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = {
33312  kZoneNameAmerica_Santa_Isabel /*name*/,
33313  0xfd18a56c /*zoneId*/,
33314  &kZoneContext /*zoneContext*/,
33315  25 /*numEras*/,
33316  kZoneEraAmerica_Tijuana /*eras*/,
33317  &kZoneAmerica_Tijuana /*targetInfo*/,
33318 };
33319 
33320 //---------------------------------------------------------------------------
33321 // Link name: America/Shiprock -> America/Denver
33322 //---------------------------------------------------------------------------
33323 
33324 static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";
33325 
33326 const complete::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
33327  kZoneNameAmerica_Shiprock /*name*/,
33328  0x82fb7049 /*zoneId*/,
33329  &kZoneContext /*zoneContext*/,
33330  6 /*numEras*/,
33331  kZoneEraAmerica_Denver /*eras*/,
33332  &kZoneAmerica_Denver /*targetInfo*/,
33333 };
33334 
33335 //---------------------------------------------------------------------------
33336 // Link name: America/St_Barthelemy -> America/Puerto_Rico
33337 //---------------------------------------------------------------------------
33338 
33339 static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";
33340 
33341 const complete::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
33342  kZoneNameAmerica_St_Barthelemy /*name*/,
33343  0x054e6a79 /*zoneId*/,
33344  &kZoneContext /*zoneContext*/,
33345  4 /*numEras*/,
33346  kZoneEraAmerica_Puerto_Rico /*eras*/,
33347  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33348 };
33349 
33350 //---------------------------------------------------------------------------
33351 // Link name: America/St_Kitts -> America/Puerto_Rico
33352 //---------------------------------------------------------------------------
33353 
33354 static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";
33355 
33356 const complete::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
33357  kZoneNameAmerica_St_Kitts /*name*/,
33358  0x04c0507b /*zoneId*/,
33359  &kZoneContext /*zoneContext*/,
33360  4 /*numEras*/,
33361  kZoneEraAmerica_Puerto_Rico /*eras*/,
33362  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33363 };
33364 
33365 //---------------------------------------------------------------------------
33366 // Link name: America/St_Lucia -> America/Puerto_Rico
33367 //---------------------------------------------------------------------------
33368 
33369 static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";
33370 
33371 const complete::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
33372  kZoneNameAmerica_St_Lucia /*name*/,
33373  0x04d8b3ba /*zoneId*/,
33374  &kZoneContext /*zoneContext*/,
33375  4 /*numEras*/,
33376  kZoneEraAmerica_Puerto_Rico /*eras*/,
33377  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33378 };
33379 
33380 //---------------------------------------------------------------------------
33381 // Link name: America/St_Thomas -> America/Puerto_Rico
33382 //---------------------------------------------------------------------------
33383 
33384 static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";
33385 
33386 const complete::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
33387  kZoneNameAmerica_St_Thomas /*name*/,
33388  0xb1b3d778 /*zoneId*/,
33389  &kZoneContext /*zoneContext*/,
33390  4 /*numEras*/,
33391  kZoneEraAmerica_Puerto_Rico /*eras*/,
33392  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33393 };
33394 
33395 //---------------------------------------------------------------------------
33396 // Link name: America/St_Vincent -> America/Puerto_Rico
33397 //---------------------------------------------------------------------------
33398 
33399 static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";
33400 
33401 const complete::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
33402  kZoneNameAmerica_St_Vincent /*name*/,
33403  0x8460e523 /*zoneId*/,
33404  &kZoneContext /*zoneContext*/,
33405  4 /*numEras*/,
33406  kZoneEraAmerica_Puerto_Rico /*eras*/,
33407  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33408 };
33409 
33410 //---------------------------------------------------------------------------
33411 // Link name: America/Thunder_Bay -> America/Toronto
33412 //---------------------------------------------------------------------------
33413 
33414 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";
33415 
33416 const complete::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
33417  kZoneNameAmerica_Thunder_Bay /*name*/,
33418  0xf962e71b /*zoneId*/,
33419  &kZoneContext /*zoneContext*/,
33420  6 /*numEras*/,
33421  kZoneEraAmerica_Toronto /*eras*/,
33422  &kZoneAmerica_Toronto /*targetInfo*/,
33423 };
33424 
33425 //---------------------------------------------------------------------------
33426 // Link name: America/Tortola -> America/Puerto_Rico
33427 //---------------------------------------------------------------------------
33428 
33429 static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";
33430 
33431 const complete::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
33432  kZoneNameAmerica_Tortola /*name*/,
33433  0x7931462b /*zoneId*/,
33434  &kZoneContext /*zoneContext*/,
33435  4 /*numEras*/,
33436  kZoneEraAmerica_Puerto_Rico /*eras*/,
33437  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33438 };
33439 
33440 //---------------------------------------------------------------------------
33441 // Link name: America/Virgin -> America/Puerto_Rico
33442 //---------------------------------------------------------------------------
33443 
33444 static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";
33445 
33446 const complete::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
33447  kZoneNameAmerica_Virgin /*name*/,
33448  0xc2183ab5 /*zoneId*/,
33449  &kZoneContext /*zoneContext*/,
33450  4 /*numEras*/,
33451  kZoneEraAmerica_Puerto_Rico /*eras*/,
33452  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33453 };
33454 
33455 //---------------------------------------------------------------------------
33456 // Link name: America/Yellowknife -> America/Edmonton
33457 //---------------------------------------------------------------------------
33458 
33459 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";
33460 
33461 const complete::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
33462  kZoneNameAmerica_Yellowknife /*name*/,
33463  0x0f76c76f /*zoneId*/,
33464  &kZoneContext /*zoneContext*/,
33465  3 /*numEras*/,
33466  kZoneEraAmerica_Edmonton /*eras*/,
33467  &kZoneAmerica_Edmonton /*targetInfo*/,
33468 };
33469 
33470 //---------------------------------------------------------------------------
33471 // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
33472 //---------------------------------------------------------------------------
33473 
33474 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";
33475 
33476 const complete::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
33477  kZoneNameAntarctica_DumontDUrville /*name*/,
33478  0x5a3c656c /*zoneId*/,
33479  &kZoneContext /*zoneContext*/,
33480  3 /*numEras*/,
33481  kZoneEraPacific_Port_Moresby /*eras*/,
33482  &kZonePacific_Port_Moresby /*targetInfo*/,
33483 };
33484 
33485 //---------------------------------------------------------------------------
33486 // Link name: Antarctica/McMurdo -> Pacific/Auckland
33487 //---------------------------------------------------------------------------
33488 
33489 static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";
33490 
33491 const complete::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
33492  kZoneNameAntarctica_McMurdo /*name*/,
33493  0x6eeb5585 /*zoneId*/,
33494  &kZoneContext /*zoneContext*/,
33495  3 /*numEras*/,
33496  kZoneEraPacific_Auckland /*eras*/,
33497  &kZonePacific_Auckland /*targetInfo*/,
33498 };
33499 
33500 //---------------------------------------------------------------------------
33501 // Link name: Antarctica/South_Pole -> Pacific/Auckland
33502 //---------------------------------------------------------------------------
33503 
33504 static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";
33505 
33506 const complete::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
33507  kZoneNameAntarctica_South_Pole /*name*/,
33508  0xcd96b290 /*zoneId*/,
33509  &kZoneContext /*zoneContext*/,
33510  3 /*numEras*/,
33511  kZoneEraPacific_Auckland /*eras*/,
33512  &kZonePacific_Auckland /*targetInfo*/,
33513 };
33514 
33515 //---------------------------------------------------------------------------
33516 // Link name: Antarctica/Syowa -> Asia/Riyadh
33517 //---------------------------------------------------------------------------
33518 
33519 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";
33520 
33521 const complete::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
33522  kZoneNameAntarctica_Syowa /*name*/,
33523  0xe330c7e1 /*zoneId*/,
33524  &kZoneContext /*zoneContext*/,
33525  2 /*numEras*/,
33526  kZoneEraAsia_Riyadh /*eras*/,
33527  &kZoneAsia_Riyadh /*targetInfo*/,
33528 };
33529 
33530 //---------------------------------------------------------------------------
33531 // Link name: Arctic/Longyearbyen -> Europe/Berlin
33532 //---------------------------------------------------------------------------
33533 
33534 static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";
33535 
33536 const complete::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
33537  kZoneNameArctic_Longyearbyen /*name*/,
33538  0xd23e7859 /*zoneId*/,
33539  &kZoneContext /*zoneContext*/,
33540  5 /*numEras*/,
33541  kZoneEraEurope_Berlin /*eras*/,
33542  &kZoneEurope_Berlin /*targetInfo*/,
33543 };
33544 
33545 //---------------------------------------------------------------------------
33546 // Link name: Asia/Aden -> Asia/Riyadh
33547 //---------------------------------------------------------------------------
33548 
33549 static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x05" "Aden";
33550 
33551 const complete::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
33552  kZoneNameAsia_Aden /*name*/,
33553  0x1fa7084a /*zoneId*/,
33554  &kZoneContext /*zoneContext*/,
33555  2 /*numEras*/,
33556  kZoneEraAsia_Riyadh /*eras*/,
33557  &kZoneAsia_Riyadh /*targetInfo*/,
33558 };
33559 
33560 //---------------------------------------------------------------------------
33561 // Link name: Asia/Ashkhabad -> Asia/Ashgabat
33562 //---------------------------------------------------------------------------
33563 
33564 static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x05" "Ashkhabad";
33565 
33566 const complete::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
33567  kZoneNameAsia_Ashkhabad /*name*/,
33568  0x15454f09 /*zoneId*/,
33569  &kZoneContext /*zoneContext*/,
33570  5 /*numEras*/,
33571  kZoneEraAsia_Ashgabat /*eras*/,
33572  &kZoneAsia_Ashgabat /*targetInfo*/,
33573 };
33574 
33575 //---------------------------------------------------------------------------
33576 // Link name: Asia/Bahrain -> Asia/Qatar
33577 //---------------------------------------------------------------------------
33578 
33579 static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x05" "Bahrain";
33580 
33581 const complete::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
33582  kZoneNameAsia_Bahrain /*name*/,
33583  0x9d078487 /*zoneId*/,
33584  &kZoneContext /*zoneContext*/,
33585  3 /*numEras*/,
33586  kZoneEraAsia_Qatar /*eras*/,
33587  &kZoneAsia_Qatar /*targetInfo*/,
33588 };
33589 
33590 //---------------------------------------------------------------------------
33591 // Link name: Asia/Brunei -> Asia/Kuching
33592 //---------------------------------------------------------------------------
33593 
33594 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x05" "Brunei";
33595 
33596 const complete::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
33597  kZoneNameAsia_Brunei /*name*/,
33598  0xa8e595f7 /*zoneId*/,
33599  &kZoneContext /*zoneContext*/,
33600  5 /*numEras*/,
33601  kZoneEraAsia_Kuching /*eras*/,
33602  &kZoneAsia_Kuching /*targetInfo*/,
33603 };
33604 
33605 //---------------------------------------------------------------------------
33606 // Link name: Asia/Calcutta -> Asia/Kolkata
33607 //---------------------------------------------------------------------------
33608 
33609 static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x05" "Calcutta";
33610 
33611 const complete::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
33612  kZoneNameAsia_Calcutta /*name*/,
33613  0x328a44c3 /*zoneId*/,
33614  &kZoneContext /*zoneContext*/,
33615  8 /*numEras*/,
33616  kZoneEraAsia_Kolkata /*eras*/,
33617  &kZoneAsia_Kolkata /*targetInfo*/,
33618 };
33619 
33620 //---------------------------------------------------------------------------
33621 // Link name: Asia/Choibalsan -> Asia/Ulaanbaatar
33622 //---------------------------------------------------------------------------
33623 
33624 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan";
33625 
33626 const complete::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
33627  kZoneNameAsia_Choibalsan /*name*/,
33628  0x928aa4a6 /*zoneId*/,
33629  &kZoneContext /*zoneContext*/,
33630  3 /*numEras*/,
33631  kZoneEraAsia_Ulaanbaatar /*eras*/,
33632  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
33633 };
33634 
33635 //---------------------------------------------------------------------------
33636 // Link name: Asia/Chongqing -> Asia/Shanghai
33637 //---------------------------------------------------------------------------
33638 
33639 static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x05" "Chongqing";
33640 
33641 const complete::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
33642  kZoneNameAsia_Chongqing /*name*/,
33643  0xf937fb90 /*zoneId*/,
33644  &kZoneContext /*zoneContext*/,
33645  3 /*numEras*/,
33646  kZoneEraAsia_Shanghai /*eras*/,
33647  &kZoneAsia_Shanghai /*targetInfo*/,
33648 };
33649 
33650 //---------------------------------------------------------------------------
33651 // Link name: Asia/Chungking -> Asia/Shanghai
33652 //---------------------------------------------------------------------------
33653 
33654 static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x05" "Chungking";
33655 
33656 const complete::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
33657  kZoneNameAsia_Chungking /*name*/,
33658  0xc7121dd0 /*zoneId*/,
33659  &kZoneContext /*zoneContext*/,
33660  3 /*numEras*/,
33661  kZoneEraAsia_Shanghai /*eras*/,
33662  &kZoneAsia_Shanghai /*targetInfo*/,
33663 };
33664 
33665 //---------------------------------------------------------------------------
33666 // Link name: Asia/Dacca -> Asia/Dhaka
33667 //---------------------------------------------------------------------------
33668 
33669 static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x05" "Dacca";
33670 
33671 const complete::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
33672  kZoneNameAsia_Dacca /*name*/,
33673  0x14bcac5e /*zoneId*/,
33674  &kZoneContext /*zoneContext*/,
33675  7 /*numEras*/,
33676  kZoneEraAsia_Dhaka /*eras*/,
33677  &kZoneAsia_Dhaka /*targetInfo*/,
33678 };
33679 
33680 //---------------------------------------------------------------------------
33681 // Link name: Asia/Harbin -> Asia/Shanghai
33682 //---------------------------------------------------------------------------
33683 
33684 static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x05" "Harbin";
33685 
33686 const complete::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
33687  kZoneNameAsia_Harbin /*name*/,
33688  0xb5af1186 /*zoneId*/,
33689  &kZoneContext /*zoneContext*/,
33690  3 /*numEras*/,
33691  kZoneEraAsia_Shanghai /*eras*/,
33692  &kZoneAsia_Shanghai /*targetInfo*/,
33693 };
33694 
33695 //---------------------------------------------------------------------------
33696 // Link name: Asia/Istanbul -> Europe/Istanbul
33697 //---------------------------------------------------------------------------
33698 
33699 static const char kZoneNameAsia_Istanbul[] ACE_TIME_PROGMEM = "\x05" "Istanbul";
33700 
33701 const complete::ZoneInfo kZoneAsia_Istanbul ACE_TIME_PROGMEM = {
33702  kZoneNameAsia_Istanbul /*name*/,
33703  0x382e7894 /*zoneId*/,
33704  &kZoneContext /*zoneContext*/,
33705  13 /*numEras*/,
33706  kZoneEraEurope_Istanbul /*eras*/,
33707  &kZoneEurope_Istanbul /*targetInfo*/,
33708 };
33709 
33710 //---------------------------------------------------------------------------
33711 // Link name: Asia/Kashgar -> Asia/Urumqi
33712 //---------------------------------------------------------------------------
33713 
33714 static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x05" "Kashgar";
33715 
33716 const complete::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
33717  kZoneNameAsia_Kashgar /*name*/,
33718  0x52955193 /*zoneId*/,
33719  &kZoneContext /*zoneContext*/,
33720  2 /*numEras*/,
33721  kZoneEraAsia_Urumqi /*eras*/,
33722  &kZoneAsia_Urumqi /*targetInfo*/,
33723 };
33724 
33725 //---------------------------------------------------------------------------
33726 // Link name: Asia/Katmandu -> Asia/Kathmandu
33727 //---------------------------------------------------------------------------
33728 
33729 static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x05" "Katmandu";
33730 
33731 const complete::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
33732  kZoneNameAsia_Katmandu /*name*/,
33733  0xa7ec12c7 /*zoneId*/,
33734  &kZoneContext /*zoneContext*/,
33735  3 /*numEras*/,
33736  kZoneEraAsia_Kathmandu /*eras*/,
33737  &kZoneAsia_Kathmandu /*targetInfo*/,
33738 };
33739 
33740 //---------------------------------------------------------------------------
33741 // Link name: Asia/Kuala_Lumpur -> Asia/Singapore
33742 //---------------------------------------------------------------------------
33743 
33744 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x05" "Kuala_Lumpur";
33745 
33746 const complete::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
33747  kZoneNameAsia_Kuala_Lumpur /*name*/,
33748  0x014763c4 /*zoneId*/,
33749  &kZoneContext /*zoneContext*/,
33750  9 /*numEras*/,
33751  kZoneEraAsia_Singapore /*eras*/,
33752  &kZoneAsia_Singapore /*targetInfo*/,
33753 };
33754 
33755 //---------------------------------------------------------------------------
33756 // Link name: Asia/Kuwait -> Asia/Riyadh
33757 //---------------------------------------------------------------------------
33758 
33759 static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x05" "Kuwait";
33760 
33761 const complete::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
33762  kZoneNameAsia_Kuwait /*name*/,
33763  0xbe1b2f27 /*zoneId*/,
33764  &kZoneContext /*zoneContext*/,
33765  2 /*numEras*/,
33766  kZoneEraAsia_Riyadh /*eras*/,
33767  &kZoneAsia_Riyadh /*targetInfo*/,
33768 };
33769 
33770 //---------------------------------------------------------------------------
33771 // Link name: Asia/Macao -> Asia/Macau
33772 //---------------------------------------------------------------------------
33773 
33774 static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x05" "Macao";
33775 
33776 const complete::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
33777  kZoneNameAsia_Macao /*name*/,
33778  0x155f88b3 /*zoneId*/,
33779  &kZoneContext /*zoneContext*/,
33780  4 /*numEras*/,
33781  kZoneEraAsia_Macau /*eras*/,
33782  &kZoneAsia_Macau /*targetInfo*/,
33783 };
33784 
33785 //---------------------------------------------------------------------------
33786 // Link name: Asia/Muscat -> Asia/Dubai
33787 //---------------------------------------------------------------------------
33788 
33789 static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x05" "Muscat";
33790 
33791 const complete::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
33792  kZoneNameAsia_Muscat /*name*/,
33793  0xc2c3565f /*zoneId*/,
33794  &kZoneContext /*zoneContext*/,
33795  2 /*numEras*/,
33796  kZoneEraAsia_Dubai /*eras*/,
33797  &kZoneAsia_Dubai /*targetInfo*/,
33798 };
33799 
33800 //---------------------------------------------------------------------------
33801 // Link name: Asia/Phnom_Penh -> Asia/Bangkok
33802 //---------------------------------------------------------------------------
33803 
33804 static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x05" "Phnom_Penh";
33805 
33806 const complete::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
33807  kZoneNameAsia_Phnom_Penh /*name*/,
33808  0xc224945e /*zoneId*/,
33809  &kZoneContext /*zoneContext*/,
33810  3 /*numEras*/,
33811  kZoneEraAsia_Bangkok /*eras*/,
33812  &kZoneAsia_Bangkok /*targetInfo*/,
33813 };
33814 
33815 //---------------------------------------------------------------------------
33816 // Link name: Asia/Rangoon -> Asia/Yangon
33817 //---------------------------------------------------------------------------
33818 
33819 static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x05" "Rangoon";
33820 
33821 const complete::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
33822  kZoneNameAsia_Rangoon /*name*/,
33823  0x6d1217c6 /*zoneId*/,
33824  &kZoneContext /*zoneContext*/,
33825  5 /*numEras*/,
33826  kZoneEraAsia_Yangon /*eras*/,
33827  &kZoneAsia_Yangon /*targetInfo*/,
33828 };
33829 
33830 //---------------------------------------------------------------------------
33831 // Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
33832 //---------------------------------------------------------------------------
33833 
33834 static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x05" "Saigon";
33835 
33836 const complete::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
33837  kZoneNameAsia_Saigon /*name*/,
33838  0xcf52f713 /*zoneId*/,
33839  &kZoneContext /*zoneContext*/,
33840  10 /*numEras*/,
33841  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
33842  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
33843 };
33844 
33845 //---------------------------------------------------------------------------
33846 // Link name: Asia/Tel_Aviv -> Asia/Jerusalem
33847 //---------------------------------------------------------------------------
33848 
33849 static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x05" "Tel_Aviv";
33850 
33851 const complete::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
33852  kZoneNameAsia_Tel_Aviv /*name*/,
33853  0x166d7c2c /*zoneId*/,
33854  &kZoneContext /*zoneContext*/,
33855  3 /*numEras*/,
33856  kZoneEraAsia_Jerusalem /*eras*/,
33857  &kZoneAsia_Jerusalem /*targetInfo*/,
33858 };
33859 
33860 //---------------------------------------------------------------------------
33861 // Link name: Asia/Thimbu -> Asia/Thimphu
33862 //---------------------------------------------------------------------------
33863 
33864 static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x05" "Thimbu";
33865 
33866 const complete::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
33867  kZoneNameAsia_Thimbu /*name*/,
33868  0xd226e31b /*zoneId*/,
33869  &kZoneContext /*zoneContext*/,
33870  3 /*numEras*/,
33871  kZoneEraAsia_Thimphu /*eras*/,
33872  &kZoneAsia_Thimphu /*targetInfo*/,
33873 };
33874 
33875 //---------------------------------------------------------------------------
33876 // Link name: Asia/Ujung_Pandang -> Asia/Makassar
33877 //---------------------------------------------------------------------------
33878 
33879 static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x05" "Ujung_Pandang";
33880 
33881 const complete::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
33882  kZoneNameAsia_Ujung_Pandang /*name*/,
33883  0x5d001eb3 /*zoneId*/,
33884  &kZoneContext /*zoneContext*/,
33885  5 /*numEras*/,
33886  kZoneEraAsia_Makassar /*eras*/,
33887  &kZoneAsia_Makassar /*targetInfo*/,
33888 };
33889 
33890 //---------------------------------------------------------------------------
33891 // Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
33892 //---------------------------------------------------------------------------
33893 
33894 static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x05" "Ulan_Bator";
33895 
33896 const complete::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
33897  kZoneNameAsia_Ulan_Bator /*name*/,
33898  0x394db4d9 /*zoneId*/,
33899  &kZoneContext /*zoneContext*/,
33900  3 /*numEras*/,
33901  kZoneEraAsia_Ulaanbaatar /*eras*/,
33902  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
33903 };
33904 
33905 //---------------------------------------------------------------------------
33906 // Link name: Asia/Vientiane -> Asia/Bangkok
33907 //---------------------------------------------------------------------------
33908 
33909 static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x05" "Vientiane";
33910 
33911 const complete::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
33912  kZoneNameAsia_Vientiane /*name*/,
33913  0x89d68d75 /*zoneId*/,
33914  &kZoneContext /*zoneContext*/,
33915  3 /*numEras*/,
33916  kZoneEraAsia_Bangkok /*eras*/,
33917  &kZoneAsia_Bangkok /*targetInfo*/,
33918 };
33919 
33920 //---------------------------------------------------------------------------
33921 // Link name: Atlantic/Faeroe -> Atlantic/Faroe
33922 //---------------------------------------------------------------------------
33923 
33924 static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x06" "Faeroe";
33925 
33926 const complete::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
33927  kZoneNameAtlantic_Faeroe /*name*/,
33928  0x031ec516 /*zoneId*/,
33929  &kZoneContext /*zoneContext*/,
33930  3 /*numEras*/,
33931  kZoneEraAtlantic_Faroe /*eras*/,
33932  &kZoneAtlantic_Faroe /*targetInfo*/,
33933 };
33934 
33935 //---------------------------------------------------------------------------
33936 // Link name: Atlantic/Jan_Mayen -> Europe/Berlin
33937 //---------------------------------------------------------------------------
33938 
33939 static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x06" "Jan_Mayen";
33940 
33941 const complete::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
33942  kZoneNameAtlantic_Jan_Mayen /*name*/,
33943  0x5a7535b6 /*zoneId*/,
33944  &kZoneContext /*zoneContext*/,
33945  5 /*numEras*/,
33946  kZoneEraEurope_Berlin /*eras*/,
33947  &kZoneEurope_Berlin /*targetInfo*/,
33948 };
33949 
33950 //---------------------------------------------------------------------------
33951 // Link name: Atlantic/Reykjavik -> Africa/Abidjan
33952 //---------------------------------------------------------------------------
33953 
33954 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x06" "Reykjavik";
33955 
33956 const complete::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
33957  kZoneNameAtlantic_Reykjavik /*name*/,
33958  0x1c2b4f74 /*zoneId*/,
33959  &kZoneContext /*zoneContext*/,
33960  2 /*numEras*/,
33961  kZoneEraAfrica_Abidjan /*eras*/,
33962  &kZoneAfrica_Abidjan /*targetInfo*/,
33963 };
33964 
33965 //---------------------------------------------------------------------------
33966 // Link name: Atlantic/St_Helena -> Africa/Abidjan
33967 //---------------------------------------------------------------------------
33968 
33969 static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x06" "St_Helena";
33970 
33971 const complete::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
33972  kZoneNameAtlantic_St_Helena /*name*/,
33973  0x451fc5f7 /*zoneId*/,
33974  &kZoneContext /*zoneContext*/,
33975  2 /*numEras*/,
33976  kZoneEraAfrica_Abidjan /*eras*/,
33977  &kZoneAfrica_Abidjan /*targetInfo*/,
33978 };
33979 
33980 //---------------------------------------------------------------------------
33981 // Link name: Australia/ACT -> Australia/Sydney
33982 //---------------------------------------------------------------------------
33983 
33984 static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x07" "ACT";
33985 
33986 const complete::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
33987  kZoneNameAustralia_ACT /*name*/,
33988  0x8a970eb2 /*zoneId*/,
33989  &kZoneContext /*zoneContext*/,
33990  3 /*numEras*/,
33991  kZoneEraAustralia_Sydney /*eras*/,
33992  &kZoneAustralia_Sydney /*targetInfo*/,
33993 };
33994 
33995 //---------------------------------------------------------------------------
33996 // Link name: Australia/Canberra -> Australia/Sydney
33997 //---------------------------------------------------------------------------
33998 
33999 static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x07" "Canberra";
34000 
34001 const complete::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
34002  kZoneNameAustralia_Canberra /*name*/,
34003  0x2a09ae58 /*zoneId*/,
34004  &kZoneContext /*zoneContext*/,
34005  3 /*numEras*/,
34006  kZoneEraAustralia_Sydney /*eras*/,
34007  &kZoneAustralia_Sydney /*targetInfo*/,
34008 };
34009 
34010 //---------------------------------------------------------------------------
34011 // Link name: Australia/Currie -> Australia/Hobart
34012 //---------------------------------------------------------------------------
34013 
34014 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x07" "Currie";
34015 
34016 const complete::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
34017  kZoneNameAustralia_Currie /*name*/,
34018  0x278b6a24 /*zoneId*/,
34019  &kZoneContext /*zoneContext*/,
34020  4 /*numEras*/,
34021  kZoneEraAustralia_Hobart /*eras*/,
34022  &kZoneAustralia_Hobart /*targetInfo*/,
34023 };
34024 
34025 //---------------------------------------------------------------------------
34026 // Link name: Australia/LHI -> Australia/Lord_Howe
34027 //---------------------------------------------------------------------------
34028 
34029 static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x07" "LHI";
34030 
34031 const complete::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
34032  kZoneNameAustralia_LHI /*name*/,
34033  0x8a973e17 /*zoneId*/,
34034  &kZoneContext /*zoneContext*/,
34035  4 /*numEras*/,
34036  kZoneEraAustralia_Lord_Howe /*eras*/,
34037  &kZoneAustralia_Lord_Howe /*targetInfo*/,
34038 };
34039 
34040 //---------------------------------------------------------------------------
34041 // Link name: Australia/NSW -> Australia/Sydney
34042 //---------------------------------------------------------------------------
34043 
34044 static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x07" "NSW";
34045 
34046 const complete::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
34047  kZoneNameAustralia_NSW /*name*/,
34048  0x8a974812 /*zoneId*/,
34049  &kZoneContext /*zoneContext*/,
34050  3 /*numEras*/,
34051  kZoneEraAustralia_Sydney /*eras*/,
34052  &kZoneAustralia_Sydney /*targetInfo*/,
34053 };
34054 
34055 //---------------------------------------------------------------------------
34056 // Link name: Australia/North -> Australia/Darwin
34057 //---------------------------------------------------------------------------
34058 
34059 static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x07" "North";
34060 
34061 const complete::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
34062  kZoneNameAustralia_North /*name*/,
34063  0x8d997165 /*zoneId*/,
34064  &kZoneContext /*zoneContext*/,
34065  3 /*numEras*/,
34066  kZoneEraAustralia_Darwin /*eras*/,
34067  &kZoneAustralia_Darwin /*targetInfo*/,
34068 };
34069 
34070 //---------------------------------------------------------------------------
34071 // Link name: Australia/Queensland -> Australia/Brisbane
34072 //---------------------------------------------------------------------------
34073 
34074 static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x07" "Queensland";
34075 
34076 const complete::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
34077  kZoneNameAustralia_Queensland /*name*/,
34078  0xd326ed0a /*zoneId*/,
34079  &kZoneContext /*zoneContext*/,
34080  3 /*numEras*/,
34081  kZoneEraAustralia_Brisbane /*eras*/,
34082  &kZoneAustralia_Brisbane /*targetInfo*/,
34083 };
34084 
34085 //---------------------------------------------------------------------------
34086 // Link name: Australia/South -> Australia/Adelaide
34087 //---------------------------------------------------------------------------
34088 
34089 static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x07" "South";
34090 
34091 const complete::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
34092  kZoneNameAustralia_South /*name*/,
34093  0x8df3f8ad /*zoneId*/,
34094  &kZoneContext /*zoneContext*/,
34095  4 /*numEras*/,
34096  kZoneEraAustralia_Adelaide /*eras*/,
34097  &kZoneAustralia_Adelaide /*targetInfo*/,
34098 };
34099 
34100 //---------------------------------------------------------------------------
34101 // Link name: Australia/Tasmania -> Australia/Hobart
34102 //---------------------------------------------------------------------------
34103 
34104 static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x07" "Tasmania";
34105 
34106 const complete::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
34107  kZoneNameAustralia_Tasmania /*name*/,
34108  0xe6d76648 /*zoneId*/,
34109  &kZoneContext /*zoneContext*/,
34110  4 /*numEras*/,
34111  kZoneEraAustralia_Hobart /*eras*/,
34112  &kZoneAustralia_Hobart /*targetInfo*/,
34113 };
34114 
34115 //---------------------------------------------------------------------------
34116 // Link name: Australia/Victoria -> Australia/Melbourne
34117 //---------------------------------------------------------------------------
34118 
34119 static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x07" "Victoria";
34120 
34121 const complete::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
34122  kZoneNameAustralia_Victoria /*name*/,
34123  0x0260d5db /*zoneId*/,
34124  &kZoneContext /*zoneContext*/,
34125  3 /*numEras*/,
34126  kZoneEraAustralia_Melbourne /*eras*/,
34127  &kZoneAustralia_Melbourne /*targetInfo*/,
34128 };
34129 
34130 //---------------------------------------------------------------------------
34131 // Link name: Australia/West -> Australia/Perth
34132 //---------------------------------------------------------------------------
34133 
34134 static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x07" "West";
34135 
34136 const complete::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
34137  kZoneNameAustralia_West /*name*/,
34138  0xdd858a5d /*zoneId*/,
34139  &kZoneContext /*zoneContext*/,
34140  3 /*numEras*/,
34141  kZoneEraAustralia_Perth /*eras*/,
34142  &kZoneAustralia_Perth /*targetInfo*/,
34143 };
34144 
34145 //---------------------------------------------------------------------------
34146 // Link name: Australia/Yancowinna -> Australia/Broken_Hill
34147 //---------------------------------------------------------------------------
34148 
34149 static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x07" "Yancowinna";
34150 
34151 const complete::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
34152  kZoneNameAustralia_Yancowinna /*name*/,
34153  0x90bac131 /*zoneId*/,
34154  &kZoneContext /*zoneContext*/,
34155  6 /*numEras*/,
34156  kZoneEraAustralia_Broken_Hill /*eras*/,
34157  &kZoneAustralia_Broken_Hill /*targetInfo*/,
34158 };
34159 
34160 //---------------------------------------------------------------------------
34161 // Link name: Brazil/Acre -> America/Rio_Branco
34162 //---------------------------------------------------------------------------
34163 
34164 static const char kZoneNameBrazil_Acre[] ACE_TIME_PROGMEM = "\x08" "Acre";
34165 
34166 const complete::ZoneInfo kZoneBrazil_Acre ACE_TIME_PROGMEM = {
34167  kZoneNameBrazil_Acre /*name*/,
34168  0x66934f93 /*zoneId*/,
34169  &kZoneContext /*zoneContext*/,
34170  5 /*numEras*/,
34171  kZoneEraAmerica_Rio_Branco /*eras*/,
34172  &kZoneAmerica_Rio_Branco /*targetInfo*/,
34173 };
34174 
34175 //---------------------------------------------------------------------------
34176 // Link name: Brazil/DeNoronha -> America/Noronha
34177 //---------------------------------------------------------------------------
34178 
34179 static const char kZoneNameBrazil_DeNoronha[] ACE_TIME_PROGMEM = "\x08" "DeNoronha";
34180 
34181 const complete::ZoneInfo kZoneBrazil_DeNoronha ACE_TIME_PROGMEM = {
34182  kZoneNameBrazil_DeNoronha /*name*/,
34183  0x9b4cb496 /*zoneId*/,
34184  &kZoneContext /*zoneContext*/,
34185  7 /*numEras*/,
34186  kZoneEraAmerica_Noronha /*eras*/,
34187  &kZoneAmerica_Noronha /*targetInfo*/,
34188 };
34189 
34190 //---------------------------------------------------------------------------
34191 // Link name: Brazil/East -> America/Sao_Paulo
34192 //---------------------------------------------------------------------------
34193 
34194 static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "\x08" "East";
34195 
34196 const complete::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
34197  kZoneNameBrazil_East /*name*/,
34198  0x669578c5 /*zoneId*/,
34199  &kZoneContext /*zoneContext*/,
34200  4 /*numEras*/,
34201  kZoneEraAmerica_Sao_Paulo /*eras*/,
34202  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
34203 };
34204 
34205 //---------------------------------------------------------------------------
34206 // Link name: Brazil/West -> America/Manaus
34207 //---------------------------------------------------------------------------
34208 
34209 static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "\x08" "West";
34210 
34211 const complete::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
34212  kZoneNameBrazil_West /*name*/,
34213  0x669f689b /*zoneId*/,
34214  &kZoneContext /*zoneContext*/,
34215  5 /*numEras*/,
34216  kZoneEraAmerica_Manaus /*eras*/,
34217  &kZoneAmerica_Manaus /*targetInfo*/,
34218 };
34219 
34220 //---------------------------------------------------------------------------
34221 // Link name: CET -> Europe/Brussels
34222 //---------------------------------------------------------------------------
34223 
34224 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
34225 
34226 const complete::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
34227  kZoneNameCET /*name*/,
34228  0x0b87d921 /*zoneId*/,
34229  &kZoneContext /*zoneContext*/,
34230  9 /*numEras*/,
34231  kZoneEraEurope_Brussels /*eras*/,
34232  &kZoneEurope_Brussels /*targetInfo*/,
34233 };
34234 
34235 //---------------------------------------------------------------------------
34236 // Link name: CST6CDT -> America/Chicago
34237 //---------------------------------------------------------------------------
34238 
34239 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
34240 
34241 const complete::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
34242  kZoneNameCST6CDT /*name*/,
34243  0xf0e87d00 /*zoneId*/,
34244  &kZoneContext /*zoneContext*/,
34245  8 /*numEras*/,
34246  kZoneEraAmerica_Chicago /*eras*/,
34247  &kZoneAmerica_Chicago /*targetInfo*/,
34248 };
34249 
34250 //---------------------------------------------------------------------------
34251 // Link name: Canada/Atlantic -> America/Halifax
34252 //---------------------------------------------------------------------------
34253 
34254 static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x09" "Atlantic";
34255 
34256 const complete::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
34257  kZoneNameCanada_Atlantic /*name*/,
34258  0x536b119c /*zoneId*/,
34259  &kZoneContext /*zoneContext*/,
34260  7 /*numEras*/,
34261  kZoneEraAmerica_Halifax /*eras*/,
34262  &kZoneAmerica_Halifax /*targetInfo*/,
34263 };
34264 
34265 //---------------------------------------------------------------------------
34266 // Link name: Canada/Central -> America/Winnipeg
34267 //---------------------------------------------------------------------------
34268 
34269 static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x09" "Central";
34270 
34271 const complete::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
34272  kZoneNameCanada_Central /*name*/,
34273  0x626710f5 /*zoneId*/,
34274  &kZoneContext /*zoneContext*/,
34275  3 /*numEras*/,
34276  kZoneEraAmerica_Winnipeg /*eras*/,
34277  &kZoneAmerica_Winnipeg /*targetInfo*/,
34278 };
34279 
34280 //---------------------------------------------------------------------------
34281 // Link name: Canada/Eastern -> America/Toronto
34282 //---------------------------------------------------------------------------
34283 
34284 static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x09" "Eastern";
34285 
34286 const complete::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
34287  kZoneNameCanada_Eastern /*name*/,
34288  0xf3612d5e /*zoneId*/,
34289  &kZoneContext /*zoneContext*/,
34290  6 /*numEras*/,
34291  kZoneEraAmerica_Toronto /*eras*/,
34292  &kZoneAmerica_Toronto /*targetInfo*/,
34293 };
34294 
34295 //---------------------------------------------------------------------------
34296 // Link name: Canada/Mountain -> America/Edmonton
34297 //---------------------------------------------------------------------------
34298 
34299 static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x09" "Mountain";
34300 
34301 const complete::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
34302  kZoneNameCanada_Mountain /*name*/,
34303  0xfb8a8217 /*zoneId*/,
34304  &kZoneContext /*zoneContext*/,
34305  3 /*numEras*/,
34306  kZoneEraAmerica_Edmonton /*eras*/,
34307  &kZoneAmerica_Edmonton /*targetInfo*/,
34308 };
34309 
34310 //---------------------------------------------------------------------------
34311 // Link name: Canada/Newfoundland -> America/St_Johns
34312 //---------------------------------------------------------------------------
34313 
34314 static const char kZoneNameCanada_Newfoundland[] ACE_TIME_PROGMEM = "\x09" "Newfoundland";
34315 
34316 const complete::ZoneInfo kZoneCanada_Newfoundland ACE_TIME_PROGMEM = {
34317  kZoneNameCanada_Newfoundland /*name*/,
34318  0xb396e991 /*zoneId*/,
34319  &kZoneContext /*zoneContext*/,
34320  8 /*numEras*/,
34321  kZoneEraAmerica_St_Johns /*eras*/,
34322  &kZoneAmerica_St_Johns /*targetInfo*/,
34323 };
34324 
34325 //---------------------------------------------------------------------------
34326 // Link name: Canada/Pacific -> America/Vancouver
34327 //---------------------------------------------------------------------------
34328 
34329 static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x09" "Pacific";
34330 
34331 const complete::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
34332  kZoneNameCanada_Pacific /*name*/,
34333  0x40fa3c7b /*zoneId*/,
34334  &kZoneContext /*zoneContext*/,
34335  3 /*numEras*/,
34336  kZoneEraAmerica_Vancouver /*eras*/,
34337  &kZoneAmerica_Vancouver /*targetInfo*/,
34338 };
34339 
34340 //---------------------------------------------------------------------------
34341 // Link name: Canada/Saskatchewan -> America/Regina
34342 //---------------------------------------------------------------------------
34343 
34344 static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x09" "Saskatchewan";
34345 
34346 const complete::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
34347  kZoneNameCanada_Saskatchewan /*name*/,
34348  0x77311f49 /*zoneId*/,
34349  &kZoneContext /*zoneContext*/,
34350  3 /*numEras*/,
34351  kZoneEraAmerica_Regina /*eras*/,
34352  &kZoneAmerica_Regina /*targetInfo*/,
34353 };
34354 
34355 //---------------------------------------------------------------------------
34356 // Link name: Canada/Yukon -> America/Whitehorse
34357 //---------------------------------------------------------------------------
34358 
34359 static const char kZoneNameCanada_Yukon[] ACE_TIME_PROGMEM = "\x09" "Yukon";
34360 
34361 const complete::ZoneInfo kZoneCanada_Yukon ACE_TIME_PROGMEM = {
34362  kZoneNameCanada_Yukon /*name*/,
34363  0x78dd35c2 /*zoneId*/,
34364  &kZoneContext /*zoneContext*/,
34365  6 /*numEras*/,
34366  kZoneEraAmerica_Whitehorse /*eras*/,
34367  &kZoneAmerica_Whitehorse /*targetInfo*/,
34368 };
34369 
34370 //---------------------------------------------------------------------------
34371 // Link name: Chile/Continental -> America/Santiago
34372 //---------------------------------------------------------------------------
34373 
34374 static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";
34375 
34376 const complete::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
34377  kZoneNameChile_Continental /*name*/,
34378  0x7e2bdb18 /*zoneId*/,
34379  &kZoneContext /*zoneContext*/,
34380  14 /*numEras*/,
34381  kZoneEraAmerica_Santiago /*eras*/,
34382  &kZoneAmerica_Santiago /*targetInfo*/,
34383 };
34384 
34385 //---------------------------------------------------------------------------
34386 // Link name: Chile/EasterIsland -> Pacific/Easter
34387 //---------------------------------------------------------------------------
34388 
34389 static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";
34390 
34391 const complete::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
34392  kZoneNameChile_EasterIsland /*name*/,
34393  0xb0982af8 /*zoneId*/,
34394  &kZoneContext /*zoneContext*/,
34395  4 /*numEras*/,
34396  kZoneEraPacific_Easter /*eras*/,
34397  &kZonePacific_Easter /*targetInfo*/,
34398 };
34399 
34400 //---------------------------------------------------------------------------
34401 // Link name: Cuba -> America/Havana
34402 //---------------------------------------------------------------------------
34403 
34404 static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";
34405 
34406 const complete::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
34407  kZoneNameCuba /*name*/,
34408  0x7c83cba0 /*zoneId*/,
34409  &kZoneContext /*zoneContext*/,
34410  3 /*numEras*/,
34411  kZoneEraAmerica_Havana /*eras*/,
34412  &kZoneAmerica_Havana /*targetInfo*/,
34413 };
34414 
34415 //---------------------------------------------------------------------------
34416 // Link name: EET -> Europe/Athens
34417 //---------------------------------------------------------------------------
34418 
34419 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
34420 
34421 const complete::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
34422  kZoneNameEET /*name*/,
34423  0x0b87e1a3 /*zoneId*/,
34424  &kZoneContext /*zoneContext*/,
34425  6 /*numEras*/,
34426  kZoneEraEurope_Athens /*eras*/,
34427  &kZoneEurope_Athens /*targetInfo*/,
34428 };
34429 
34430 //---------------------------------------------------------------------------
34431 // Link name: EST -> America/Panama
34432 //---------------------------------------------------------------------------
34433 
34434 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
34435 
34436 const complete::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
34437  kZoneNameEST /*name*/,
34438  0x0b87e371 /*zoneId*/,
34439  &kZoneContext /*zoneContext*/,
34440  3 /*numEras*/,
34441  kZoneEraAmerica_Panama /*eras*/,
34442  &kZoneAmerica_Panama /*targetInfo*/,
34443 };
34444 
34445 //---------------------------------------------------------------------------
34446 // Link name: EST5EDT -> America/New_York
34447 //---------------------------------------------------------------------------
34448 
34449 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
34450 
34451 const complete::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
34452  kZoneNameEST5EDT /*name*/,
34453  0x8adc72a3 /*zoneId*/,
34454  &kZoneContext /*zoneContext*/,
34455  6 /*numEras*/,
34456  kZoneEraAmerica_New_York /*eras*/,
34457  &kZoneAmerica_New_York /*targetInfo*/,
34458 };
34459 
34460 //---------------------------------------------------------------------------
34461 // Link name: Egypt -> Africa/Cairo
34462 //---------------------------------------------------------------------------
34463 
34464 static const char kZoneNameEgypt[] ACE_TIME_PROGMEM = "Egypt";
34465 
34466 const complete::ZoneInfo kZoneEgypt ACE_TIME_PROGMEM = {
34467  kZoneNameEgypt /*name*/,
34468  0x0d1a278e /*zoneId*/,
34469  &kZoneContext /*zoneContext*/,
34470  2 /*numEras*/,
34471  kZoneEraAfrica_Cairo /*eras*/,
34472  &kZoneAfrica_Cairo /*targetInfo*/,
34473 };
34474 
34475 //---------------------------------------------------------------------------
34476 // Link name: Eire -> Europe/Dublin
34477 //---------------------------------------------------------------------------
34478 
34479 static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";
34480 
34481 const complete::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
34482  kZoneNameEire /*name*/,
34483  0x7c84b36a /*zoneId*/,
34484  &kZoneContext /*zoneContext*/,
34485  11 /*numEras*/,
34486  kZoneEraEurope_Dublin /*eras*/,
34487  &kZoneEurope_Dublin /*targetInfo*/,
34488 };
34489 
34490 //---------------------------------------------------------------------------
34491 // Link name: Etc/GMT+0 -> Etc/GMT
34492 //---------------------------------------------------------------------------
34493 
34494 static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x0a" "GMT+0";
34495 
34496 const complete::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
34497  kZoneNameEtc_GMT_PLUS_0 /*name*/,
34498  0x9d13da13 /*zoneId*/,
34499  &kZoneContext /*zoneContext*/,
34500  1 /*numEras*/,
34501  kZoneEraEtc_GMT /*eras*/,
34502  &kZoneEtc_GMT /*targetInfo*/,
34503 };
34504 
34505 //---------------------------------------------------------------------------
34506 // Link name: Etc/GMT-0 -> Etc/GMT
34507 //---------------------------------------------------------------------------
34508 
34509 static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x0a" "GMT-0";
34510 
34511 const complete::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
34512  kZoneNameEtc_GMT_0 /*name*/,
34513  0x9d13da55 /*zoneId*/,
34514  &kZoneContext /*zoneContext*/,
34515  1 /*numEras*/,
34516  kZoneEraEtc_GMT /*eras*/,
34517  &kZoneEtc_GMT /*targetInfo*/,
34518 };
34519 
34520 //---------------------------------------------------------------------------
34521 // Link name: Etc/GMT0 -> Etc/GMT
34522 //---------------------------------------------------------------------------
34523 
34524 static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x0a" "GMT0";
34525 
34526 const complete::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
34527  kZoneNameEtc_GMT0 /*name*/,
34528  0xf53ea988 /*zoneId*/,
34529  &kZoneContext /*zoneContext*/,
34530  1 /*numEras*/,
34531  kZoneEraEtc_GMT /*eras*/,
34532  &kZoneEtc_GMT /*targetInfo*/,
34533 };
34534 
34535 //---------------------------------------------------------------------------
34536 // Link name: Etc/Greenwich -> Etc/GMT
34537 //---------------------------------------------------------------------------
34538 
34539 static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x0a" "Greenwich";
34540 
34541 const complete::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
34542  kZoneNameEtc_Greenwich /*name*/,
34543  0x26daa98c /*zoneId*/,
34544  &kZoneContext /*zoneContext*/,
34545  1 /*numEras*/,
34546  kZoneEraEtc_GMT /*eras*/,
34547  &kZoneEtc_GMT /*targetInfo*/,
34548 };
34549 
34550 //---------------------------------------------------------------------------
34551 // Link name: Etc/UCT -> Etc/UTC
34552 //---------------------------------------------------------------------------
34553 
34554 static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x0a" "UCT";
34555 
34556 const complete::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
34557  kZoneNameEtc_UCT /*name*/,
34558  0xd8e3189c /*zoneId*/,
34559  &kZoneContext /*zoneContext*/,
34560  1 /*numEras*/,
34561  kZoneEraEtc_UTC /*eras*/,
34562  &kZoneEtc_UTC /*targetInfo*/,
34563 };
34564 
34565 //---------------------------------------------------------------------------
34566 // Link name: Etc/Universal -> Etc/UTC
34567 //---------------------------------------------------------------------------
34568 
34569 static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x0a" "Universal";
34570 
34571 const complete::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
34572  kZoneNameEtc_Universal /*name*/,
34573  0x2f8cb9a9 /*zoneId*/,
34574  &kZoneContext /*zoneContext*/,
34575  1 /*numEras*/,
34576  kZoneEraEtc_UTC /*eras*/,
34577  &kZoneEtc_UTC /*targetInfo*/,
34578 };
34579 
34580 //---------------------------------------------------------------------------
34581 // Link name: Etc/Zulu -> Etc/UTC
34582 //---------------------------------------------------------------------------
34583 
34584 static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x0a" "Zulu";
34585 
34586 const complete::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
34587  kZoneNameEtc_Zulu /*name*/,
34588  0xf549c240 /*zoneId*/,
34589  &kZoneContext /*zoneContext*/,
34590  1 /*numEras*/,
34591  kZoneEraEtc_UTC /*eras*/,
34592  &kZoneEtc_UTC /*targetInfo*/,
34593 };
34594 
34595 //---------------------------------------------------------------------------
34596 // Link name: Europe/Amsterdam -> Europe/Brussels
34597 //---------------------------------------------------------------------------
34598 
34599 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x0b" "Amsterdam";
34600 
34601 const complete::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
34602  kZoneNameEurope_Amsterdam /*name*/,
34603  0x109395c2 /*zoneId*/,
34604  &kZoneContext /*zoneContext*/,
34605  9 /*numEras*/,
34606  kZoneEraEurope_Brussels /*eras*/,
34607  &kZoneEurope_Brussels /*targetInfo*/,
34608 };
34609 
34610 //---------------------------------------------------------------------------
34611 // Link name: Europe/Belfast -> Europe/London
34612 //---------------------------------------------------------------------------
34613 
34614 static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x0b" "Belfast";
34615 
34616 const complete::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
34617  kZoneNameEurope_Belfast /*name*/,
34618  0xd07dd1e5 /*zoneId*/,
34619  &kZoneContext /*zoneContext*/,
34620  5 /*numEras*/,
34621  kZoneEraEurope_London /*eras*/,
34622  &kZoneEurope_London /*targetInfo*/,
34623 };
34624 
34625 //---------------------------------------------------------------------------
34626 // Link name: Europe/Bratislava -> Europe/Prague
34627 //---------------------------------------------------------------------------
34628 
34629 static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x0b" "Bratislava";
34630 
34631 const complete::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
34632  kZoneNameEurope_Bratislava /*name*/,
34633  0xda493bed /*zoneId*/,
34634  &kZoneContext /*zoneContext*/,
34635  7 /*numEras*/,
34636  kZoneEraEurope_Prague /*eras*/,
34637  &kZoneEurope_Prague /*targetInfo*/,
34638 };
34639 
34640 //---------------------------------------------------------------------------
34641 // Link name: Europe/Busingen -> Europe/Zurich
34642 //---------------------------------------------------------------------------
34643 
34644 static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x0b" "Busingen";
34645 
34646 const complete::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
34647  kZoneNameEurope_Busingen /*name*/,
34648  0xc06d2cdf /*zoneId*/,
34649  &kZoneContext /*zoneContext*/,
34650  4 /*numEras*/,
34651  kZoneEraEurope_Zurich /*eras*/,
34652  &kZoneEurope_Zurich /*targetInfo*/,
34653 };
34654 
34655 //---------------------------------------------------------------------------
34656 // Link name: Europe/Copenhagen -> Europe/Berlin
34657 //---------------------------------------------------------------------------
34658 
34659 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x0b" "Copenhagen";
34660 
34661 const complete::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
34662  kZoneNameEurope_Copenhagen /*name*/,
34663  0xe0ed30bc /*zoneId*/,
34664  &kZoneContext /*zoneContext*/,
34665  5 /*numEras*/,
34666  kZoneEraEurope_Berlin /*eras*/,
34667  &kZoneEurope_Berlin /*targetInfo*/,
34668 };
34669 
34670 //---------------------------------------------------------------------------
34671 // Link name: Europe/Guernsey -> Europe/London
34672 //---------------------------------------------------------------------------
34673 
34674 static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x0b" "Guernsey";
34675 
34676 const complete::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
34677  kZoneNameEurope_Guernsey /*name*/,
34678  0x3db12c16 /*zoneId*/,
34679  &kZoneContext /*zoneContext*/,
34680  5 /*numEras*/,
34681  kZoneEraEurope_London /*eras*/,
34682  &kZoneEurope_London /*targetInfo*/,
34683 };
34684 
34685 //---------------------------------------------------------------------------
34686 // Link name: Europe/Isle_of_Man -> Europe/London
34687 //---------------------------------------------------------------------------
34688 
34689 static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x0b" "Isle_of_Man";
34690 
34691 const complete::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
34692  kZoneNameEurope_Isle_of_Man /*name*/,
34693  0xeaf84580 /*zoneId*/,
34694  &kZoneContext /*zoneContext*/,
34695  5 /*numEras*/,
34696  kZoneEraEurope_London /*eras*/,
34697  &kZoneEurope_London /*targetInfo*/,
34698 };
34699 
34700 //---------------------------------------------------------------------------
34701 // Link name: Europe/Jersey -> Europe/London
34702 //---------------------------------------------------------------------------
34703 
34704 static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x0b" "Jersey";
34705 
34706 const complete::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
34707  kZoneNameEurope_Jersey /*name*/,
34708  0x570dae76 /*zoneId*/,
34709  &kZoneContext /*zoneContext*/,
34710  5 /*numEras*/,
34711  kZoneEraEurope_London /*eras*/,
34712  &kZoneEurope_London /*targetInfo*/,
34713 };
34714 
34715 //---------------------------------------------------------------------------
34716 // Link name: Europe/Kiev -> Europe/Kyiv
34717 //---------------------------------------------------------------------------
34718 
34719 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x0b" "Kiev";
34720 
34721 const complete::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
34722  kZoneNameEurope_Kiev /*name*/,
34723  0xa2c19eb3 /*zoneId*/,
34724  &kZoneContext /*zoneContext*/,
34725  9 /*numEras*/,
34726  kZoneEraEurope_Kyiv /*eras*/,
34727  &kZoneEurope_Kyiv /*targetInfo*/,
34728 };
34729 
34730 //---------------------------------------------------------------------------
34731 // Link name: Europe/Ljubljana -> Europe/Belgrade
34732 //---------------------------------------------------------------------------
34733 
34734 static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x0b" "Ljubljana";
34735 
34736 const complete::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
34737  kZoneNameEurope_Ljubljana /*name*/,
34738  0xbd98cdb7 /*zoneId*/,
34739  &kZoneContext /*zoneContext*/,
34740  7 /*numEras*/,
34741  kZoneEraEurope_Belgrade /*eras*/,
34742  &kZoneEurope_Belgrade /*targetInfo*/,
34743 };
34744 
34745 //---------------------------------------------------------------------------
34746 // Link name: Europe/Luxembourg -> Europe/Brussels
34747 //---------------------------------------------------------------------------
34748 
34749 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x0b" "Luxembourg";
34750 
34751 const complete::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
34752  kZoneNameEurope_Luxembourg /*name*/,
34753  0x1f8bc6ce /*zoneId*/,
34754  &kZoneContext /*zoneContext*/,
34755  9 /*numEras*/,
34756  kZoneEraEurope_Brussels /*eras*/,
34757  &kZoneEurope_Brussels /*targetInfo*/,
34758 };
34759 
34760 //---------------------------------------------------------------------------
34761 // Link name: Europe/Mariehamn -> Europe/Helsinki
34762 //---------------------------------------------------------------------------
34763 
34764 static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x0b" "Mariehamn";
34765 
34766 const complete::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
34767  kZoneNameEurope_Mariehamn /*name*/,
34768  0x0caa6496 /*zoneId*/,
34769  &kZoneContext /*zoneContext*/,
34770  4 /*numEras*/,
34771  kZoneEraEurope_Helsinki /*eras*/,
34772  &kZoneEurope_Helsinki /*targetInfo*/,
34773 };
34774 
34775 //---------------------------------------------------------------------------
34776 // Link name: Europe/Monaco -> Europe/Paris
34777 //---------------------------------------------------------------------------
34778 
34779 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x0b" "Monaco";
34780 
34781 const complete::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
34782  kZoneNameEurope_Monaco /*name*/,
34783  0x5ebf9f01 /*zoneId*/,
34784  &kZoneContext /*zoneContext*/,
34785  7 /*numEras*/,
34786  kZoneEraEurope_Paris /*eras*/,
34787  &kZoneEurope_Paris /*targetInfo*/,
34788 };
34789 
34790 //---------------------------------------------------------------------------
34791 // Link name: Europe/Nicosia -> Asia/Nicosia
34792 //---------------------------------------------------------------------------
34793 
34794 static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x0b" "Nicosia";
34795 
34796 const complete::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
34797  kZoneNameEurope_Nicosia /*name*/,
34798  0x74efab8a /*zoneId*/,
34799  &kZoneContext /*zoneContext*/,
34800  3 /*numEras*/,
34801  kZoneEraAsia_Nicosia /*eras*/,
34802  &kZoneAsia_Nicosia /*targetInfo*/,
34803 };
34804 
34805 //---------------------------------------------------------------------------
34806 // Link name: Europe/Oslo -> Europe/Berlin
34807 //---------------------------------------------------------------------------
34808 
34809 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x0b" "Oslo";
34810 
34811 const complete::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
34812  kZoneNameEurope_Oslo /*name*/,
34813  0xa2c3fba1 /*zoneId*/,
34814  &kZoneContext /*zoneContext*/,
34815  5 /*numEras*/,
34816  kZoneEraEurope_Berlin /*eras*/,
34817  &kZoneEurope_Berlin /*targetInfo*/,
34818 };
34819 
34820 //---------------------------------------------------------------------------
34821 // Link name: Europe/Podgorica -> Europe/Belgrade
34822 //---------------------------------------------------------------------------
34823 
34824 static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x0b" "Podgorica";
34825 
34826 const complete::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
34827  kZoneNameEurope_Podgorica /*name*/,
34828  0x1c1a499c /*zoneId*/,
34829  &kZoneContext /*zoneContext*/,
34830  7 /*numEras*/,
34831  kZoneEraEurope_Belgrade /*eras*/,
34832  &kZoneEurope_Belgrade /*targetInfo*/,
34833 };
34834 
34835 //---------------------------------------------------------------------------
34836 // Link name: Europe/San_Marino -> Europe/Rome
34837 //---------------------------------------------------------------------------
34838 
34839 static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x0b" "San_Marino";
34840 
34841 const complete::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
34842  kZoneNameEurope_San_Marino /*name*/,
34843  0xcef7724b /*zoneId*/,
34844  &kZoneContext /*zoneContext*/,
34845  6 /*numEras*/,
34846  kZoneEraEurope_Rome /*eras*/,
34847  &kZoneEurope_Rome /*targetInfo*/,
34848 };
34849 
34850 //---------------------------------------------------------------------------
34851 // Link name: Europe/Sarajevo -> Europe/Belgrade
34852 //---------------------------------------------------------------------------
34853 
34854 static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x0b" "Sarajevo";
34855 
34856 const complete::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
34857  kZoneNameEurope_Sarajevo /*name*/,
34858  0x6a576c3f /*zoneId*/,
34859  &kZoneContext /*zoneContext*/,
34860  7 /*numEras*/,
34861  kZoneEraEurope_Belgrade /*eras*/,
34862  &kZoneEurope_Belgrade /*targetInfo*/,
34863 };
34864 
34865 //---------------------------------------------------------------------------
34866 // Link name: Europe/Skopje -> Europe/Belgrade
34867 //---------------------------------------------------------------------------
34868 
34869 static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x0b" "Skopje";
34870 
34871 const complete::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
34872  kZoneNameEurope_Skopje /*name*/,
34873  0x6c76fdd0 /*zoneId*/,
34874  &kZoneContext /*zoneContext*/,
34875  7 /*numEras*/,
34876  kZoneEraEurope_Belgrade /*eras*/,
34877  &kZoneEurope_Belgrade /*targetInfo*/,
34878 };
34879 
34880 //---------------------------------------------------------------------------
34881 // Link name: Europe/Stockholm -> Europe/Berlin
34882 //---------------------------------------------------------------------------
34883 
34884 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x0b" "Stockholm";
34885 
34886 const complete::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
34887  kZoneNameEurope_Stockholm /*name*/,
34888  0x5bf6fbb8 /*zoneId*/,
34889  &kZoneContext /*zoneContext*/,
34890  5 /*numEras*/,
34891  kZoneEraEurope_Berlin /*eras*/,
34892  &kZoneEurope_Berlin /*targetInfo*/,
34893 };
34894 
34895 //---------------------------------------------------------------------------
34896 // Link name: Europe/Tiraspol -> Europe/Chisinau
34897 //---------------------------------------------------------------------------
34898 
34899 static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x0b" "Tiraspol";
34900 
34901 const complete::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
34902  kZoneNameEurope_Tiraspol /*name*/,
34903  0xbe704472 /*zoneId*/,
34904  &kZoneContext /*zoneContext*/,
34905  10 /*numEras*/,
34906  kZoneEraEurope_Chisinau /*eras*/,
34907  &kZoneEurope_Chisinau /*targetInfo*/,
34908 };
34909 
34910 //---------------------------------------------------------------------------
34911 // Link name: Europe/Uzhgorod -> Europe/Kyiv
34912 //---------------------------------------------------------------------------
34913 
34914 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x0b" "Uzhgorod";
34915 
34916 const complete::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
34917  kZoneNameEurope_Uzhgorod /*name*/,
34918  0xb066f5d6 /*zoneId*/,
34919  &kZoneContext /*zoneContext*/,
34920  9 /*numEras*/,
34921  kZoneEraEurope_Kyiv /*eras*/,
34922  &kZoneEurope_Kyiv /*targetInfo*/,
34923 };
34924 
34925 //---------------------------------------------------------------------------
34926 // Link name: Europe/Vaduz -> Europe/Zurich
34927 //---------------------------------------------------------------------------
34928 
34929 static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x0b" "Vaduz";
34930 
34931 const complete::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
34932  kZoneNameEurope_Vaduz /*name*/,
34933  0xfbb81bae /*zoneId*/,
34934  &kZoneContext /*zoneContext*/,
34935  4 /*numEras*/,
34936  kZoneEraEurope_Zurich /*eras*/,
34937  &kZoneEurope_Zurich /*targetInfo*/,
34938 };
34939 
34940 //---------------------------------------------------------------------------
34941 // Link name: Europe/Vatican -> Europe/Rome
34942 //---------------------------------------------------------------------------
34943 
34944 static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x0b" "Vatican";
34945 
34946 const complete::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
34947  kZoneNameEurope_Vatican /*name*/,
34948  0xcb485dca /*zoneId*/,
34949  &kZoneContext /*zoneContext*/,
34950  6 /*numEras*/,
34951  kZoneEraEurope_Rome /*eras*/,
34952  &kZoneEurope_Rome /*targetInfo*/,
34953 };
34954 
34955 //---------------------------------------------------------------------------
34956 // Link name: Europe/Zagreb -> Europe/Belgrade
34957 //---------------------------------------------------------------------------
34958 
34959 static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x0b" "Zagreb";
34960 
34961 const complete::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
34962  kZoneNameEurope_Zagreb /*name*/,
34963  0x7c11c9ff /*zoneId*/,
34964  &kZoneContext /*zoneContext*/,
34965  7 /*numEras*/,
34966  kZoneEraEurope_Belgrade /*eras*/,
34967  &kZoneEurope_Belgrade /*targetInfo*/,
34968 };
34969 
34970 //---------------------------------------------------------------------------
34971 // Link name: Europe/Zaporozhye -> Europe/Kyiv
34972 //---------------------------------------------------------------------------
34973 
34974 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x0b" "Zaporozhye";
34975 
34976 const complete::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
34977  kZoneNameEurope_Zaporozhye /*name*/,
34978  0xeab9767f /*zoneId*/,
34979  &kZoneContext /*zoneContext*/,
34980  9 /*numEras*/,
34981  kZoneEraEurope_Kyiv /*eras*/,
34982  &kZoneEurope_Kyiv /*targetInfo*/,
34983 };
34984 
34985 //---------------------------------------------------------------------------
34986 // Link name: GB -> Europe/London
34987 //---------------------------------------------------------------------------
34988 
34989 static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";
34990 
34991 const complete::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
34992  kZoneNameGB /*name*/,
34993  0x005973ae /*zoneId*/,
34994  &kZoneContext /*zoneContext*/,
34995  5 /*numEras*/,
34996  kZoneEraEurope_London /*eras*/,
34997  &kZoneEurope_London /*targetInfo*/,
34998 };
34999 
35000 //---------------------------------------------------------------------------
35001 // Link name: GB-Eire -> Europe/London
35002 //---------------------------------------------------------------------------
35003 
35004 static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";
35005 
35006 const complete::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
35007  kZoneNameGB_Eire /*name*/,
35008  0xfa70e300 /*zoneId*/,
35009  &kZoneContext /*zoneContext*/,
35010  5 /*numEras*/,
35011  kZoneEraEurope_London /*eras*/,
35012  &kZoneEurope_London /*targetInfo*/,
35013 };
35014 
35015 //---------------------------------------------------------------------------
35016 // Link name: GMT -> Etc/GMT
35017 //---------------------------------------------------------------------------
35018 
35019 static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";
35020 
35021 const complete::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
35022  kZoneNameGMT /*name*/,
35023  0x0b87eb2d /*zoneId*/,
35024  &kZoneContext /*zoneContext*/,
35025  1 /*numEras*/,
35026  kZoneEraEtc_GMT /*eras*/,
35027  &kZoneEtc_GMT /*targetInfo*/,
35028 };
35029 
35030 //---------------------------------------------------------------------------
35031 // Link name: GMT+0 -> Etc/GMT
35032 //---------------------------------------------------------------------------
35033 
35034 static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";
35035 
35036 const complete::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
35037  kZoneNameGMT_PLUS_0 /*name*/,
35038  0x0d2f7028 /*zoneId*/,
35039  &kZoneContext /*zoneContext*/,
35040  1 /*numEras*/,
35041  kZoneEraEtc_GMT /*eras*/,
35042  &kZoneEtc_GMT /*targetInfo*/,
35043 };
35044 
35045 //---------------------------------------------------------------------------
35046 // Link name: GMT-0 -> Etc/GMT
35047 //---------------------------------------------------------------------------
35048 
35049 static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";
35050 
35051 const complete::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
35052  kZoneNameGMT_0 /*name*/,
35053  0x0d2f706a /*zoneId*/,
35054  &kZoneContext /*zoneContext*/,
35055  1 /*numEras*/,
35056  kZoneEraEtc_GMT /*eras*/,
35057  &kZoneEtc_GMT /*targetInfo*/,
35058 };
35059 
35060 //---------------------------------------------------------------------------
35061 // Link name: GMT0 -> Etc/GMT
35062 //---------------------------------------------------------------------------
35063 
35064 static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";
35065 
35066 const complete::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
35067  kZoneNameGMT0 /*name*/,
35068  0x7c8550fd /*zoneId*/,
35069  &kZoneContext /*zoneContext*/,
35070  1 /*numEras*/,
35071  kZoneEraEtc_GMT /*eras*/,
35072  &kZoneEtc_GMT /*targetInfo*/,
35073 };
35074 
35075 //---------------------------------------------------------------------------
35076 // Link name: Greenwich -> Etc/GMT
35077 //---------------------------------------------------------------------------
35078 
35079 static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";
35080 
35081 const complete::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
35082  kZoneNameGreenwich /*name*/,
35083  0xc84d4221 /*zoneId*/,
35084  &kZoneContext /*zoneContext*/,
35085  1 /*numEras*/,
35086  kZoneEraEtc_GMT /*eras*/,
35087  &kZoneEtc_GMT /*targetInfo*/,
35088 };
35089 
35090 //---------------------------------------------------------------------------
35091 // Link name: HST -> Pacific/Honolulu
35092 //---------------------------------------------------------------------------
35093 
35094 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
35095 
35096 const complete::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
35097  kZoneNameHST /*name*/,
35098  0x0b87f034 /*zoneId*/,
35099  &kZoneContext /*zoneContext*/,
35100  5 /*numEras*/,
35101  kZoneEraPacific_Honolulu /*eras*/,
35102  &kZonePacific_Honolulu /*targetInfo*/,
35103 };
35104 
35105 //---------------------------------------------------------------------------
35106 // Link name: Hongkong -> Asia/Hong_Kong
35107 //---------------------------------------------------------------------------
35108 
35109 static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";
35110 
35111 const complete::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
35112  kZoneNameHongkong /*name*/,
35113  0x56d36560 /*zoneId*/,
35114  &kZoneContext /*zoneContext*/,
35115  6 /*numEras*/,
35116  kZoneEraAsia_Hong_Kong /*eras*/,
35117  &kZoneAsia_Hong_Kong /*targetInfo*/,
35118 };
35119 
35120 //---------------------------------------------------------------------------
35121 // Link name: Iceland -> Africa/Abidjan
35122 //---------------------------------------------------------------------------
35123 
35124 static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";
35125 
35126 const complete::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
35127  kZoneNameIceland /*name*/,
35128  0xe56a35b5 /*zoneId*/,
35129  &kZoneContext /*zoneContext*/,
35130  2 /*numEras*/,
35131  kZoneEraAfrica_Abidjan /*eras*/,
35132  &kZoneAfrica_Abidjan /*targetInfo*/,
35133 };
35134 
35135 //---------------------------------------------------------------------------
35136 // Link name: Indian/Antananarivo -> Africa/Nairobi
35137 //---------------------------------------------------------------------------
35138 
35139 static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0c" "Antananarivo";
35140 
35141 const complete::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
35142  kZoneNameIndian_Antananarivo /*name*/,
35143  0x9ebf5289 /*zoneId*/,
35144  &kZoneContext /*zoneContext*/,
35145  6 /*numEras*/,
35146  kZoneEraAfrica_Nairobi /*eras*/,
35147  &kZoneAfrica_Nairobi /*targetInfo*/,
35148 };
35149 
35150 //---------------------------------------------------------------------------
35151 // Link name: Indian/Christmas -> Asia/Bangkok
35152 //---------------------------------------------------------------------------
35153 
35154 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0c" "Christmas";
35155 
35156 const complete::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
35157  kZoneNameIndian_Christmas /*name*/,
35158  0x68c207d5 /*zoneId*/,
35159  &kZoneContext /*zoneContext*/,
35160  3 /*numEras*/,
35161  kZoneEraAsia_Bangkok /*eras*/,
35162  &kZoneAsia_Bangkok /*targetInfo*/,
35163 };
35164 
35165 //---------------------------------------------------------------------------
35166 // Link name: Indian/Cocos -> Asia/Yangon
35167 //---------------------------------------------------------------------------
35168 
35169 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0c" "Cocos";
35170 
35171 const complete::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
35172  kZoneNameIndian_Cocos /*name*/,
35173  0x021e86de /*zoneId*/,
35174  &kZoneContext /*zoneContext*/,
35175  5 /*numEras*/,
35176  kZoneEraAsia_Yangon /*eras*/,
35177  &kZoneAsia_Yangon /*targetInfo*/,
35178 };
35179 
35180 //---------------------------------------------------------------------------
35181 // Link name: Indian/Comoro -> Africa/Nairobi
35182 //---------------------------------------------------------------------------
35183 
35184 static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0c" "Comoro";
35185 
35186 const complete::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
35187  kZoneNameIndian_Comoro /*name*/,
35188  0x45f4deb6 /*zoneId*/,
35189  &kZoneContext /*zoneContext*/,
35190  6 /*numEras*/,
35191  kZoneEraAfrica_Nairobi /*eras*/,
35192  &kZoneAfrica_Nairobi /*targetInfo*/,
35193 };
35194 
35195 //---------------------------------------------------------------------------
35196 // Link name: Indian/Kerguelen -> Indian/Maldives
35197 //---------------------------------------------------------------------------
35198 
35199 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0c" "Kerguelen";
35200 
35201 const complete::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
35202  kZoneNameIndian_Kerguelen /*name*/,
35203  0x4351b389 /*zoneId*/,
35204  &kZoneContext /*zoneContext*/,
35205  3 /*numEras*/,
35206  kZoneEraIndian_Maldives /*eras*/,
35207  &kZoneIndian_Maldives /*targetInfo*/,
35208 };
35209 
35210 //---------------------------------------------------------------------------
35211 // Link name: Indian/Mahe -> Asia/Dubai
35212 //---------------------------------------------------------------------------
35213 
35214 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0c" "Mahe";
35215 
35216 const complete::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
35217  kZoneNameIndian_Mahe /*name*/,
35218  0x45e725e2 /*zoneId*/,
35219  &kZoneContext /*zoneContext*/,
35220  2 /*numEras*/,
35221  kZoneEraAsia_Dubai /*eras*/,
35222  &kZoneAsia_Dubai /*targetInfo*/,
35223 };
35224 
35225 //---------------------------------------------------------------------------
35226 // Link name: Indian/Mayotte -> Africa/Nairobi
35227 //---------------------------------------------------------------------------
35228 
35229 static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0c" "Mayotte";
35230 
35231 const complete::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
35232  kZoneNameIndian_Mayotte /*name*/,
35233  0xe6880bca /*zoneId*/,
35234  &kZoneContext /*zoneContext*/,
35235  6 /*numEras*/,
35236  kZoneEraAfrica_Nairobi /*eras*/,
35237  &kZoneAfrica_Nairobi /*targetInfo*/,
35238 };
35239 
35240 //---------------------------------------------------------------------------
35241 // Link name: Indian/Reunion -> Asia/Dubai
35242 //---------------------------------------------------------------------------
35243 
35244 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0c" "Reunion";
35245 
35246 const complete::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
35247  kZoneNameIndian_Reunion /*name*/,
35248  0x7076c047 /*zoneId*/,
35249  &kZoneContext /*zoneContext*/,
35250  2 /*numEras*/,
35251  kZoneEraAsia_Dubai /*eras*/,
35252  &kZoneAsia_Dubai /*targetInfo*/,
35253 };
35254 
35255 //---------------------------------------------------------------------------
35256 // Link name: Iran -> Asia/Tehran
35257 //---------------------------------------------------------------------------
35258 
35259 static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";
35260 
35261 const complete::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
35262  kZoneNameIran /*name*/,
35263  0x7c87090f /*zoneId*/,
35264  &kZoneContext /*zoneContext*/,
35265  5 /*numEras*/,
35266  kZoneEraAsia_Tehran /*eras*/,
35267  &kZoneAsia_Tehran /*targetInfo*/,
35268 };
35269 
35270 //---------------------------------------------------------------------------
35271 // Link name: Israel -> Asia/Jerusalem
35272 //---------------------------------------------------------------------------
35273 
35274 static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";
35275 
35276 const complete::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
35277  kZoneNameIsrael /*name*/,
35278  0xba88c9e5 /*zoneId*/,
35279  &kZoneContext /*zoneContext*/,
35280  3 /*numEras*/,
35281  kZoneEraAsia_Jerusalem /*eras*/,
35282  &kZoneAsia_Jerusalem /*targetInfo*/,
35283 };
35284 
35285 //---------------------------------------------------------------------------
35286 // Link name: Jamaica -> America/Jamaica
35287 //---------------------------------------------------------------------------
35288 
35289 static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";
35290 
35291 const complete::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
35292  kZoneNameJamaica /*name*/,
35293  0x2e44fdab /*zoneId*/,
35294  &kZoneContext /*zoneContext*/,
35295  5 /*numEras*/,
35296  kZoneEraAmerica_Jamaica /*eras*/,
35297  &kZoneAmerica_Jamaica /*targetInfo*/,
35298 };
35299 
35300 //---------------------------------------------------------------------------
35301 // Link name: Japan -> Asia/Tokyo
35302 //---------------------------------------------------------------------------
35303 
35304 static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";
35305 
35306 const complete::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
35307  kZoneNameJapan /*name*/,
35308  0x0d712f8f /*zoneId*/,
35309  &kZoneContext /*zoneContext*/,
35310  2 /*numEras*/,
35311  kZoneEraAsia_Tokyo /*eras*/,
35312  &kZoneAsia_Tokyo /*targetInfo*/,
35313 };
35314 
35315 //---------------------------------------------------------------------------
35316 // Link name: Kwajalein -> Pacific/Kwajalein
35317 //---------------------------------------------------------------------------
35318 
35319 static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";
35320 
35321 const complete::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
35322  kZoneNameKwajalein /*name*/,
35323  0x0e57afbb /*zoneId*/,
35324  &kZoneContext /*zoneContext*/,
35325  7 /*numEras*/,
35326  kZoneEraPacific_Kwajalein /*eras*/,
35327  &kZonePacific_Kwajalein /*targetInfo*/,
35328 };
35329 
35330 //---------------------------------------------------------------------------
35331 // Link name: Libya -> Africa/Tripoli
35332 //---------------------------------------------------------------------------
35333 
35334 static const char kZoneNameLibya[] ACE_TIME_PROGMEM = "Libya";
35335 
35336 const complete::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = {
35337  kZoneNameLibya /*name*/,
35338  0x0d998b16 /*zoneId*/,
35339  &kZoneContext /*zoneContext*/,
35340  9 /*numEras*/,
35341  kZoneEraAfrica_Tripoli /*eras*/,
35342  &kZoneAfrica_Tripoli /*targetInfo*/,
35343 };
35344 
35345 //---------------------------------------------------------------------------
35346 // Link name: MET -> Europe/Brussels
35347 //---------------------------------------------------------------------------
35348 
35349 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
35350 
35351 const complete::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
35352  kZoneNameMET /*name*/,
35353  0x0b8803ab /*zoneId*/,
35354  &kZoneContext /*zoneContext*/,
35355  9 /*numEras*/,
35356  kZoneEraEurope_Brussels /*eras*/,
35357  &kZoneEurope_Brussels /*targetInfo*/,
35358 };
35359 
35360 //---------------------------------------------------------------------------
35361 // Link name: MST -> America/Phoenix
35362 //---------------------------------------------------------------------------
35363 
35364 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
35365 
35366 const complete::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
35367  kZoneNameMST /*name*/,
35368  0x0b880579 /*zoneId*/,
35369  &kZoneContext /*zoneContext*/,
35370  7 /*numEras*/,
35371  kZoneEraAmerica_Phoenix /*eras*/,
35372  &kZoneAmerica_Phoenix /*targetInfo*/,
35373 };
35374 
35375 //---------------------------------------------------------------------------
35376 // Link name: MST7MDT -> America/Denver
35377 //---------------------------------------------------------------------------
35378 
35379 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
35380 
35381 const complete::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
35382  kZoneNameMST7MDT /*name*/,
35383  0xf2af9375 /*zoneId*/,
35384  &kZoneContext /*zoneContext*/,
35385  6 /*numEras*/,
35386  kZoneEraAmerica_Denver /*eras*/,
35387  &kZoneAmerica_Denver /*targetInfo*/,
35388 };
35389 
35390 //---------------------------------------------------------------------------
35391 // Link name: Mexico/BajaNorte -> America/Tijuana
35392 //---------------------------------------------------------------------------
35393 
35394 static const char kZoneNameMexico_BajaNorte[] ACE_TIME_PROGMEM = "Mexico/BajaNorte";
35395 
35396 const complete::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = {
35397  kZoneNameMexico_BajaNorte /*name*/,
35398  0xfcf7150f /*zoneId*/,
35399  &kZoneContext /*zoneContext*/,
35400  25 /*numEras*/,
35401  kZoneEraAmerica_Tijuana /*eras*/,
35402  &kZoneAmerica_Tijuana /*targetInfo*/,
35403 };
35404 
35405 //---------------------------------------------------------------------------
35406 // Link name: Mexico/BajaSur -> America/Mazatlan
35407 //---------------------------------------------------------------------------
35408 
35409 static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";
35410 
35411 const complete::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
35412  kZoneNameMexico_BajaSur /*name*/,
35413  0x08ee3641 /*zoneId*/,
35414  &kZoneContext /*zoneContext*/,
35415  7 /*numEras*/,
35416  kZoneEraAmerica_Mazatlan /*eras*/,
35417  &kZoneAmerica_Mazatlan /*targetInfo*/,
35418 };
35419 
35420 //---------------------------------------------------------------------------
35421 // Link name: Mexico/General -> America/Mexico_City
35422 //---------------------------------------------------------------------------
35423 
35424 static const char kZoneNameMexico_General[] ACE_TIME_PROGMEM = "Mexico/General";
35425 
35426 const complete::ZoneInfo kZoneMexico_General ACE_TIME_PROGMEM = {
35427  kZoneNameMexico_General /*name*/,
35428  0x93711d57 /*zoneId*/,
35429  &kZoneContext /*zoneContext*/,
35430  7 /*numEras*/,
35431  kZoneEraAmerica_Mexico_City /*eras*/,
35432  &kZoneAmerica_Mexico_City /*targetInfo*/,
35433 };
35434 
35435 //---------------------------------------------------------------------------
35436 // Link name: NZ -> Pacific/Auckland
35437 //---------------------------------------------------------------------------
35438 
35439 static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";
35440 
35441 const complete::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
35442  kZoneNameNZ /*name*/,
35443  0x005974ad /*zoneId*/,
35444  &kZoneContext /*zoneContext*/,
35445  3 /*numEras*/,
35446  kZoneEraPacific_Auckland /*eras*/,
35447  &kZonePacific_Auckland /*targetInfo*/,
35448 };
35449 
35450 //---------------------------------------------------------------------------
35451 // Link name: NZ-CHAT -> Pacific/Chatham
35452 //---------------------------------------------------------------------------
35453 
35454 static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";
35455 
35456 const complete::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
35457  kZoneNameNZ_CHAT /*name*/,
35458  0x4d42afda /*zoneId*/,
35459  &kZoneContext /*zoneContext*/,
35460  3 /*numEras*/,
35461  kZoneEraPacific_Chatham /*eras*/,
35462  &kZonePacific_Chatham /*targetInfo*/,
35463 };
35464 
35465 //---------------------------------------------------------------------------
35466 // Link name: Navajo -> America/Denver
35467 //---------------------------------------------------------------------------
35468 
35469 static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";
35470 
35471 const complete::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
35472  kZoneNameNavajo /*name*/,
35473  0xc4ef0e24 /*zoneId*/,
35474  &kZoneContext /*zoneContext*/,
35475  6 /*numEras*/,
35476  kZoneEraAmerica_Denver /*eras*/,
35477  &kZoneAmerica_Denver /*targetInfo*/,
35478 };
35479 
35480 //---------------------------------------------------------------------------
35481 // Link name: PRC -> Asia/Shanghai
35482 //---------------------------------------------------------------------------
35483 
35484 static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";
35485 
35486 const complete::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
35487  kZoneNamePRC /*name*/,
35488  0x0b88120a /*zoneId*/,
35489  &kZoneContext /*zoneContext*/,
35490  3 /*numEras*/,
35491  kZoneEraAsia_Shanghai /*eras*/,
35492  &kZoneAsia_Shanghai /*targetInfo*/,
35493 };
35494 
35495 //---------------------------------------------------------------------------
35496 // Link name: PST8PDT -> America/Los_Angeles
35497 //---------------------------------------------------------------------------
35498 
35499 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
35500 
35501 const complete::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
35502  kZoneNamePST8PDT /*name*/,
35503  0xd99ee2dc /*zoneId*/,
35504  &kZoneContext /*zoneContext*/,
35505  4 /*numEras*/,
35506  kZoneEraAmerica_Los_Angeles /*eras*/,
35507  &kZoneAmerica_Los_Angeles /*targetInfo*/,
35508 };
35509 
35510 //---------------------------------------------------------------------------
35511 // Link name: Pacific/Chuuk -> Pacific/Port_Moresby
35512 //---------------------------------------------------------------------------
35513 
35514 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0e" "Chuuk";
35515 
35516 const complete::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
35517  kZoneNamePacific_Chuuk /*name*/,
35518  0x8a090b23 /*zoneId*/,
35519  &kZoneContext /*zoneContext*/,
35520  3 /*numEras*/,
35521  kZoneEraPacific_Port_Moresby /*eras*/,
35522  &kZonePacific_Port_Moresby /*targetInfo*/,
35523 };
35524 
35525 //---------------------------------------------------------------------------
35526 // Link name: Pacific/Enderbury -> Pacific/Kanton
35527 //---------------------------------------------------------------------------
35528 
35529 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0e" "Enderbury";
35530 
35531 const complete::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
35532  kZoneNamePacific_Enderbury /*name*/,
35533  0x61599a93 /*zoneId*/,
35534  &kZoneContext /*zoneContext*/,
35535  4 /*numEras*/,
35536  kZoneEraPacific_Kanton /*eras*/,
35537  &kZonePacific_Kanton /*targetInfo*/,
35538 };
35539 
35540 //---------------------------------------------------------------------------
35541 // Link name: Pacific/Funafuti -> Pacific/Tarawa
35542 //---------------------------------------------------------------------------
35543 
35544 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0e" "Funafuti";
35545 
35546 const complete::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
35547  kZoneNamePacific_Funafuti /*name*/,
35548  0xdb402d65 /*zoneId*/,
35549  &kZoneContext /*zoneContext*/,
35550  2 /*numEras*/,
35551  kZoneEraPacific_Tarawa /*eras*/,
35552  &kZonePacific_Tarawa /*targetInfo*/,
35553 };
35554 
35555 //---------------------------------------------------------------------------
35556 // Link name: Pacific/Johnston -> Pacific/Honolulu
35557 //---------------------------------------------------------------------------
35558 
35559 static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0e" "Johnston";
35560 
35561 const complete::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
35562  kZoneNamePacific_Johnston /*name*/,
35563  0xb15d7b36 /*zoneId*/,
35564  &kZoneContext /*zoneContext*/,
35565  5 /*numEras*/,
35566  kZoneEraPacific_Honolulu /*eras*/,
35567  &kZonePacific_Honolulu /*targetInfo*/,
35568 };
35569 
35570 //---------------------------------------------------------------------------
35571 // Link name: Pacific/Majuro -> Pacific/Tarawa
35572 //---------------------------------------------------------------------------
35573 
35574 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0e" "Majuro";
35575 
35576 const complete::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
35577  kZoneNamePacific_Majuro /*name*/,
35578  0xe1f95371 /*zoneId*/,
35579  &kZoneContext /*zoneContext*/,
35580  2 /*numEras*/,
35581  kZoneEraPacific_Tarawa /*eras*/,
35582  &kZonePacific_Tarawa /*targetInfo*/,
35583 };
35584 
35585 //---------------------------------------------------------------------------
35586 // Link name: Pacific/Midway -> Pacific/Pago_Pago
35587 //---------------------------------------------------------------------------
35588 
35589 static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0e" "Midway";
35590 
35591 const complete::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
35592  kZoneNamePacific_Midway /*name*/,
35593  0xe286d38e /*zoneId*/,
35594  &kZoneContext /*zoneContext*/,
35595  3 /*numEras*/,
35596  kZoneEraPacific_Pago_Pago /*eras*/,
35597  &kZonePacific_Pago_Pago /*targetInfo*/,
35598 };
35599 
35600 //---------------------------------------------------------------------------
35601 // Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
35602 //---------------------------------------------------------------------------
35603 
35604 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0e" "Pohnpei";
35605 
35606 const complete::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
35607  kZoneNamePacific_Pohnpei /*name*/,
35608  0x28929f96 /*zoneId*/,
35609  &kZoneContext /*zoneContext*/,
35610  2 /*numEras*/,
35611  kZoneEraPacific_Guadalcanal /*eras*/,
35612  &kZonePacific_Guadalcanal /*targetInfo*/,
35613 };
35614 
35615 //---------------------------------------------------------------------------
35616 // Link name: Pacific/Ponape -> Pacific/Guadalcanal
35617 //---------------------------------------------------------------------------
35618 
35619 static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0e" "Ponape";
35620 
35621 const complete::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
35622  kZoneNamePacific_Ponape /*name*/,
35623  0xe9f80086 /*zoneId*/,
35624  &kZoneContext /*zoneContext*/,
35625  2 /*numEras*/,
35626  kZoneEraPacific_Guadalcanal /*eras*/,
35627  &kZonePacific_Guadalcanal /*targetInfo*/,
35628 };
35629 
35630 //---------------------------------------------------------------------------
35631 // Link name: Pacific/Saipan -> Pacific/Guam
35632 //---------------------------------------------------------------------------
35633 
35634 static const char kZoneNamePacific_Saipan[] ACE_TIME_PROGMEM = "\x0e" "Saipan";
35635 
35636 const complete::ZoneInfo kZonePacific_Saipan ACE_TIME_PROGMEM = {
35637  kZoneNamePacific_Saipan /*name*/,
35638  0xeff7a35f /*zoneId*/,
35639  &kZoneContext /*zoneContext*/,
35640  6 /*numEras*/,
35641  kZoneEraPacific_Guam /*eras*/,
35642  &kZonePacific_Guam /*targetInfo*/,
35643 };
35644 
35645 //---------------------------------------------------------------------------
35646 // Link name: Pacific/Samoa -> Pacific/Pago_Pago
35647 //---------------------------------------------------------------------------
35648 
35649 static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0e" "Samoa";
35650 
35651 const complete::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
35652  kZoneNamePacific_Samoa /*name*/,
35653  0x8b2699b4 /*zoneId*/,
35654  &kZoneContext /*zoneContext*/,
35655  3 /*numEras*/,
35656  kZoneEraPacific_Pago_Pago /*eras*/,
35657  &kZonePacific_Pago_Pago /*targetInfo*/,
35658 };
35659 
35660 //---------------------------------------------------------------------------
35661 // Link name: Pacific/Truk -> Pacific/Port_Moresby
35662 //---------------------------------------------------------------------------
35663 
35664 static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0e" "Truk";
35665 
35666 const complete::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
35667  kZoneNamePacific_Truk /*name*/,
35668  0x234010a9 /*zoneId*/,
35669  &kZoneContext /*zoneContext*/,
35670  3 /*numEras*/,
35671  kZoneEraPacific_Port_Moresby /*eras*/,
35672  &kZonePacific_Port_Moresby /*targetInfo*/,
35673 };
35674 
35675 //---------------------------------------------------------------------------
35676 // Link name: Pacific/Wake -> Pacific/Tarawa
35677 //---------------------------------------------------------------------------
35678 
35679 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0e" "Wake";
35680 
35681 const complete::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
35682  kZoneNamePacific_Wake /*name*/,
35683  0x23416c2b /*zoneId*/,
35684  &kZoneContext /*zoneContext*/,
35685  2 /*numEras*/,
35686  kZoneEraPacific_Tarawa /*eras*/,
35687  &kZonePacific_Tarawa /*targetInfo*/,
35688 };
35689 
35690 //---------------------------------------------------------------------------
35691 // Link name: Pacific/Wallis -> Pacific/Tarawa
35692 //---------------------------------------------------------------------------
35693 
35694 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0e" "Wallis";
35695 
35696 const complete::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
35697  kZoneNamePacific_Wallis /*name*/,
35698  0xf94ddb0f /*zoneId*/,
35699  &kZoneContext /*zoneContext*/,
35700  2 /*numEras*/,
35701  kZoneEraPacific_Tarawa /*eras*/,
35702  &kZonePacific_Tarawa /*targetInfo*/,
35703 };
35704 
35705 //---------------------------------------------------------------------------
35706 // Link name: Pacific/Yap -> Pacific/Port_Moresby
35707 //---------------------------------------------------------------------------
35708 
35709 static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0e" "Yap";
35710 
35711 const complete::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
35712  kZoneNamePacific_Yap /*name*/,
35713  0xbb40138d /*zoneId*/,
35714  &kZoneContext /*zoneContext*/,
35715  3 /*numEras*/,
35716  kZoneEraPacific_Port_Moresby /*eras*/,
35717  &kZonePacific_Port_Moresby /*targetInfo*/,
35718 };
35719 
35720 //---------------------------------------------------------------------------
35721 // Link name: Poland -> Europe/Warsaw
35722 //---------------------------------------------------------------------------
35723 
35724 static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";
35725 
35726 const complete::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
35727  kZoneNamePoland /*name*/,
35728  0xca913b23 /*zoneId*/,
35729  &kZoneContext /*zoneContext*/,
35730  9 /*numEras*/,
35731  kZoneEraEurope_Warsaw /*eras*/,
35732  &kZoneEurope_Warsaw /*targetInfo*/,
35733 };
35734 
35735 //---------------------------------------------------------------------------
35736 // Link name: Portugal -> Europe/Lisbon
35737 //---------------------------------------------------------------------------
35738 
35739 static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";
35740 
35741 const complete::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
35742  kZoneNamePortugal /*name*/,
35743  0xc3274593 /*zoneId*/,
35744  &kZoneContext /*zoneContext*/,
35745  8 /*numEras*/,
35746  kZoneEraEurope_Lisbon /*eras*/,
35747  &kZoneEurope_Lisbon /*targetInfo*/,
35748 };
35749 
35750 //---------------------------------------------------------------------------
35751 // Link name: ROC -> Asia/Taipei
35752 //---------------------------------------------------------------------------
35753 
35754 static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";
35755 
35756 const complete::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
35757  kZoneNameROC /*name*/,
35758  0x0b881a29 /*zoneId*/,
35759  &kZoneContext /*zoneContext*/,
35760  4 /*numEras*/,
35761  kZoneEraAsia_Taipei /*eras*/,
35762  &kZoneAsia_Taipei /*targetInfo*/,
35763 };
35764 
35765 //---------------------------------------------------------------------------
35766 // Link name: ROK -> Asia/Seoul
35767 //---------------------------------------------------------------------------
35768 
35769 static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";
35770 
35771 const complete::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
35772  kZoneNameROK /*name*/,
35773  0x0b881a31 /*zoneId*/,
35774  &kZoneContext /*zoneContext*/,
35775  6 /*numEras*/,
35776  kZoneEraAsia_Seoul /*eras*/,
35777  &kZoneAsia_Seoul /*targetInfo*/,
35778 };
35779 
35780 //---------------------------------------------------------------------------
35781 // Link name: Singapore -> Asia/Singapore
35782 //---------------------------------------------------------------------------
35783 
35784 static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";
35785 
35786 const complete::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
35787  kZoneNameSingapore /*name*/,
35788  0xa8598c8d /*zoneId*/,
35789  &kZoneContext /*zoneContext*/,
35790  9 /*numEras*/,
35791  kZoneEraAsia_Singapore /*eras*/,
35792  &kZoneAsia_Singapore /*targetInfo*/,
35793 };
35794 
35795 //---------------------------------------------------------------------------
35796 // Link name: Turkey -> Europe/Istanbul
35797 //---------------------------------------------------------------------------
35798 
35799 static const char kZoneNameTurkey[] ACE_TIME_PROGMEM = "Turkey";
35800 
35801 const complete::ZoneInfo kZoneTurkey ACE_TIME_PROGMEM = {
35802  kZoneNameTurkey /*name*/,
35803  0xd455e469 /*zoneId*/,
35804  &kZoneContext /*zoneContext*/,
35805  13 /*numEras*/,
35806  kZoneEraEurope_Istanbul /*eras*/,
35807  &kZoneEurope_Istanbul /*targetInfo*/,
35808 };
35809 
35810 //---------------------------------------------------------------------------
35811 // Link name: UCT -> Etc/UTC
35812 //---------------------------------------------------------------------------
35813 
35814 static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";
35815 
35816 const complete::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
35817  kZoneNameUCT /*name*/,
35818  0x0b882571 /*zoneId*/,
35819  &kZoneContext /*zoneContext*/,
35820  1 /*numEras*/,
35821  kZoneEraEtc_UTC /*eras*/,
35822  &kZoneEtc_UTC /*targetInfo*/,
35823 };
35824 
35825 //---------------------------------------------------------------------------
35826 // Link name: US/Alaska -> America/Anchorage
35827 //---------------------------------------------------------------------------
35828 
35829 static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";
35830 
35831 const complete::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
35832  kZoneNameUS_Alaska /*name*/,
35833  0xfa300bc9 /*zoneId*/,
35834  &kZoneContext /*zoneContext*/,
35835  8 /*numEras*/,
35836  kZoneEraAmerica_Anchorage /*eras*/,
35837  &kZoneAmerica_Anchorage /*targetInfo*/,
35838 };
35839 
35840 //---------------------------------------------------------------------------
35841 // Link name: US/Aleutian -> America/Adak
35842 //---------------------------------------------------------------------------
35843 
35844 static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";
35845 
35846 const complete::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
35847  kZoneNameUS_Aleutian /*name*/,
35848  0x4fe013ef /*zoneId*/,
35849  &kZoneContext /*zoneContext*/,
35850  9 /*numEras*/,
35851  kZoneEraAmerica_Adak /*eras*/,
35852  &kZoneAmerica_Adak /*targetInfo*/,
35853 };
35854 
35855 //---------------------------------------------------------------------------
35856 // Link name: US/Arizona -> America/Phoenix
35857 //---------------------------------------------------------------------------
35858 
35859 static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";
35860 
35861 const complete::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
35862  kZoneNameUS_Arizona /*name*/,
35863  0x4ec52670 /*zoneId*/,
35864  &kZoneContext /*zoneContext*/,
35865  7 /*numEras*/,
35866  kZoneEraAmerica_Phoenix /*eras*/,
35867  &kZoneAmerica_Phoenix /*targetInfo*/,
35868 };
35869 
35870 //---------------------------------------------------------------------------
35871 // Link name: US/Central -> America/Chicago
35872 //---------------------------------------------------------------------------
35873 
35874 static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";
35875 
35876 const complete::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
35877  kZoneNameUS_Central /*name*/,
35878  0xcabdcb25 /*zoneId*/,
35879  &kZoneContext /*zoneContext*/,
35880  8 /*numEras*/,
35881  kZoneEraAmerica_Chicago /*eras*/,
35882  &kZoneAmerica_Chicago /*targetInfo*/,
35883 };
35884 
35885 //---------------------------------------------------------------------------
35886 // Link name: US/East-Indiana -> America/Indiana/Indianapolis
35887 //---------------------------------------------------------------------------
35888 
35889 static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";
35890 
35891 const complete::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
35892  kZoneNameUS_East_Indiana /*name*/,
35893  0x6dcf558a /*zoneId*/,
35894  &kZoneContext /*zoneContext*/,
35895  11 /*numEras*/,
35896  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
35897  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
35898 };
35899 
35900 //---------------------------------------------------------------------------
35901 // Link name: US/Eastern -> America/New_York
35902 //---------------------------------------------------------------------------
35903 
35904 static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";
35905 
35906 const complete::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
35907  kZoneNameUS_Eastern /*name*/,
35908  0x5bb7e78e /*zoneId*/,
35909  &kZoneContext /*zoneContext*/,
35910  6 /*numEras*/,
35911  kZoneEraAmerica_New_York /*eras*/,
35912  &kZoneAmerica_New_York /*targetInfo*/,
35913 };
35914 
35915 //---------------------------------------------------------------------------
35916 // Link name: US/Hawaii -> Pacific/Honolulu
35917 //---------------------------------------------------------------------------
35918 
35919 static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";
35920 
35921 const complete::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
35922  kZoneNameUS_Hawaii /*name*/,
35923  0x09c8de2f /*zoneId*/,
35924  &kZoneContext /*zoneContext*/,
35925  5 /*numEras*/,
35926  kZoneEraPacific_Honolulu /*eras*/,
35927  &kZonePacific_Honolulu /*targetInfo*/,
35928 };
35929 
35930 //---------------------------------------------------------------------------
35931 // Link name: US/Indiana-Starke -> America/Indiana/Knox
35932 //---------------------------------------------------------------------------
35933 
35934 static const char kZoneNameUS_Indiana_Starke[] ACE_TIME_PROGMEM = "US/Indiana-Starke";
35935 
35936 const complete::ZoneInfo kZoneUS_Indiana_Starke ACE_TIME_PROGMEM = {
35937  kZoneNameUS_Indiana_Starke /*name*/,
35938  0x67977be7 /*zoneId*/,
35939  &kZoneContext /*zoneContext*/,
35940  7 /*numEras*/,
35941  kZoneEraAmerica_Indiana_Knox /*eras*/,
35942  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
35943 };
35944 
35945 //---------------------------------------------------------------------------
35946 // Link name: US/Michigan -> America/Detroit
35947 //---------------------------------------------------------------------------
35948 
35949 static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";
35950 
35951 const complete::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
35952  kZoneNameUS_Michigan /*name*/,
35953  0x766bb7bc /*zoneId*/,
35954  &kZoneContext /*zoneContext*/,
35955  10 /*numEras*/,
35956  kZoneEraAmerica_Detroit /*eras*/,
35957  &kZoneAmerica_Detroit /*targetInfo*/,
35958 };
35959 
35960 //---------------------------------------------------------------------------
35961 // Link name: US/Mountain -> America/Denver
35962 //---------------------------------------------------------------------------
35963 
35964 static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";
35965 
35966 const complete::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
35967  kZoneNameUS_Mountain /*name*/,
35968  0x6eb88247 /*zoneId*/,
35969  &kZoneContext /*zoneContext*/,
35970  6 /*numEras*/,
35971  kZoneEraAmerica_Denver /*eras*/,
35972  &kZoneAmerica_Denver /*targetInfo*/,
35973 };
35974 
35975 //---------------------------------------------------------------------------
35976 // Link name: US/Pacific -> America/Los_Angeles
35977 //---------------------------------------------------------------------------
35978 
35979 static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";
35980 
35981 const complete::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
35982  kZoneNameUS_Pacific /*name*/,
35983  0xa950f6ab /*zoneId*/,
35984  &kZoneContext /*zoneContext*/,
35985  4 /*numEras*/,
35986  kZoneEraAmerica_Los_Angeles /*eras*/,
35987  &kZoneAmerica_Los_Angeles /*targetInfo*/,
35988 };
35989 
35990 //---------------------------------------------------------------------------
35991 // Link name: US/Samoa -> Pacific/Pago_Pago
35992 //---------------------------------------------------------------------------
35993 
35994 static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";
35995 
35996 const complete::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
35997  kZoneNameUS_Samoa /*name*/,
35998  0x566821cd /*zoneId*/,
35999  &kZoneContext /*zoneContext*/,
36000  3 /*numEras*/,
36001  kZoneEraPacific_Pago_Pago /*eras*/,
36002  &kZonePacific_Pago_Pago /*targetInfo*/,
36003 };
36004 
36005 //---------------------------------------------------------------------------
36006 // Link name: UTC -> Etc/UTC
36007 //---------------------------------------------------------------------------
36008 
36009 static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";
36010 
36011 const complete::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
36012  kZoneNameUTC /*name*/,
36013  0x0b882791 /*zoneId*/,
36014  &kZoneContext /*zoneContext*/,
36015  1 /*numEras*/,
36016  kZoneEraEtc_UTC /*eras*/,
36017  &kZoneEtc_UTC /*targetInfo*/,
36018 };
36019 
36020 //---------------------------------------------------------------------------
36021 // Link name: Universal -> Etc/UTC
36022 //---------------------------------------------------------------------------
36023 
36024 static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";
36025 
36026 const complete::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
36027  kZoneNameUniversal /*name*/,
36028  0xd0ff523e /*zoneId*/,
36029  &kZoneContext /*zoneContext*/,
36030  1 /*numEras*/,
36031  kZoneEraEtc_UTC /*eras*/,
36032  &kZoneEtc_UTC /*targetInfo*/,
36033 };
36034 
36035 //---------------------------------------------------------------------------
36036 // Link name: W-SU -> Europe/Moscow
36037 //---------------------------------------------------------------------------
36038 
36039 static const char kZoneNameW_SU[] ACE_TIME_PROGMEM = "W-SU";
36040 
36041 const complete::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = {
36042  kZoneNameW_SU /*name*/,
36043  0x7c8d8ef1 /*zoneId*/,
36044  &kZoneContext /*zoneContext*/,
36045  11 /*numEras*/,
36046  kZoneEraEurope_Moscow /*eras*/,
36047  &kZoneEurope_Moscow /*targetInfo*/,
36048 };
36049 
36050 //---------------------------------------------------------------------------
36051 // Link name: WET -> Europe/Lisbon
36052 //---------------------------------------------------------------------------
36053 
36054 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
36055 
36056 const complete::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
36057  kZoneNameWET /*name*/,
36058  0x0b882e35 /*zoneId*/,
36059  &kZoneContext /*zoneContext*/,
36060  8 /*numEras*/,
36061  kZoneEraEurope_Lisbon /*eras*/,
36062  &kZoneEurope_Lisbon /*targetInfo*/,
36063 };
36064 
36065 //---------------------------------------------------------------------------
36066 // Link name: Zulu -> Etc/UTC
36067 //---------------------------------------------------------------------------
36068 
36069 static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";
36070 
36071 const complete::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
36072  kZoneNameZulu /*name*/,
36073  0x7c9069b5 /*zoneId*/,
36074  &kZoneContext /*zoneContext*/,
36075  1 /*numEras*/,
36076  kZoneEraEtc_UTC /*eras*/,
36077  &kZoneEtc_UTC /*targetInfo*/,
36078 };
36079 
36080 
36081 }
36082 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...