// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

/**
 * Date/time formatting symbols for a large subset of locales.
 *
 * DO NOT EDIT. This file is autogenerated from ICU data. See
 * 'http://go/generate_datetime_pattern_dart.cc' (Google internal)
 */

#library('date_time_patterns');

/**
 * Returns a Map from locale names to another Map that goes from skeletons
 * to the locale-specific formatting patterns. Internal use only. Call
 * initializeDateFormatting instead.
 */
Map dateTimePatternMap() => const {
  /**
   * Extended set of localized date/time patterns for locale af.
   */
  'af' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale am.
   */
  'am' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ar.
   */
  'ar' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd‏/M', // NUM_MONTH_DAY
    'MEd': 'EEE، d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M‏/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd‏/M‏/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE، d/‏M/‏yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM، y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE، d MMM، y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM، y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE، d MMMM، y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bg.
   */
  'bg' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMM, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'd MMMM, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y \'г\'.', // YEAR
    'yM': 'M.y \'г\'.', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.y \'г\'.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y \'г\'.', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y \'г\'.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y \'г\'.', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y \'г\'.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y \'г\'.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale bn.
   */
  'bn' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ca.
   */
  'ca' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale cs.
   */
  'cs' : const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale da.
   */
  'da' : const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE. d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMM', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE. d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE. d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE \'den\' d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de.
   */
  'de' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_AT.
   */
  'de_AT' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale de_CH.
   */
  'de_CH' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH \'Uhr\'', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH \'Uhr\'', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH \'Uhr\' z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale el.
   */
  'el' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en.
   */
  'en' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_AU.
   */
  'en_AU' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_GB.
   */
  'en_GB' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IE.
   */
  'en_IE' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_IN.
   */
  'en_IN' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_SG.
   */
  'en_SG' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_US.
   */
  'en_US' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ISO.
   */
  'en_ISO' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale en_ZA.
   */
  'en_ZA' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'MM/dd', // NUM_MONTH_DAY
    'MEd': 'EEE MM/dd', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'dd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE dd MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE dd MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'yyyy/MM/dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy/MM/dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'dd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, dd MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es.
   */
  'es' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale es_419.
   */
  'es_419' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale et.
   */
  'et' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.y', // YEAR_NUM_MONTH
    'yMd': 'd.M.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd.MMM.y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale eu.
   */
  'eu' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y\'eko\' MMMM\'ren\' d\'a\'', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fa.
   */
  'fa' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd LLL', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d LLL', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd LLLL', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d LLLL', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE y/M/d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm (v)', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm (z)', // HOUR_MINUTETZ
    'jz': '', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fi.
   */
  'fi' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'L.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H.mm', // HOUR24_MINUTE
    'Hms': 'H.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H.mm', // HOUR_MINUTE
    'jms': 'H.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'H.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H.mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fil.
   */
  'fil' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr.
   */
  'fr' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale fr_CA.
   */
  'fr_CA' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-MM', // YEAR_NUM_MONTH
    'yMd': 'yyyy-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE yyyy-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gl.
   */
  'gl' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gsw.
   */
  'gsw' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale gu.
   */
  'gu' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE,d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE,d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE,d,MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'hh a', // HOUR
    'jm': 'hh:mm a', // HOUR_MINUTE
    'jms': 'hh:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'hh:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'hh:mm a z', // HOUR_MINUTETZ
    'jz': 'hh a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale he.
   */
  'he' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hi.
   */
  'hi' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'MMM', // ABBR_STANDALONE_MONTH
    'LLLL': 'MMMM', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'MMM', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'MMMM', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hr.
   */
  'hr' : const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'M. yyyy.', // YEAR_NUM_MONTH
    'yMd': 'd. M. y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y.', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y.', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale hu.
   */
  'hu' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M.d.', // NUM_MONTH_DAY
    'MEd': 'M. d., EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d.', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d., EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d.', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d., EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y.M.', // YEAR_NUM_MONTH
    'yMd': 'yyyy.MM.dd.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'yyyy.MM.dd., EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y. MMM d.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y. MMM d., EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. MMMM d.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y. MMMM d., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y. QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y. QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale id.
   */
  'id' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale in.
   */
  'in' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale is.
   */
  'is' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M. yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale it.
   */
  'it' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale iw.
   */
  'iw' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd בMMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d בMMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd בMMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d בMMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd בMMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d בMMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd בMMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d בMMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ja.
   */
  'ja' : const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'M月', // ABBR_STANDALONE_MONTH
    'LLLL': 'M月', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d(EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'M月', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日(EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'M月', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日(EEEE)', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d(EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日(EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日(EEEE)', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'yQQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'yQQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H時', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale kn.
   */
  'kn' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE,d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ko.
   */
  'ko' : const {
    'd': 'd일', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M월', // NUM_MONTH
    'Md': 'M. d', // NUM_MONTH_DAY
    'MEd': 'M. d. (EEE)', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d일', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d일 (EEE)', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d일', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d일 (EEEE)', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y년', // YEAR
    'yM': 'yyyy. M.', // YEAR_NUM_MONTH
    'yMd': 'y. M. d.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'yyyy. M. d. (EEE)', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y년 MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y년 MMM d일', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y년 MMM d일 (EEE)', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y년 MMMM', // YEAR_MONTH
    'yMMMMd': 'y년 MMMM d일', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y년 MMMM d일 EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y년 QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y년 QQQQ', // YEAR_QUARTER
    'H': 'H시', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'a h시', // HOUR
    'jm': 'a h:mm', // HOUR_MINUTE
    'jms': 'a h:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'a h:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'a h:mm z', // HOUR_MINUTETZ
    'jz': 'a h시 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ln.
   */
  'ln' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lt.
   */
  'lt' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M.d', // NUM_MONTH_DAY
    'MEd': 'M-d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM-d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM-d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y.M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y-M-d EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y \'m\'. MMMM d \'d\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y \'m\'. MMMM d \'d\'., EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale lv.
   */
  'lv' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM.', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y. \'g\'.', // YEAR
    'yM': 'MM.yyyy.', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'yyyy. \'g\'. MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, yyyy. \'g\'. dd. MMM', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y. \'g\'. MMMM', // YEAR_MONTH
    'yMMMMd': 'y. \'gada\' d. MMMM', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, y. \'gada\' d. MMMM', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ml.
   */
  'ml' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'M/d, EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'MMM d, EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'MMMM d, EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'd-M-yyyy, EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y MMM d, EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'y, MMMM d', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y, MMMM d, EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mr.
   */
  'mr' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H-mm', // HOUR24_MINUTE
    'Hms': 'H-mm-ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ms.
   */
  'ms' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale mt.
   */
  'mt' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd \'ta\'’ MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'ta\'’ MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale nl.
   */
  'nl' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd-MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'd-M-y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d-M-y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale no.
   */
  'no' : const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M y', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale or.
   */
  'or' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M-y', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pl.
   */
  'pl' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, d.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_BR.
   */
  'pt_BR' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH\'h\'mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH\'h\'mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH\'h\'mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH\'h\'mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm\'min\'ss\'s\'', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt_PT.
   */
  'pt_PT' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd/MM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d/MM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MM/y', // YEAR_ABBR_MONTH
    'yMMMd': 'd/MM/y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d/MM/y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ \'de\' y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ \'de\' y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale pt.
   */
  'pt' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd/MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd \'de\' MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d \'de\' MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd \'de\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d \'de\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM/yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd/MM/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd/MM/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM \'de\' y', // YEAR_ABBR_MONTH
    'yMMMd': 'd \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d \'de\' MMM \'de\' y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM \'de\' y', // YEAR_MONTH
    'yMMMMd': 'd \'de\' MMMM \'de\' y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d \'de\' MMMM \'de\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH\'h\'mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH\'h\'mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH\'h\'mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH\'h\'mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm\'min\'ss\'s\'', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ro.
   */
  'ro' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ru.
   */
  'ru' : const {
    'd': 'd', // DAY
    'E': 'ccc', // ABBR_WEEKDAY
    'EEEE': 'cccc', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'ccc, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'cccc, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.y', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y \'г\'.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'г\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'г\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sk.
   */
  'sk' : const {
    'd': 'd.', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L.', // NUM_MONTH
    'Md': 'd.M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'd.M.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd.M.yyyy', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sl.
   */
  'sl' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd. M.', // NUM_MONTH_DAY
    'MEd': 'EEE, d. MM.', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd. M. y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sq.
   */
  'sq' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, d.M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M.yyyy', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d.M.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H.mm', // HOUR24_MINUTE
    'Hms': 'H.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'h.a', // HOUR
    'jm': 'h.mm.a', // HOUR_MINUTE
    'jms': 'h.mm.ss.a', // HOUR_MINUTE_SECOND
    'jmv': 'h.mm.a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h.mm.a z', // HOUR_MINUTETZ
    'jz': 'h.a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sr.
   */
  'sr' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd. MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d. MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd. MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d. MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y.', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'd. M. y.', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d. M. yyyy.', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y.', // YEAR_ABBR_MONTH
    'yMMMd': 'd. MMM y.', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d. MMM y.', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y.', // YEAR_MONTH
    'yMMMMd': 'd. MMMM y.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d. MMMM y.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ. y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ. y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH.mm', // HOUR24_MINUTE
    'Hms': 'HH.mm.ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH.mm', // HOUR_MINUTE
    'jms': 'HH.mm.ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH.mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH.mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm.ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sv.
   */
  'sv' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd:\'e\' MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d:\'e\' MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-MM', // YEAR_NUM_MONTH
    'yMd': 'yyyy-MM-dd', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-MM-dd', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE\'en\' \'den\' d:\'e\' MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale sw.
   */
  'sw' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ta.
   */
  'ta' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM, y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale te.
   */
  'te' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d/M/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd, MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d, MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale th.
   */
  'th' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd/M', // NUM_MONTH_DAY
    'MEd': 'EEE, d/M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'G y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE d/M/yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'H', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'H', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'H z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tl.
   */
  'tl' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, yyyy-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, MMMM d y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale tr.
   */
  'tr' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'dd.MM', // NUM_MONTH_DAY
    'MEd': 'dd.MM EEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMMM', // ABBR_MONTH_DAY
    'MMMEd': 'd MMMM EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'dd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'dd MMMM EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yyyy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'dd.MM.yyyy EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'd MMM y EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'd MMMM y EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y-QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y-QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale uk.
   */
  'uk' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd.M', // NUM_MONTH_DAY
    'MEd': 'EEE, dd.MM', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'MM.yyyy', // YEAR_NUM_MONTH
    'yMd': 'dd.MM.yy', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, dd.MM.yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'LLL y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'LLLL y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y \'р\'.', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, d MMMM y \'р\'.', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'HH:mm', // HOUR_MINUTE
    'jms': 'HH:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'HH:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'HH:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale ur.
   */
  'ur' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'y-M', // YEAR_NUM_MONTH
    'yMd': 'y-M-d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, y-M-d', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y MMM', // YEAR_ABBR_MONTH
    'yMMMd': 'y MMM d', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, y MMM d', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y MMMM', // YEAR_MONTH
    'yMMMMd': 'd؍ MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE؍ d؍ MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y QQQQ', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale vi.
   */
  'vi' : const {
    'd': '\'Ngày\' d', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'd-M', // NUM_MONTH_DAY
    'MEd': 'EEE, d-M', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'd MMM', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, d MMM', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'd MMMM', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, d MMMM', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': '\'Năm\' y', // YEAR
    'yM': 'M/yyyy', // YEAR_NUM_MONTH
    'yMd': 'd/M/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, d-M-yyyy', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'd MMM, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, d MMM y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM, y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE, \'ngày\' d MMMM \'năm\' y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'HH', // HOUR
    'jm': 'H:mm', // HOUR_MINUTE
    'jms': 'H:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'H:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'H:mm z', // HOUR_MINUTETZ
    'jz': 'HH z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_TW.
   */
  'zh_TW' : const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'M/d（EEE）', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_CN.
   */
  'zh_CN' : const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'M-dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y年M月d日', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y年M月d日，EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah时 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh_HK.
   */
  'zh_HK' : const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'EEE, M-d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'y/M', // YEAR_NUM_MONTH
    'yMd': 'y/M/d', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y/M/d（EEE）', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H時', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah時', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah時 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zh.
   */
  'zh' : const {
    'd': 'd日', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'M月', // NUM_MONTH
    'Md': 'M-d', // NUM_MONTH_DAY
    'MEd': 'M-dEEE', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'M月d日', // ABBR_MONTH_DAY
    'MMMEd': 'M月d日EEE', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'M月d日', // MONTH_DAY
    'MMMMEEEEd': 'M月d日EEEE', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y年', // YEAR
    'yM': 'yyyy-M', // YEAR_NUM_MONTH
    'yMd': 'y年M月d日', // YEAR_NUM_MONTH_DAY
    'yMEd': 'y年M月d日，EEE', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'y年M月', // YEAR_ABBR_MONTH
    'yMMMd': 'y年M月d日', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'y年M月d日EEE', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'y年M月', // YEAR_MONTH
    'yMMMMd': 'y年M月d日', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'y年M月d日EEEE', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'y年QQQ', // YEAR_ABBR_QUARTER
    'yQQQQ': 'y年QQQQ', // YEAR_QUARTER
    'H': 'H时', // HOUR24
    'Hm': 'H:mm', // HOUR24_MINUTE
    'Hms': 'H:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'ah时', // HOUR
    'jm': 'ah:mm', // HOUR_MINUTE
    'jms': 'ah:mm:ss', // HOUR_MINUTE_SECOND
    'jmv': 'ah:mm v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'ah:mm z', // HOUR_MINUTETZ
    'jz': 'ah时 z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  },

  /**
   * Extended set of localized date/time patterns for locale zu.
   */
  'zu' : const {
    'd': 'd', // DAY
    'E': 'EEE', // ABBR_WEEKDAY
    'EEEE': 'EEEE', // WEEKDAY
    'LLL': 'LLL', // ABBR_STANDALONE_MONTH
    'LLLL': 'LLLL', // STANDALONE_MONTH
    'M': 'L', // NUM_MONTH
    'Md': 'M/d', // NUM_MONTH_DAY
    'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY
    'MMM': 'LLL', // ABBR_MONTH
    'MMMd': 'MMM d', // ABBR_MONTH_DAY
    'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY
    'MMMM': 'LLLL', // MONTH
    'MMMMd': 'MMMM d', // MONTH_DAY
    'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY
    'QQQ': 'QQQ', // ABBR_QUARTER
    'QQQQ': 'QQQQ', // QUARTER
    'y': 'y', // YEAR
    'yM': 'M/y', // YEAR_NUM_MONTH
    'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY
    'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY
    'yMMM': 'MMM y', // YEAR_ABBR_MONTH
    'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY
    'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY
    'yMMMM': 'MMMM y', // YEAR_MONTH
    'yMMMMd': 'd MMMM y', // YEAR_MONTH_DAY
    'yMMMMEEEEd': 'EEEE d MMMM y', // YEAR_MONTH_WEEKDAY_DAY
    'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER
    'yQQQQ': 'QQQQ y', // YEAR_QUARTER
    'H': 'HH', // HOUR24
    'Hm': 'HH:mm', // HOUR24_MINUTE
    'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND
    'j': 'h a', // HOUR
    'jm': 'h:mm a', // HOUR_MINUTE
    'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND
    'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ
    'jmz': 'h:mm a z', // HOUR_MINUTETZ
    'jz': 'h a z', // HOURGENERIC_TZ
    'm': 'm', // MINUTE
    'ms': 'mm:ss', // MINUTE_SECOND
    's': 's', // SECOND
    'v': 'v', // ABBR_GENERIC_TZ
    'z': 'z', // ABBR_SPECIFIC_TZ
    'zzzz': 'zzzz', // SPECIFIC_TZ
    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
  }
};