- * a. Alias (int, length 1). An alias zone is an int resource. The
- * integer is the zone number of the target zone. The key of this
- * resource is an alternate name for the target zone. Aliases
- * represent Olson links and ICU compatibility IDs.
- *
- * b. Simple zone (array, length 3). The three subelements are:
- *
- * i. An intvector of transitions. These are given in epoch
- * seconds. This may be an empty invector (length 0). If the
- * transtions list is empty, then the zone's behavior is fixed and
- * given by the offset list, which will contain exactly one pair.
- * Otherwise each transtion indicates a time after which (inclusive)
- * the associated offset pair is in effect.
- *
- * ii. An intvector of offsets. These are in pairs of raw offset /
- * DST offset, in units of seconds. There will be at least one pair
- * (length >= 2 && length % 2 == 0).
- *
- * iii. A binary resource. This is of the same length as the
- * transitions vector, so length may be zero. Each unsigned byte
- * corresponds to one transition, and has a value of 0..n-1, where n
- * is the number of pairs in the offset vector. This forms a map
- * between transitions and offset pairs.
- *
- * c. Simple zone with aliases (array, length 4). This is like a
- * simple zone, but also contains a fourth element:
+ * a. Zone (table). A zone is a table resource contains several
+ * type of resources below:
+ *
+ * - typeOffsets:intvector (Required)
+ *
+ * Sets of UTC raw/dst offset pairs in seconds. Entries at
+ * 2n represents raw offset and 2n+1 represents dst offset
+ * paired with the raw offset at 2n. The very first pair represents
+ * the initial zone offset (before the first transition) always.