diff --git a/bin/extract_to_arb.dart b/bin/extract_to_arb.dart
index a8fab7b..181d4f1 100644
--- a/bin/extract_to_arb.dart
+++ b/bin/extract_to_arb.dart
@@ -20,18 +20,24 @@
 main(List<String> args) {
   var targetDir;
   var parser = new ArgParser();
-  parser.addFlag("suppress-warnings", defaultsTo: false, callback: (x) =>
-      suppressWarnings = x, help: 'Suppress printing of warnings.');
-  parser.addFlag("warnings-are-errors", defaultsTo: false, callback: (x) =>
-      warningsAreErrors = x,
+  parser.addFlag("suppress-warnings",
+      defaultsTo: false,
+      callback: (x) => suppressWarnings = x,
+      help: 'Suppress printing of warnings.');
+  parser.addFlag("warnings-are-errors",
+      defaultsTo: false,
+      callback: (x) => warningsAreErrors = x,
       help: 'Treat all warnings as errors, stop processing ');
-  parser.addFlag("embedded-plurals", defaultsTo: true,
+  parser.addFlag("embedded-plurals",
+      defaultsTo: true,
       callback: (x) => allowEmbeddedPluralsAndGenders = x,
       help: 'Allow plurals and genders to be embedded as part of a larger '
-          'string, otherwise they must be at the top level.');
+      'string, otherwise they must be at the top level.');
 
-  parser.addOption("output-dir", defaultsTo: '.', callback: (value) => targetDir
-      = value, help: 'Specify the output directory.');
+  parser.addOption("output-dir",
+      defaultsTo: '.',
+      callback: (value) => targetDir = value,
+      help: 'Specify the output directory.');
   parser.parse(args);
   if (args.length == 0) {
     print('Accepts Dart files and produces intl_messages.json');
@@ -74,7 +80,6 @@
   return out;
 }
 
-
 Map arbMetadata(MainMessage message) {
   var out = {};
   var desc = message.description;
@@ -102,20 +107,20 @@
  * Return a version of the message string with
  * with ICU parameters "{variable}" rather than Dart interpolations "$variable".
  */
-String icuForm(MainMessage message) => message.expanded(
-    turnInterpolationIntoICUForm);
+String icuForm(MainMessage message) =>
+    message.expanded(turnInterpolationIntoICUForm);
 
 String turnInterpolationIntoICUForm(Message message, chunk,
     {bool shouldEscapeICU: false}) {
   if (chunk is String) {
-    return shouldEscapeICU? escape(chunk) : chunk;
+    return shouldEscapeICU ? escape(chunk) : chunk;
   }
   if (chunk is int && chunk >= 0 && chunk < message.arguments.length) {
     return "{${message.arguments[chunk]}}";
   }
   if (chunk is SubMessage) {
-    return chunk.expanded((message, chunk) => turnInterpolationIntoICUForm(
-        message, chunk, shouldEscapeICU: true));
+    return chunk.expanded((message, chunk) =>
+        turnInterpolationIntoICUForm(message, chunk, shouldEscapeICU: true));
   }
   if (chunk is Message) {
     return chunk.expanded((message, chunk) => turnInterpolationIntoICUForm(
diff --git a/bin/generate_from_arb.dart b/bin/generate_from_arb.dart
index b4e48d8..9e7b1a7 100644
--- a/bin/generate_from_arb.dart
+++ b/bin/generate_from_arb.dart
@@ -33,16 +33,20 @@
 main(List<String> args) {
   var targetDir;
   var parser = new ArgParser();
-  parser.addFlag("suppress-warnings", defaultsTo: false,
+  parser.addFlag("suppress-warnings",
+      defaultsTo: false,
       callback: (x) => suppressWarnings = x,
       help: 'Suppress printing of warnings.');
-  parser.addOption("output-dir", defaultsTo: '.',
+  parser.addOption("output-dir",
+      defaultsTo: '.',
       callback: (x) => targetDir = x,
       help: 'Specify the output directory.');
-  parser.addOption("generated-file-prefix", defaultsTo: '',
+  parser.addOption("generated-file-prefix",
+      defaultsTo: '',
       callback: (x) => generatedFilePrefix = x,
       help: 'Specify a prefix to be used for the generated file names.');
-  parser.addFlag("use-deferred-loading", defaultsTo: true,
+  parser.addFlag("use-deferred-loading",
+      defaultsTo: true,
       callback: (x) => useDeferredLoading = x,
       help: 'Generate message code that must be loaded with deferred loading. '
       'Otherwise, all messages are eagerly loaded.');
@@ -64,16 +68,16 @@
 
   messages = new Map();
   for (var eachMap in allMessages) {
-    eachMap.forEach((key, value) =>
-        messages.putIfAbsent(key, () => []).add(value));
+    eachMap.forEach(
+        (key, value) => messages.putIfAbsent(key, () => []).add(value));
   }
   for (var arg in jsonFiles) {
     var file = new File(arg);
     generateLocaleFile(file, targetDir);
   }
 
-  var mainImportFile = new File(path.join(targetDir,
-      '${generatedFilePrefix}messages_all.dart'));
+  var mainImportFile =
+      new File(path.join(targetDir, '${generatedFilePrefix}messages_all.dart'));
   mainImportFile.writeAsStringSync(generateMainImportFile());
 }
 
@@ -121,7 +125,8 @@
   if (data == null) return null;
   var parsed = pluralAndGenderParser.parse(data).value;
   if (parsed is LiteralString && parsed.string.isEmpty) {
-    parsed = plainParser.parse(data).value;;
+    parsed = plainParser.parse(data).value;
+    ;
   }
   return new BasicTranslatedMessage(id, parsed);
 }
@@ -131,11 +136,11 @@
  * up its original messages in our [messages].
  */
 class BasicTranslatedMessage extends TranslatedMessage {
-  BasicTranslatedMessage(String name, translated) :
-      super(name, translated);
+  BasicTranslatedMessage(String name, translated) : super(name, translated);
 
-  List<MainMessage> get originalMessages => (super.originalMessages == null) ?
-      _findOriginals() : super.originalMessages;
+  List<MainMessage> get originalMessages => (super.originalMessages == null)
+      ? _findOriginals()
+      : super.originalMessages;
 
   // We know that our [id] is the name of the message, which is used as the
   //key in [messages].
diff --git a/example/basic/basic_example.dart b/example/basic/basic_example.dart
index 4a8c5c3..25f9cb0 100644
--- a/example/basic/basic_example.dart
+++ b/example/basic/basic_example.dart
@@ -16,6 +16,7 @@
  */
 
 library intl_basic_example;
+
 import 'dart:async';
 import 'package:intl/date_symbol_data_local.dart';
 import 'package:intl/intl.dart';
@@ -39,8 +40,14 @@
   var thaiDatesFuture = initializeDateFormatting('th_TH', null);
   var germanMessagesFuture = initializeMessages('de_DE');
   var thaiMessagesFuture = initializeMessages('th_TH');
-  Future.wait([germanDatesFuture, thaiDatesFuture, germanMessagesFuture,
-                thaiMessagesFuture]).then(program);
+  Future
+      .wait([
+    germanDatesFuture,
+    thaiDatesFuture,
+    germanMessagesFuture,
+    thaiMessagesFuture
+  ])
+      .then(program);
 }
 
 // Because the initialization messages return futures we split out the main
diff --git a/example/basic/messages_all.dart b/example/basic/messages_all.dart
index 75f6d02..88942b3 100644
--- a/example/basic/messages_all.dart
+++ b/example/basic/messages_all.dart
@@ -19,9 +19,12 @@
 // TODO(alanknight): Use lazy loading of the requested library.
 MessageLookupByLibrary _findExact(localeName) {
   switch (localeName) {
-    case 'th_TH' : return th_TH.messages;
-    case 'de' : return de.messages;
-    default: return null;
+    case 'th_TH':
+      return th_TH.messages;
+    case 'de':
+      return de.messages;
+    default:
+      return null;
   }
 }
 
diff --git a/example/basic/messages_de.dart b/example/basic/messages_de.dart
index c0145c4..dea00ac 100644
--- a/example/basic/messages_de.dart
+++ b/example/basic/messages_de.dart
@@ -8,17 +8,16 @@
  * function name.
  */
 library messages_de;
+
 import 'package:intl/intl.dart';
 import 'package:intl/message_lookup_by_library.dart';
 
 final messages = new MessageLookup();
 
 class MessageLookup extends MessageLookupByLibrary {
-
   get localeName => 'de';
 
   final messages = {
     "runAt": (time, day) => Intl.message("Ausgedruckt am $time am $day.")
   };
 }
-
diff --git a/example/basic/messages_th_th.dart b/example/basic/messages_th_th.dart
index 5d3813e..c5f3187 100644
--- a/example/basic/messages_th_th.dart
+++ b/example/basic/messages_th_th.dart
@@ -8,13 +8,13 @@
  * function name.
  */
 library messages_th_TH;
+
 import 'package:intl/intl.dart';
 import 'package:intl/message_lookup_by_library.dart';
 
 final messages = new MessageLookup();
 
 class MessageLookup extends MessageLookupByLibrary {
-
   get localeName => 'th_TH';
 
   final messages = {
diff --git a/lib/date_symbol_data_file.dart b/lib/date_symbol_data_file.dart
index 1e641df..c1b5ea4 100644
--- a/lib/date_symbol_data_file.dart
+++ b/lib/date_symbol_data_file.dart
@@ -32,14 +32,12 @@
   initializeDateSymbols(() => new LazyLocaleData(
       reader, _createDateSymbol, availableLocalesForDateFormatting));
   var reader2 = new FileDataReader(path.join(filePath, 'patterns'));
-  initializeDatePatterns(() => new LazyLocaleData(
-      reader2, (x) => x, availableLocalesForDateFormatting));
-  return initializeIndividualLocaleDateFormatting(
-      (symbols, patterns) {
-        return Future.wait([
-            symbols.initLocale(locale),
-            patterns.initLocale(locale)]);
-      });
+  initializeDatePatterns(() =>
+      new LazyLocaleData(reader2, (x) => x, availableLocalesForDateFormatting));
+  return initializeIndividualLocaleDateFormatting((symbols, patterns) {
+    return Future
+        .wait([symbols.initLocale(locale), patterns.initLocale(locale)]);
+  });
 }
 
 /** Defines how new date symbol entries are created. */
diff --git a/lib/date_symbol_data_http_request.dart b/lib/date_symbol_data_http_request.dart
index 4f724f8..5e206f6 100644
--- a/lib/date_symbol_data_http_request.dart
+++ b/lib/date_symbol_data_http_request.dart
@@ -30,16 +30,14 @@
   initializeDateSymbols(() => new LazyLocaleData(
       reader, _createDateSymbol, availableLocalesForDateFormatting));
   var reader2 = new HttpRequestDataReader('${url}patterns/');
-  initializeDatePatterns(() => new LazyLocaleData(
-      reader2, (x) => x, availableLocalesForDateFormatting));
-  var actualLocale = Intl.verifiedLocale(locale,
-      (l) => availableLocalesForDateFormatting.contains(l));
-  return initializeIndividualLocaleDateFormatting(
-      (symbols, patterns) {
-        return Future.wait([
-            symbols.initLocale(actualLocale),
-            patterns.initLocale(actualLocale)]);
-      });
+  initializeDatePatterns(() =>
+      new LazyLocaleData(reader2, (x) => x, availableLocalesForDateFormatting));
+  var actualLocale = Intl.verifiedLocale(
+      locale, (l) => availableLocalesForDateFormatting.contains(l));
+  return initializeIndividualLocaleDateFormatting((symbols, patterns) {
+    return Future.wait(
+        [symbols.initLocale(actualLocale), patterns.initLocale(actualLocale)]);
+  });
 }
 
 /** Defines how new date symbol entries are created. */
diff --git a/lib/date_symbol_data_local.dart b/lib/date_symbol_data_local.dart
index c29485b..6e3a1e7 100644
--- a/lib/date_symbol_data_local.dart
+++ b/lib/date_symbol_data_local.dart
@@ -45,42 +45,145 @@
   /**
    * Date/time formatting symbols for locale en_ISO.
    */
-  "en_ISO" : new DateSymbols(
+  "en_ISO": new DateSymbols(
       NAME: 'en_ISO',
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
-      STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T',
-        'F', 'S'],
+      STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d',
-        'yyyy-MM-dd'],
+      DATEFORMATS: const [
+    'EEEE, y MMMM dd',
+    'y MMMM d',
+    'y MMM d',
+    'yyyy-MM-dd'
+  ],
       TIMEFORMATS: const ['HH:mm:ss v', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}',
-        '{1}, {0}', '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       AVAILABLEFORMATS: const {'Md': 'M/d', 'MMMMd': 'MMMM d', 'MMMd': 'MMM d'},
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -89,38 +192,131 @@
   /**
    * Date/time formatting symbols for locale af.
    */
-  "af" : new DateSymbols(
+  "af": new DateSymbols(
       NAME: "af",
       ERAS: const ['v.C.', 'n.C.'],
       ERANAMES: const ['voor Christus', 'na Christus'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie',
-        'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'],
-      STANDALONEMONTHS: const ['Januarie', 'Februarie', 'Maart', 'April', 'Mei',
-        'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November',
-        'Desember'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
-      WEEKDAYS: const ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag',
-        'Vrydag', 'Saterdag'],
-      STANDALONEWEEKDAYS: const ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag',
-        'Donderdag', 'Vrydag', 'Saterdag'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januarie',
+    'Februarie',
+    'Maart',
+    'April',
+    'Mei',
+    'Junie',
+    'Julie',
+    'Augustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januarie',
+    'Februarie',
+    'Maart',
+    'April',
+    'Mei',
+    'Junie',
+    'Julie',
+    'Augustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      WEEKDAYS: const [
+    'Sondag',
+    'Maandag',
+    'Dinsdag',
+    'Woensdag',
+    'Donderdag',
+    'Vrydag',
+    'Saterdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sondag',
+    'Maandag',
+    'Dinsdag',
+    'Woensdag',
+    'Donderdag',
+    'Vrydag',
+    'Saterdag'
+  ],
       SHORTWEEKDAYS: const ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'],
       STANDALONESHORTWEEKDAYS: const ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'],
       NARROWWEEKDAYS: const ['S', 'M', 'D', 'W', 'D', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'D', 'W', 'D', 'V', 'S'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['1ste kwartaal', '2de kwartaal', '3de kwartaal',
-        '4de kwartaal'],
+      QUARTERS: const [
+    '1ste kwartaal',
+    '2de kwartaal',
+    '3de kwartaal',
+    '4de kwartaal'
+  ],
       AMPMS: const ['vm.', 'nm.'],
       DATEFORMATS: const ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM y', 'y-MM-dd'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -128,46 +324,126 @@
   /**
    * Date/time formatting symbols for locale am.
    */
-  "am" : new DateSymbols(
+  "am": new DateSymbols(
       NAME: "am",
       ERAS: const ['ዓ/ዓ', 'ዓ/ም'],
       ERANAMES: const ['ዓመተ ዓለም', 'ዓመተ ምሕረት'],
-      NARROWMONTHS: const ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ', 'ጁ',
-        'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'],
-      STANDALONENARROWMONTHS: const ['ጃ', 'ፌ', 'ማ', 'ኤ', 'ሜ', 'ጁ',
-        'ጁ', 'ኦ', 'ሴ', 'ኦ', 'ኖ', 'ዲ'],
-      MONTHS: const ['ጃንዩወሪ', 'ፌብሩወሪ', 'ማርች',
-        'ኤፕሪል', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስት',
-        'ሴፕቴምበር', 'ኦክተውበር', 'ኖቬምበር',
-        'ዲሴምበር'],
-      STANDALONEMONTHS: const ['ጃንዩወሪ', 'ፌብሩወሪ',
-        'ማርች', 'ኤፕሪል', 'ሜይ', 'ጁን', 'ጁላይ',
-        'ኦገስት', 'ሴፕቴምበር', 'ኦክቶበር',
-        'ኖቬምበር', 'ዲሴምበር'],
-      SHORTMONTHS: const ['ጃንዩ', 'ፌብሩ', 'ማርች', 'ኤፕሪ',
-        'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክተ',
-        'ኖቬም', 'ዲሴም'],
-      STANDALONESHORTMONTHS: const ['ጃንዩ', 'ፌብሩ', 'ማርች',
-        'ኤፕሪ', 'ሜይ', 'ጁን', 'ጁላይ', 'ኦገስ', 'ሴፕቴ',
-        'ኦክቶ', 'ኖቬም', 'ዲሴም'],
-      WEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ',
-        'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
-      STANDALONEWEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰኞ',
-        'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
-      SHORTWEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ',
-        'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
-      STANDALONESHORTWEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰ',
-        'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+      NARROWMONTHS: const [
+    'ጃ',
+    'ፌ',
+    'ማ',
+    'ኤ',
+    'ሜ',
+    'ጁ',
+    'ጁ',
+    'ኦ',
+    'ሴ',
+    'ኦ',
+    'ኖ',
+    'ዲ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ጃ',
+    'ፌ',
+    'ማ',
+    'ኤ',
+    'ሜ',
+    'ጁ',
+    'ጁ',
+    'ኦ',
+    'ሴ',
+    'ኦ',
+    'ኖ',
+    'ዲ'
+  ],
+      MONTHS: const [
+    'ጃንዩወሪ',
+    'ፌብሩወሪ',
+    'ማርች',
+    'ኤፕሪል',
+    'ሜይ',
+    'ጁን',
+    'ጁላይ',
+    'ኦገስት',
+    'ሴፕቴምበር',
+    'ኦክተውበር',
+    'ኖቬምበር',
+    'ዲሴምበር'
+  ],
+      STANDALONEMONTHS: const [
+    'ጃንዩወሪ',
+    'ፌብሩወሪ',
+    'ማርች',
+    'ኤፕሪል',
+    'ሜይ',
+    'ጁን',
+    'ጁላይ',
+    'ኦገስት',
+    'ሴፕቴምበር',
+    'ኦክቶበር',
+    'ኖቬምበር',
+    'ዲሴምበር'
+  ],
+      SHORTMONTHS: const [
+    'ጃንዩ',
+    'ፌብሩ',
+    'ማርች',
+    'ኤፕሪ',
+    'ሜይ',
+    'ጁን',
+    'ጁላይ',
+    'ኦገስ',
+    'ሴፕቴ',
+    'ኦክተ',
+    'ኖቬም',
+    'ዲሴም'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ጃንዩ',
+    'ፌብሩ',
+    'ማርች',
+    'ኤፕሪ',
+    'ሜይ',
+    'ጁን',
+    'ጁላይ',
+    'ኦገስ',
+    'ሴፕቴ',
+    'ኦክቶ',
+    'ኖቬም',
+    'ዲሴም'
+  ],
+      WEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+      STANDALONEWEEKDAYS: const [
+    'እሑድ',
+    'ሰኞ',
+    'ማክሰኞ',
+    'ረቡዕ',
+    'ሐሙስ',
+    'ዓርብ',
+    'ቅዳሜ'
+  ],
+      SHORTWEEKDAYS: const ['እሑድ', 'ሰኞ', 'ማክሰ', 'ረቡዕ', 'ሐሙስ', 'ዓርብ', 'ቅዳሜ'],
+      STANDALONESHORTWEEKDAYS: const [
+    'እሑድ',
+    'ሰኞ',
+    'ማክሰ',
+    'ረቡዕ',
+    'ሐሙስ',
+    'ዓርብ',
+    'ቅዳሜ'
+  ],
       NARROWWEEKDAYS: const ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'],
-      STANDALONENARROWWEEKDAYS: const ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ',
-        'ቅ'],
+      STANDALONENARROWWEEKDAYS: const ['እ', 'ሰ', 'ማ', 'ረ', 'ሐ', 'ዓ', 'ቅ'],
       SHORTQUARTERS: const ['ሩብ1', 'ሩብ2', 'ሩብ3', 'ሩብ4'],
-      QUARTERS: const ['1ኛው ሩብ', 'ሁለተኛው ሩብ',
-        '3ኛው ሩብ', '4ኛው ሩብ'],
+      QUARTERS: const ['1ኛው ሩብ', 'ሁለተኛው ሩብ', '3ኛው ሩብ', '4ኛው ሩብ'],
       AMPMS: const ['ጥዋት', 'ከሰዓት'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -175,48 +451,157 @@
   /**
    * Date/time formatting symbols for locale ar.
    */
-  "ar" : new DateSymbols(
+  "ar": new DateSymbols(
       NAME: "ar",
       ERAS: const ['ق.م', 'م'],
       ERANAMES: const ['قبل الميلاد', 'ميلادي'],
-      NARROWMONTHS: const ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل', 'غ', 'س',
-        'ك', 'ب', 'د'],
-      STANDALONENARROWMONTHS: const ['ي', 'ف', 'م', 'أ', 'و', 'ن', 'ل',
-        'غ', 'س', 'ك', 'ب', 'د'],
-      MONTHS: const ['يناير', 'فبراير', 'مارس', 'أبريل',
-        'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر',
-        'أكتوبر', 'نوفمبر', 'ديسمبر'],
-      STANDALONEMONTHS: const ['يناير', 'فبراير', 'مارس',
-        'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس',
-        'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
-      SHORTMONTHS: const ['يناير', 'فبراير', 'مارس',
-        'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس',
-        'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
-      STANDALONESHORTMONTHS: const ['يناير', 'فبراير', 'مارس',
-        'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس',
-        'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
-      WEEKDAYS: const ['الأحد', 'الاثنين', 'الثلاثاء',
-        'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
-      STANDALONEWEEKDAYS: const ['الأحد', 'الاثنين',
-        'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة',
-        'السبت'],
-      SHORTWEEKDAYS: const ['الأحد', 'الاثنين', 'الثلاثاء',
-        'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
-      STANDALONESHORTWEEKDAYS: const ['الأحد', 'الاثنين',
-        'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة',
-        'السبت'],
+      NARROWMONTHS: const [
+    'ي',
+    'ف',
+    'م',
+    'أ',
+    'و',
+    'ن',
+    'ل',
+    'غ',
+    'س',
+    'ك',
+    'ب',
+    'د'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ي',
+    'ف',
+    'م',
+    'أ',
+    'و',
+    'ن',
+    'ل',
+    'غ',
+    'س',
+    'ك',
+    'ب',
+    'د'
+  ],
+      MONTHS: const [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+  ],
+      STANDALONEMONTHS: const [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+  ],
+      SHORTMONTHS: const [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+  ],
+      WEEKDAYS: const [
+    'الأحد',
+    'الاثنين',
+    'الثلاثاء',
+    'الأربعاء',
+    'الخميس',
+    'الجمعة',
+    'السبت'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'الأحد',
+    'الاثنين',
+    'الثلاثاء',
+    'الأربعاء',
+    'الخميس',
+    'الجمعة',
+    'السبت'
+  ],
+      SHORTWEEKDAYS: const [
+    'الأحد',
+    'الاثنين',
+    'الثلاثاء',
+    'الأربعاء',
+    'الخميس',
+    'الجمعة',
+    'السبت'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'الأحد',
+    'الاثنين',
+    'الثلاثاء',
+    'الأربعاء',
+    'الخميس',
+    'الجمعة',
+    'السبت'
+  ],
       NARROWWEEKDAYS: const ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
-      STANDALONENARROWWEEKDAYS: const ['ح', 'ن', 'ث', 'ر', 'خ', 'ج',
-        'س'],
-      SHORTQUARTERS: const ['الربع الأول', 'الربع الثاني',
-        'الربع الثالث', 'الربع الرابع'],
-      QUARTERS: const ['الربع الأول', 'الربع الثاني',
-        'الربع الثالث', 'الربع الرابع'],
+      STANDALONENARROWWEEKDAYS: const ['ح', 'ن', 'ث', 'ر', 'خ', 'ج', 'س'],
+      SHORTQUARTERS: const [
+    'الربع الأول',
+    'الربع الثاني',
+    'الربع الثالث',
+    'الربع الرابع'
+  ],
+      QUARTERS: const [
+    'الربع الأول',
+    'الربع الثاني',
+    'الربع الثالث',
+    'الربع الرابع'
+  ],
       AMPMS: const ['ص', 'م'],
-      DATEFORMATS: const ['EEEE، d MMMM، y', 'd MMMM، y', 'dd‏/MM‏/y',
-        'd‏/M‏/y'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      DATEFORMATS: const [
+    'EEEE، d MMMM، y',
+    'd MMMM، y',
+    'dd‏/MM‏/y',
+    'd‏/M‏/y'
+  ],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 5,
       WEEKENDRANGE: const [4, 5],
@@ -224,35 +609,131 @@
   /**
    * Date/time formatting symbols for locale az.
    */
-  "az" : new DateSymbols(
+  "az": new DateSymbols(
       NAME: "az",
       ERAS: const ['e.ə.', 'b.e.'],
       ERANAMES: const ['eramızdan əvvəl', 'bizim eramızın'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul',
-        'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'],
-      STANDALONEMONTHS: const ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May',
-        'İyun', 'İyul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
-      SHORTMONTHS: const ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl',
-        'avq', 'sen', 'okt', 'noy', 'dek'],
-      STANDALONESHORTMONTHS: const ['yan', 'fev', 'mar', 'apr', 'may', 'iyn',
-        'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'],
-      WEEKDAYS: const ['bazar', 'bazar ertəsi', 'çərşənbə axşamı',
-        'çərşənbə', 'cümə axşamı', 'cümə', 'şənbə'],
-      STANDALONEWEEKDAYS: const ['bazar', 'bazar ertəsi',
-        'çərşənbə axşamı', 'çərşənbə', 'cümə axşamı', 'cümə',
-        'şənbə'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'yanvar',
+    'fevral',
+    'mart',
+    'aprel',
+    'may',
+    'iyun',
+    'iyul',
+    'avqust',
+    'sentyabr',
+    'oktyabr',
+    'noyabr',
+    'dekabr'
+  ],
+      STANDALONEMONTHS: const [
+    'Yanvar',
+    'Fevral',
+    'Mart',
+    'Aprel',
+    'May',
+    'İyun',
+    'İyul',
+    'Avqust',
+    'Sentyabr',
+    'Oktyabr',
+    'Noyabr',
+    'Dekabr'
+  ],
+      SHORTMONTHS: const [
+    'yan',
+    'fev',
+    'mar',
+    'apr',
+    'may',
+    'iyn',
+    'iyl',
+    'avq',
+    'sen',
+    'okt',
+    'noy',
+    'dek'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'yan',
+    'fev',
+    'mar',
+    'apr',
+    'may',
+    'iyn',
+    'iyl',
+    'avq',
+    'sen',
+    'okt',
+    'noy',
+    'dek'
+  ],
+      WEEKDAYS: const [
+    'bazar',
+    'bazar ertəsi',
+    'çərşənbə axşamı',
+    'çərşənbə',
+    'cümə axşamı',
+    'cümə',
+    'şənbə'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'bazar',
+    'bazar ertəsi',
+    'çərşənbə axşamı',
+    'çərşənbə',
+    'cümə axşamı',
+    'cümə',
+    'şənbə'
+  ],
       SHORTWEEKDAYS: const ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C', 'Ş.'],
-      STANDALONESHORTWEEKDAYS: const ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C',
-        'Ş.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'B.',
+    'B.E.',
+    'Ç.A.',
+    'Ç.',
+    'C.A.',
+    'C',
+    'Ş.'
+  ],
       NARROWWEEKDAYS: const ['7', '1', '2', '3', '4', '5', '6'],
       STANDALONENARROWWEEKDAYS: const ['7', '1', '2', '3', '4', '5', '6'],
       SHORTQUARTERS: const ['1-ci kv.', '2-ci kv.', '3-cü kv.', '4-cü kv.'],
-      QUARTERS: const ['1-ci kvartal', '2-ci kvartal', '3-cü kvartal',
-        '4-cü kvartal'],
+      QUARTERS: const [
+    '1-ci kvartal',
+    '2-ci kvartal',
+    '3-cü kvartal',
+    '4-cü kvartal'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['d MMMM y, EEEE', 'd MMMM y', 'd MMM y', 'dd.MM.yy'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -263,48 +744,130 @@
   /**
    * Date/time formatting symbols for locale bg.
    */
-  "bg" : new DateSymbols(
+  "bg": new DateSymbols(
       NAME: "bg",
       ERAS: const ['пр.Хр.', 'сл.Хр.'],
       ERANAMES: const ['пр.Хр.', 'сл.Хр.'],
-      NARROWMONTHS: const ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю', 'а', 'с',
-        'о', 'н', 'д'],
-      STANDALONENARROWMONTHS: const ['я', 'ф', 'м', 'а', 'м', 'ю', 'ю',
-        'а', 'с', 'о', 'н', 'д'],
-      MONTHS: const ['януари', 'февруари', 'март',
-        'април', 'май', 'юни', 'юли', 'август',
-        'септември', 'октомври', 'ноември',
-        'декември'],
-      STANDALONEMONTHS: const ['януари', 'февруари', 'март',
-        'април', 'май', 'юни', 'юли', 'август',
-        'септември', 'октомври', 'ноември',
-        'декември'],
-      SHORTMONTHS: const ['ян.', 'февр.', 'март', 'апр.', 'май',
-        'юни', 'юли', 'авг.', 'септ.', 'окт.', 'ноем.',
-        'дек.'],
-      STANDALONESHORTMONTHS: const ['ян.', 'февр.', 'март', 'апр.',
-        'май', 'юни', 'юли', 'авг.', 'септ.', 'окт.',
-        'ноем.', 'дек.'],
-      WEEKDAYS: const ['неделя', 'понеделник', 'вторник',
-        'сряда', 'четвъртък', 'петък', 'събота'],
-      STANDALONEWEEKDAYS: const ['неделя', 'понеделник',
-        'вторник', 'сряда', 'четвъртък', 'петък',
-        'събота'],
-      SHORTWEEKDAYS: const ['нд', 'пн', 'вт', 'ср', 'чт', 'пт',
-        'сб'],
-      STANDALONESHORTWEEKDAYS: const ['нд', 'пн', 'вт', 'ср', 'чт',
-        'пт', 'сб'],
+      NARROWMONTHS: const [
+    'я',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ю',
+    'ю',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'я',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ю',
+    'ю',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      MONTHS: const [
+    'януари',
+    'февруари',
+    'март',
+    'април',
+    'май',
+    'юни',
+    'юли',
+    'август',
+    'септември',
+    'октомври',
+    'ноември',
+    'декември'
+  ],
+      STANDALONEMONTHS: const [
+    'януари',
+    'февруари',
+    'март',
+    'април',
+    'май',
+    'юни',
+    'юли',
+    'август',
+    'септември',
+    'октомври',
+    'ноември',
+    'декември'
+  ],
+      SHORTMONTHS: const [
+    'ян.',
+    'февр.',
+    'март',
+    'апр.',
+    'май',
+    'юни',
+    'юли',
+    'авг.',
+    'септ.',
+    'окт.',
+    'ноем.',
+    'дек.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ян.',
+    'февр.',
+    'март',
+    'апр.',
+    'май',
+    'юни',
+    'юли',
+    'авг.',
+    'септ.',
+    'окт.',
+    'ноем.',
+    'дек.'
+  ],
+      WEEKDAYS: const [
+    'неделя',
+    'понеделник',
+    'вторник',
+    'сряда',
+    'четвъртък',
+    'петък',
+    'събота'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'неделя',
+    'понеделник',
+    'вторник',
+    'сряда',
+    'четвъртък',
+    'петък',
+    'събота'
+  ],
+      SHORTWEEKDAYS: const ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+      STANDALONESHORTWEEKDAYS: const ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
       NARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п', 'с'],
-      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п',
-        'с'],
-      SHORTQUARTERS: const ['1 трим.', '2 трим.', '3 трим.',
-        '4 трим.'],
-      QUARTERS: const ['1-во тримесечие',
-        '2-ро тримесечие', '3-то тримесечие',
-        '4-то тримесечие'],
+      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п', 'с'],
+      SHORTQUARTERS: const ['1 трим.', '2 трим.', '3 трим.', '4 трим.'],
+      QUARTERS: const [
+    '1-во тримесечие',
+    '2-ро тримесечие',
+    '3-то тримесечие',
+    '4-то тримесечие'
+  ],
       AMPMS: const ['пр.об.', 'сл.об.'],
-      DATEFORMATS: const ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.',
-        'd.MM.y \'г\'.', 'd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM y \'г\'.',
+    'd MMMM y \'г\'.',
+    'd.MM.y \'г\'.',
+    'd.MM.yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -313,70 +876,152 @@
   /**
    * Date/time formatting symbols for locale bn.
    */
-  "bn" : new DateSymbols(
+  "bn": new DateSymbols(
       NAME: "bn",
-      ERAS: const ['খ্রিস্টপূর্ব',
-        'খৃষ্টাব্দ'],
-      ERANAMES: const ['খ্রিস্টপূর্ব',
-        'খৃষ্টাব্দ'],
-      NARROWMONTHS: const ['জা', 'ফে', 'মা', 'এ', 'মে',
-        'জুন', 'জু', 'আ', 'সে', 'অ', 'ন', 'ডি'],
-      STANDALONENARROWMONTHS: const ['জা', 'ফে', 'মা', 'এ',
-        'মে', 'জুন', 'জু', 'আ', 'সে', 'অ', 'ন',
-        'ডি'],
-      MONTHS: const ['জানুয়ারী',
-        'ফেব্রুয়ারী', 'মার্চ',
-        'এপ্রিল', 'মে', 'জুন', 'জুলাই',
-        'আগস্ট', 'সেপ্টেম্বর',
-        'অক্টোবর', 'নভেম্বর',
-        'ডিসেম্বর'],
-      STANDALONEMONTHS: const ['জানুয়ারী',
-        'ফেব্রুয়ারী', 'মার্চ',
-        'এপ্রিল', 'মে', 'জুন', 'জুলাই',
-        'আগস্ট', 'সেপ্টেম্বর',
-        'অক্টোবর', 'নভেম্বর',
-        'ডিসেম্বর'],
-      SHORTMONTHS: const ['জানুয়ারী',
-        'ফেব্রুয়ারী', 'মার্চ',
-        'এপ্রিল', 'মে', 'জুন', 'জুলাই',
-        'আগস্ট', 'সেপ্টেম্বর',
-        'অক্টোবর', 'নভেম্বর',
-        'ডিসেম্বর'],
-      STANDALONESHORTMONTHS: const ['জানুয়ারী',
-        'ফেব্রুয়ারী', 'মার্চ',
-        'এপ্রিল', 'মে', 'জুন', 'জুলাই',
-        'আগস্ট', 'সেপ্টেম্বর',
-        'অক্টোবর', 'নভেম্বর',
-        'ডিসেম্বর'],
-      WEEKDAYS: const ['রবিবার', 'সোমবার',
-        'মঙ্গলবার', 'বুধবার',
-        'বৃহষ্পতিবার', 'শুক্রবার',
-        'শনিবার'],
-      STANDALONEWEEKDAYS: const ['রবিবার', 'সোমবার',
-        'মঙ্গলবার', 'বুধবার',
-        'বৃহষ্পতিবার', 'শুক্রবার',
-        'শনিবার'],
-      SHORTWEEKDAYS: const ['রবি', 'সোম', 'মঙ্গল',
-        'বুধ', 'বৃহস্পতি', 'শুক্র',
-        'শনি'],
-      STANDALONESHORTWEEKDAYS: const ['রবি', 'সোম',
-        'মঙ্গল', 'বুধ', 'বৃহস্পতি',
-        'শুক্র', 'শনি'],
-      NARROWWEEKDAYS: const ['র', 'সো', 'ম', 'বু', 'বৃ',
-        'শু', 'শ'],
-      STANDALONENARROWWEEKDAYS: const ['র', 'সো', 'ম', 'বু',
-        'বৃ', 'শু', 'শ'],
-      SHORTQUARTERS: const ['চতুর্থাংশ ১',
-        'চতুর্থাংশ ২', 'চতুর্থাংশ ৩',
-        'চতুর্থাংশ ৪'],
-      QUARTERS: const ['প্রথম চতুর্থাংশ',
-        'দ্বিতীয় চতুর্থাংশ',
-        'তৃতীয় চতুর্থাংশ',
-        'চতুর্থ চতুর্থাংশ'],
+      ERAS: const ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'],
+      ERANAMES: const ['খ্রিস্টপূর্ব', 'খৃষ্টাব্দ'],
+      NARROWMONTHS: const [
+    'জা',
+    'ফে',
+    'মা',
+    'এ',
+    'মে',
+    'জুন',
+    'জু',
+    'আ',
+    'সে',
+    'অ',
+    'ন',
+    'ডি'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'জা',
+    'ফে',
+    'মা',
+    'এ',
+    'মে',
+    'জুন',
+    'জু',
+    'আ',
+    'সে',
+    'অ',
+    'ন',
+    'ডি'
+  ],
+      MONTHS: const [
+    'জানুয়ারী',
+    'ফেব্রুয়ারী',
+    'মার্চ',
+    'এপ্রিল',
+    'মে',
+    'জুন',
+    'জুলাই',
+    'আগস্ট',
+    'সেপ্টেম্বর',
+    'অক্টোবর',
+    'নভেম্বর',
+    'ডিসেম্বর'
+  ],
+      STANDALONEMONTHS: const [
+    'জানুয়ারী',
+    'ফেব্রুয়ারী',
+    'মার্চ',
+    'এপ্রিল',
+    'মে',
+    'জুন',
+    'জুলাই',
+    'আগস্ট',
+    'সেপ্টেম্বর',
+    'অক্টোবর',
+    'নভেম্বর',
+    'ডিসেম্বর'
+  ],
+      SHORTMONTHS: const [
+    'জানুয়ারী',
+    'ফেব্রুয়ারী',
+    'মার্চ',
+    'এপ্রিল',
+    'মে',
+    'জুন',
+    'জুলাই',
+    'আগস্ট',
+    'সেপ্টেম্বর',
+    'অক্টোবর',
+    'নভেম্বর',
+    'ডিসেম্বর'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'জানুয়ারী',
+    'ফেব্রুয়ারী',
+    'মার্চ',
+    'এপ্রিল',
+    'মে',
+    'জুন',
+    'জুলাই',
+    'আগস্ট',
+    'সেপ্টেম্বর',
+    'অক্টোবর',
+    'নভেম্বর',
+    'ডিসেম্বর'
+  ],
+      WEEKDAYS: const [
+    'রবিবার',
+    'সোমবার',
+    'মঙ্গলবার',
+    'বুধবার',
+    'বৃহষ্পতিবার',
+    'শুক্রবার',
+    'শনিবার'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'রবিবার',
+    'সোমবার',
+    'মঙ্গলবার',
+    'বুধবার',
+    'বৃহষ্পতিবার',
+    'শুক্রবার',
+    'শনিবার'
+  ],
+      SHORTWEEKDAYS: const [
+    'রবি',
+    'সোম',
+    'মঙ্গল',
+    'বুধ',
+    'বৃহস্পতি',
+    'শুক্র',
+    'শনি'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'রবি',
+    'সোম',
+    'মঙ্গল',
+    'বুধ',
+    'বৃহস্পতি',
+    'শুক্র',
+    'শনি'
+  ],
+      NARROWWEEKDAYS: const ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'],
+      STANDALONENARROWWEEKDAYS: const ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'],
+      SHORTQUARTERS: const [
+    'চতুর্থাংশ ১',
+    'চতুর্থাংশ ২',
+    'চতুর্থাংশ ৩',
+    'চতুর্থাংশ ৪'
+  ],
+      QUARTERS: const [
+    'প্রথম চতুর্থাংশ',
+    'দ্বিতীয় চতুর্থাংশ',
+    'তৃতীয় চতুর্থাংশ',
+    'চতুর্থ চতুর্থাংশ'
+  ],
       AMPMS: const ['am', 'pm'],
       DATEFORMATS: const ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 4,
       WEEKENDRANGE: const [5, 6],
@@ -384,33 +1029,140 @@
   /**
    * Date/time formatting symbols for locale br.
    */
-  "br" : new DateSymbols(
+  "br": new DateSymbols(
       NAME: "br",
       ERAS: const ['BCE', 'CE'],
       ERANAMES: const ['BCE', 'CE'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae',
-        'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'],
-      STANDALONEMONTHS: const ['Genver', 'Cʼhwevrer', 'Meurzh', 'Ebrel', 'Mae',
-        'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'],
-      SHORTMONTHS: const ['Gen', 'Cʼhwe', 'Meur', 'Ebr', 'Mae', 'Mezh', 'Goue',
-        'Eost', 'Gwen', 'Here', 'Du', 'Ker'],
-      STANDALONESHORTMONTHS: const ['Gen', 'Cʼhwe', 'Meur', 'Ebr', 'Mae',
-        'Mezh', 'Goue', 'Eost', 'Gwen', 'Here', 'Du', 'Ker'],
-      WEEKDAYS: const ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou', 'Gwener',
-        'Sadorn'],
-      STANDALONEWEEKDAYS: const ['Sul', 'Lun', 'Meurzh', 'Mercʼher', 'Yaou',
-        'Gwener', 'Sadorn'],
-      SHORTWEEKDAYS: const ['sul', 'lun', 'meu.', 'mer.', 'yaou', 'gwe.',
-        'sad.'],
-      STANDALONESHORTWEEKDAYS: const ['sul', 'lun', 'meu.', 'mer.', 'yaou',
-        'gwe.', 'sad.'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'Genver',
+    'Cʼhwevrer',
+    'Meurzh',
+    'Ebrel',
+    'Mae',
+    'Mezheven',
+    'Gouere',
+    'Eost',
+    'Gwengolo',
+    'Here',
+    'Du',
+    'Kerzu'
+  ],
+      STANDALONEMONTHS: const [
+    'Genver',
+    'Cʼhwevrer',
+    'Meurzh',
+    'Ebrel',
+    'Mae',
+    'Mezheven',
+    'Gouere',
+    'Eost',
+    'Gwengolo',
+    'Here',
+    'Du',
+    'Kerzu'
+  ],
+      SHORTMONTHS: const [
+    'Gen',
+    'Cʼhwe',
+    'Meur',
+    'Ebr',
+    'Mae',
+    'Mezh',
+    'Goue',
+    'Eost',
+    'Gwen',
+    'Here',
+    'Du',
+    'Ker'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Gen',
+    'Cʼhwe',
+    'Meur',
+    'Ebr',
+    'Mae',
+    'Mezh',
+    'Goue',
+    'Eost',
+    'Gwen',
+    'Here',
+    'Du',
+    'Ker'
+  ],
+      WEEKDAYS: const [
+    'Sul',
+    'Lun',
+    'Meurzh',
+    'Mercʼher',
+    'Yaou',
+    'Gwener',
+    'Sadorn'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sul',
+    'Lun',
+    'Meurzh',
+    'Mercʼher',
+    'Yaou',
+    'Gwener',
+    'Sadorn'
+  ],
+      SHORTWEEKDAYS: const [
+    'sul',
+    'lun',
+    'meu.',
+    'mer.',
+    'yaou',
+    'gwe.',
+    'sad.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'sul',
+    'lun',
+    'meu.',
+    'mer.',
+    'yaou',
+    'gwe.',
+    'sad.'
+  ],
       NARROWWEEKDAYS: const ['su', 'lu', 'mz', 'mc', 'ya', 'gw', 'sa'],
-      STANDALONENARROWWEEKDAYS: const ['su', 'lu', 'mz', 'mc', 'ya', 'gw',
-        'sa'],
+      STANDALONENARROWWEEKDAYS: const [
+    'su',
+    'lu',
+    'mz',
+    'mc',
+    'ya',
+    'gw',
+    'sa'
+  ],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       AMPMS: const ['AM', 'PM'],
@@ -423,39 +1175,146 @@
   /**
    * Date/time formatting symbols for locale ca.
    */
-  "ca" : new DateSymbols(
+  "ca": new DateSymbols(
       NAME: "ca",
       ERAS: const ['aC', 'dC'],
       ERANAMES: const ['abans de Crist', 'després de Crist'],
-      NARROWMONTHS: const ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL', 'AG',
-        'ST', 'OC', 'NV', 'DS'],
-      STANDALONENARROWMONTHS: const ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL',
-        'AG', 'ST', 'OC', 'NV', 'DS'],
-      MONTHS: const ['gener', 'febrer', 'març', 'abril', 'maig', 'juny',
-        'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'],
-      STANDALONEMONTHS: const ['gener', 'febrer', 'març', 'abril', 'maig',
-        'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre',
-        'desembre'],
-      SHORTMONTHS: const ['gen.', 'feb.', 'març', 'abr.', 'maig', 'juny',
-        'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'],
-      STANDALONESHORTMONTHS: const ['gen.', 'feb.', 'març', 'abr.', 'maig',
-        'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'],
-      WEEKDAYS: const ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous',
-        'divendres', 'dissabte'],
-      STANDALONEWEEKDAYS: const ['diumenge', 'dilluns', 'dimarts', 'dimecres',
-        'dijous', 'divendres', 'dissabte'],
+      NARROWMONTHS: const [
+    'GN',
+    'FB',
+    'MÇ',
+    'AB',
+    'MG',
+    'JN',
+    'JL',
+    'AG',
+    'ST',
+    'OC',
+    'NV',
+    'DS'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'GN',
+    'FB',
+    'MÇ',
+    'AB',
+    'MG',
+    'JN',
+    'JL',
+    'AG',
+    'ST',
+    'OC',
+    'NV',
+    'DS'
+  ],
+      MONTHS: const [
+    'gener',
+    'febrer',
+    'març',
+    'abril',
+    'maig',
+    'juny',
+    'juliol',
+    'agost',
+    'setembre',
+    'octubre',
+    'novembre',
+    'desembre'
+  ],
+      STANDALONEMONTHS: const [
+    'gener',
+    'febrer',
+    'març',
+    'abril',
+    'maig',
+    'juny',
+    'juliol',
+    'agost',
+    'setembre',
+    'octubre',
+    'novembre',
+    'desembre'
+  ],
+      SHORTMONTHS: const [
+    'gen.',
+    'feb.',
+    'març',
+    'abr.',
+    'maig',
+    'juny',
+    'jul.',
+    'ag.',
+    'set.',
+    'oct.',
+    'nov.',
+    'des.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'gen.',
+    'feb.',
+    'març',
+    'abr.',
+    'maig',
+    'juny',
+    'jul.',
+    'ag.',
+    'set.',
+    'oct.',
+    'nov.',
+    'des.'
+  ],
+      WEEKDAYS: const [
+    'diumenge',
+    'dilluns',
+    'dimarts',
+    'dimecres',
+    'dijous',
+    'divendres',
+    'dissabte'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'diumenge',
+    'dilluns',
+    'dimarts',
+    'dimecres',
+    'dijous',
+    'divendres',
+    'dissabte'
+  ],
       SHORTWEEKDAYS: const ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'],
-      STANDALONESHORTWEEKDAYS: const ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.',
-        'ds.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'dg.',
+    'dl.',
+    'dt.',
+    'dc.',
+    'dj.',
+    'dv.',
+    'ds.'
+  ],
       NARROWWEEKDAYS: const ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'],
-      STANDALONENARROWWEEKDAYS: const ['dg', 'dl', 'dt', 'dc', 'dj', 'dv',
-        'ds'],
+      STANDALONENARROWWEEKDAYS: const [
+    'dg',
+    'dl',
+    'dt',
+    'dc',
+    'dj',
+    'dv',
+    'ds'
+  ],
       SHORTQUARTERS: const ['1T', '2T', '3T', '4T'],
-      QUARTERS: const ['1r trimestre', '2n trimestre', '3r trimestre',
-        '4t trimestre'],
+      QUARTERS: const [
+    '1r trimestre',
+    '2n trimestre',
+    '3r trimestre',
+    '4t trimestre'
+  ],
       AMPMS: const ['a. m.', 'p. m.'],
-      DATEFORMATS: const ['EEEE, d MMMM \'de\' y', 'd MMMM \'de\' y', 'dd/MM/y',
-        'd/M/yy'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM \'de\' y',
+    'd MMMM \'de\' y',
+    'dd/MM/y',
+    'd/M/yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -464,46 +1323,134 @@
   /**
    * Date/time formatting symbols for locale chr.
    */
-  "chr" : new DateSymbols(
+  "chr": new DateSymbols(
       NAME: "chr",
       ERAS: const ['ᎤᏓᎷᎸ', 'ᎤᎶᏐᏅ'],
-      ERANAMES: const ['Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ',
-        'ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ'],
-      NARROWMONTHS: const ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ', 'Ꭻ',
-        'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭵ'],
-      STANDALONENARROWMONTHS: const ['Ꭴ', 'Ꭷ', 'Ꭰ', 'Ꭷ', 'Ꭰ', 'Ꮥ',
-        'Ꭻ', 'Ꭶ', 'Ꮪ', 'Ꮪ', 'Ꮕ', 'Ꭵ'],
-      MONTHS: const ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ', 'ᎧᏬᏂ',
-        'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ', 'ᎦᎶᏂ',
-        'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ', 'ᎥᏍᎩᏱ'],
-      STANDALONEMONTHS: const ['ᎤᏃᎸᏔᏅ', 'ᎧᎦᎵ', 'ᎠᏅᏱ',
-        'ᎧᏬᏂ', 'ᎠᏂᏍᎬᏘ', 'ᏕᎭᎷᏱ', 'ᎫᏰᏉᏂ',
-        'ᎦᎶᏂ', 'ᏚᎵᏍᏗ', 'ᏚᏂᏅᏗ', 'ᏅᏓᏕᏆ',
-        'ᎥᏍᎩᏱ'],
-      SHORTMONTHS: const ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ', 'ᎠᏂ',
-        'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ', 'ᎥᏍ'],
-      STANDALONESHORTMONTHS: const ['ᎤᏃ', 'ᎧᎦ', 'ᎠᏅ', 'ᎧᏬ',
-        'ᎠᏂ', 'ᏕᎭ', 'ᎫᏰ', 'ᎦᎶ', 'ᏚᎵ', 'ᏚᏂ', 'ᏅᏓ',
-        'ᎥᏍ'],
-      WEEKDAYS: const ['ᎤᎾᏙᏓᏆᏍᎬ', 'ᎤᎾᏙᏓᏉᏅᎯ',
-        'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ', 'ᏅᎩᏁᎢᎦ',
-        'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'],
-      STANDALONEWEEKDAYS: const ['ᎤᎾᏙᏓᏆᏍᎬ',
-        'ᎤᎾᏙᏓᏉᏅᎯ', 'ᏔᎵᏁᎢᎦ', 'ᏦᎢᏁᎢᎦ',
-        'ᏅᎩᏁᎢᎦ', 'ᏧᎾᎩᎶᏍᏗ', 'ᎤᎾᏙᏓᏈᏕᎾ'],
-      SHORTWEEKDAYS: const ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ',
-        'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'],
-      STANDALONESHORTWEEKDAYS: const ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ',
-        'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'],
+      ERANAMES: const ['Ꮟ ᏥᏌ ᎾᏕᎲᏍᎬᎾ', 'ᎠᎩᏃᎮᎵᏓᏍᏗᏱ ᎠᏕᏘᏱᏍᎬ ᏱᎰᏩ ᏧᏓᏂᎸᎢᏍᏗ'],
+      NARROWMONTHS: const [
+    'Ꭴ',
+    'Ꭷ',
+    'Ꭰ',
+    'Ꭷ',
+    'Ꭰ',
+    'Ꮥ',
+    'Ꭻ',
+    'Ꭶ',
+    'Ꮪ',
+    'Ꮪ',
+    'Ꮕ',
+    'Ꭵ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Ꭴ',
+    'Ꭷ',
+    'Ꭰ',
+    'Ꭷ',
+    'Ꭰ',
+    'Ꮥ',
+    'Ꭻ',
+    'Ꭶ',
+    'Ꮪ',
+    'Ꮪ',
+    'Ꮕ',
+    'Ꭵ'
+  ],
+      MONTHS: const [
+    'ᎤᏃᎸᏔᏅ',
+    'ᎧᎦᎵ',
+    'ᎠᏅᏱ',
+    'ᎧᏬᏂ',
+    'ᎠᏂᏍᎬᏘ',
+    'ᏕᎭᎷᏱ',
+    'ᎫᏰᏉᏂ',
+    'ᎦᎶᏂ',
+    'ᏚᎵᏍᏗ',
+    'ᏚᏂᏅᏗ',
+    'ᏅᏓᏕᏆ',
+    'ᎥᏍᎩᏱ'
+  ],
+      STANDALONEMONTHS: const [
+    'ᎤᏃᎸᏔᏅ',
+    'ᎧᎦᎵ',
+    'ᎠᏅᏱ',
+    'ᎧᏬᏂ',
+    'ᎠᏂᏍᎬᏘ',
+    'ᏕᎭᎷᏱ',
+    'ᎫᏰᏉᏂ',
+    'ᎦᎶᏂ',
+    'ᏚᎵᏍᏗ',
+    'ᏚᏂᏅᏗ',
+    'ᏅᏓᏕᏆ',
+    'ᎥᏍᎩᏱ'
+  ],
+      SHORTMONTHS: const [
+    'ᎤᏃ',
+    'ᎧᎦ',
+    'ᎠᏅ',
+    'ᎧᏬ',
+    'ᎠᏂ',
+    'ᏕᎭ',
+    'ᎫᏰ',
+    'ᎦᎶ',
+    'ᏚᎵ',
+    'ᏚᏂ',
+    'ᏅᏓ',
+    'ᎥᏍ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ᎤᏃ',
+    'ᎧᎦ',
+    'ᎠᏅ',
+    'ᎧᏬ',
+    'ᎠᏂ',
+    'ᏕᎭ',
+    'ᎫᏰ',
+    'ᎦᎶ',
+    'ᏚᎵ',
+    'ᏚᏂ',
+    'ᏅᏓ',
+    'ᎥᏍ'
+  ],
+      WEEKDAYS: const [
+    'ᎤᎾᏙᏓᏆᏍᎬ',
+    'ᎤᎾᏙᏓᏉᏅᎯ',
+    'ᏔᎵᏁᎢᎦ',
+    'ᏦᎢᏁᎢᎦ',
+    'ᏅᎩᏁᎢᎦ',
+    'ᏧᎾᎩᎶᏍᏗ',
+    'ᎤᎾᏙᏓᏈᏕᎾ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ᎤᎾᏙᏓᏆᏍᎬ',
+    'ᎤᎾᏙᏓᏉᏅᎯ',
+    'ᏔᎵᏁᎢᎦ',
+    'ᏦᎢᏁᎢᎦ',
+    'ᏅᎩᏁᎢᎦ',
+    'ᏧᎾᎩᎶᏍᏗ',
+    'ᎤᎾᏙᏓᏈᏕᎾ'
+  ],
+      SHORTWEEKDAYS: const ['ᏆᏍᎬ', 'ᏉᏅᎯ', 'ᏔᎵᏁ', 'ᏦᎢᏁ', 'ᏅᎩᏁ', 'ᏧᎾᎩ', 'ᏈᏕᎾ'],
+      STANDALONESHORTWEEKDAYS: const [
+    'ᏆᏍᎬ',
+    'ᏉᏅᎯ',
+    'ᏔᎵᏁ',
+    'ᏦᎢᏁ',
+    'ᏅᎩᏁ',
+    'ᏧᎾᎩ',
+    'ᏈᏕᎾ'
+  ],
       NARROWWEEKDAYS: const ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'],
-      STANDALONENARROWWEEKDAYS: const ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ',
-        'Ꭴ'],
+      STANDALONENARROWWEEKDAYS: const ['Ꮖ', 'Ꮙ', 'Ꮤ', 'Ꮶ', 'Ꮕ', 'Ꮷ', 'Ꭴ'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       AMPMS: const ['ᏌᎾᎴ', 'ᏒᎯᏱᎢᏗᏢ'],
       DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -511,36 +1458,123 @@
   /**
    * Date/time formatting symbols for locale cs.
    */
-  "cs" : new DateSymbols(
+  "cs": new DateSymbols(
       NAME: "cs",
       ERAS: const ['př. n. l.', 'n. l.'],
       ERANAMES: const ['př. n. l.', 'n. l.'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['l', 'ú', 'b', 'd', 'k', 'č', 'č', 's',
-        'z', 'ř', 'l', 'p'],
-      MONTHS: const ['ledna', 'února', 'března', 'dubna', 'května',
-        'června', 'července', 'srpna', 'září', 'října', 'listopadu',
-        'prosince'],
-      STANDALONEMONTHS: const ['leden', 'únor', 'březen', 'duben', 'květen',
-        'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad',
-        'prosinec'],
-      SHORTMONTHS: const ['led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc',
-        'srp', 'zář', 'říj', 'lis', 'pro'],
-      STANDALONESHORTMONTHS: const ['led', 'úno', 'bře', 'dub', 'kvě',
-        'čvn', 'čvc', 'srp', 'zář', 'říj', 'lis', 'pro'],
-      WEEKDAYS: const ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek',
-        'pátek', 'sobota'],
-      STANDALONEWEEKDAYS: const ['neděle', 'pondělí', 'úterý', 'středa',
-        'čtvrtek', 'pátek', 'sobota'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'l',
+    'ú',
+    'b',
+    'd',
+    'k',
+    'č',
+    'č',
+    's',
+    'z',
+    'ř',
+    'l',
+    'p'
+  ],
+      MONTHS: const [
+    'ledna',
+    'února',
+    'března',
+    'dubna',
+    'května',
+    'června',
+    'července',
+    'srpna',
+    'září',
+    'října',
+    'listopadu',
+    'prosince'
+  ],
+      STANDALONEMONTHS: const [
+    'leden',
+    'únor',
+    'březen',
+    'duben',
+    'květen',
+    'červen',
+    'červenec',
+    'srpen',
+    'září',
+    'říjen',
+    'listopad',
+    'prosinec'
+  ],
+      SHORTMONTHS: const [
+    'led',
+    'úno',
+    'bře',
+    'dub',
+    'kvě',
+    'čvn',
+    'čvc',
+    'srp',
+    'zář',
+    'říj',
+    'lis',
+    'pro'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'led',
+    'úno',
+    'bře',
+    'dub',
+    'kvě',
+    'čvn',
+    'čvc',
+    'srp',
+    'zář',
+    'říj',
+    'lis',
+    'pro'
+  ],
+      WEEKDAYS: const [
+    'neděle',
+    'pondělí',
+    'úterý',
+    'středa',
+    'čtvrtek',
+    'pátek',
+    'sobota'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'neděle',
+    'pondělí',
+    'úterý',
+    'středa',
+    'čtvrtek',
+    'pátek',
+    'sobota'
+  ],
       SHORTWEEKDAYS: const ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
-      STANDALONESHORTWEEKDAYS: const ['ne', 'po', 'út', 'st', 'čt', 'pá',
-        'so'],
+      STANDALONESHORTWEEKDAYS: const ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
       NARROWWEEKDAYS: const ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['N', 'P', 'Ú', 'S', 'Č', 'P', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1. čtvrtletí', '2. čtvrtletí', '3. čtvrtletí',
-        '4. čtvrtletí'],
+      QUARTERS: const [
+    '1. čtvrtletí',
+    '2. čtvrtletí',
+    '3. čtvrtletí',
+    '4. čtvrtletí'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d. MMMM y', 'd. MMMM y', 'd. M. y', 'dd.MM.yy'],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
@@ -551,108 +1585,400 @@
   /**
    * Date/time formatting symbols for locale cy.
    */
-  "cy" : new DateSymbols(
+  "cy": new DateSymbols(
       NAME: "cy",
       ERAS: const ['CC', 'OC'],
       ERANAMES: const ['Cyn Crist', 'Oed Crist'],
-      NARROWMONTHS: const ['I', 'Ch', 'M', 'E', 'M', 'M', 'G', 'A', 'M', 'H',
-        'T', 'Rh'],
-      STANDALONENARROWMONTHS: const ['I', 'Ch', 'M', 'E', 'M', 'M', 'G', 'A',
-        'M', 'H', 'T', 'Rh'],
-      MONTHS: const ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin',
-        'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'],
-      STANDALONEMONTHS: const ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai',
-        'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd',
-        'Rhagfyr'],
-      SHORTMONTHS: const ['Ion', 'Chwef', 'Mawrth', 'Ebrill', 'Mai', 'Meh',
-        'Gorff', 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'],
-      STANDALONESHORTMONTHS: const ['Ion', 'Chw', 'Maw', 'Ebr', 'Mai', 'Meh',
-        'Gor', 'Awst', 'Medi', 'Hyd', 'Tach', 'Rhag'],
-      WEEKDAYS: const ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher',
-        'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'],
-      STANDALONEWEEKDAYS: const ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth',
-        'Dydd Mercher', 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'],
+      NARROWMONTHS: const [
+    'I',
+    'Ch',
+    'M',
+    'E',
+    'M',
+    'M',
+    'G',
+    'A',
+    'M',
+    'H',
+    'T',
+    'Rh'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'I',
+    'Ch',
+    'M',
+    'E',
+    'M',
+    'M',
+    'G',
+    'A',
+    'M',
+    'H',
+    'T',
+    'Rh'
+  ],
+      MONTHS: const [
+    'Ionawr',
+    'Chwefror',
+    'Mawrth',
+    'Ebrill',
+    'Mai',
+    'Mehefin',
+    'Gorffennaf',
+    'Awst',
+    'Medi',
+    'Hydref',
+    'Tachwedd',
+    'Rhagfyr'
+  ],
+      STANDALONEMONTHS: const [
+    'Ionawr',
+    'Chwefror',
+    'Mawrth',
+    'Ebrill',
+    'Mai',
+    'Mehefin',
+    'Gorffennaf',
+    'Awst',
+    'Medi',
+    'Hydref',
+    'Tachwedd',
+    'Rhagfyr'
+  ],
+      SHORTMONTHS: const [
+    'Ion',
+    'Chwef',
+    'Mawrth',
+    'Ebrill',
+    'Mai',
+    'Meh',
+    'Gorff',
+    'Awst',
+    'Medi',
+    'Hyd',
+    'Tach',
+    'Rhag'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ion',
+    'Chw',
+    'Maw',
+    'Ebr',
+    'Mai',
+    'Meh',
+    'Gor',
+    'Awst',
+    'Medi',
+    'Hyd',
+    'Tach',
+    'Rhag'
+  ],
+      WEEKDAYS: const [
+    'Dydd Sul',
+    'Dydd Llun',
+    'Dydd Mawrth',
+    'Dydd Mercher',
+    'Dydd Iau',
+    'Dydd Gwener',
+    'Dydd Sadwrn'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Dydd Sul',
+    'Dydd Llun',
+    'Dydd Mawrth',
+    'Dydd Mercher',
+    'Dydd Iau',
+    'Dydd Gwener',
+    'Dydd Sadwrn'
+  ],
       SHORTWEEKDAYS: const ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwen', 'Sad'],
-      STANDALONESHORTWEEKDAYS: const ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe',
-        'Sad'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sul',
+    'Llun',
+    'Maw',
+    'Mer',
+    'Iau',
+    'Gwe',
+    'Sad'
+  ],
       NARROWWEEKDAYS: const ['S', 'Ll', 'M', 'M', 'I', 'G', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'Ll', 'M', 'M', 'I', 'G', 'S'],
       SHORTQUARTERS: const ['Ch1', 'Ch2', 'Ch3', 'Ch4'],
-      QUARTERS: const ['Chwarter 1af', '2il chwarter', '3ydd chwarter',
-        '4ydd chwarter'],
+      QUARTERS: const [
+    'Chwarter 1af',
+    '2il chwarter',
+    '3ydd chwarter',
+    '4ydd chwarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'am\' {0}', '{1} \'am\' {0}', '{1} {0}',
-        '{1} {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'am\' {0}',
+    '{1} \'am\' {0}',
+    '{1} {0}',
+    '{1} {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale da.
    */
-  "da" : new DateSymbols(
+  "da": new DateSymbols(
       NAME: "da",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['f.Kr.', 'e.Kr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januar', 'februar', 'marts', 'april', 'maj', 'juni',
-        'juli', 'august', 'september', 'oktober', 'november', 'december'],
-      STANDALONEMONTHS: const ['januar', 'februar', 'marts', 'april', 'maj',
-        'juni', 'juli', 'august', 'september', 'oktober', 'november',
-        'december'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.',
-        'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'maj', 'jun',
-        'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
-      WEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag',
-        'fredag', 'lørdag'],
-      STANDALONEWEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag',
-        'torsdag', 'fredag', 'lørdag'],
-      SHORTWEEKDAYS: const ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.',
-        'lør.'],
-      STANDALONESHORTWEEKDAYS: const ['søn', 'man', 'tir', 'ons', 'tor', 'fre',
-        'lør'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januar',
+    'februar',
+    'marts',
+    'april',
+    'maj',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      STANDALONEMONTHS: const [
+    'januar',
+    'februar',
+    'marts',
+    'april',
+    'maj',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'maj',
+    'jun.',
+    'jul.',
+    'aug.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'maj',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      WEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      SHORTWEEKDAYS: const [
+    'søn.',
+    'man.',
+    'tir.',
+    'ons.',
+    'tor.',
+    'fre.',
+    'lør.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'søn',
+    'man',
+    'tir',
+    'ons',
+    'tor',
+    'fre',
+    'lør'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE \'den\' d. MMMM y', 'd. MMM y', 'dd/MM/y',
-        'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE \'den\' d. MMMM y',
+    'd. MMM y',
+    'dd/MM/y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
-      DATETIMEFORMATS: const ['{1} \'kl.\' {0}', '{1} \'kl.\' {0}', '{1} {0}',
-        '{1} {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'kl.\' {0}',
+    '{1} \'kl.\' {0}',
+    '{1} {0}',
+    '{1} {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale de.
    */
-  "de" : new DateSymbols(
+  "de": new DateSymbols(
       NAME: "de",
       ERAS: const ['v. Chr.', 'n. Chr.'],
       ERANAMES: const ['v. Chr.', 'n. Chr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
-        'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
-      STANDALONEMONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai',
-        'Juni', 'Juli', 'August', 'September', 'Oktober', 'November',
-        'Dezember'],
-      SHORTMONTHS: const ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni',
-        'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
-      WEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
-      STANDALONEWEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      SHORTMONTHS: const [
+    'Jan.',
+    'Feb.',
+    'März',
+    'Apr.',
+    'Mai',
+    'Juni',
+    'Juli',
+    'Aug.',
+    'Sep.',
+    'Okt.',
+    'Nov.',
+    'Dez.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mär',
+    'Apr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dez'
+  ],
+      WEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
       SHORTWEEKDAYS: const ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],
       STANDALONESHORTWEEKDAYS: const ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
       NARROWWEEKDAYS: const ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
@@ -660,8 +1986,12 @@
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'],
       AMPMS: const ['vorm.', 'nachm.'],
-      DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d. MMMM y',
+    'd. MMMM y',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -670,27 +2000,112 @@
   /**
    * Date/time formatting symbols for locale de_AT.
    */
-  "de_AT" : new DateSymbols(
+  "de_AT": new DateSymbols(
       NAME: "de_AT",
       ERAS: const ['v. Chr.', 'n. Chr.'],
       ERANAMES: const ['v. Chr.', 'n. Chr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni',
-        'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
-      STANDALONEMONTHS: const ['Jänner', 'Februar', 'März', 'April', 'Mai',
-        'Juni', 'Juli', 'August', 'September', 'Oktober', 'November',
-        'Dezember'],
-      SHORTMONTHS: const ['Jän.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni',
-        'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],
-      STANDALONESHORTMONTHS: const ['Jän', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
-      WEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
-      STANDALONEWEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Jänner',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      STANDALONEMONTHS: const [
+    'Jänner',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      SHORTMONTHS: const [
+    'Jän.',
+    'Feb.',
+    'März',
+    'Apr.',
+    'Mai',
+    'Juni',
+    'Juli',
+    'Aug.',
+    'Sep.',
+    'Okt.',
+    'Nov.',
+    'Dez.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jän',
+    'Feb',
+    'Mär',
+    'Apr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dez'
+  ],
+      WEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
       SHORTWEEKDAYS: const ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],
       STANDALONESHORTWEEKDAYS: const ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
       NARROWWEEKDAYS: const ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
@@ -698,8 +2113,12 @@
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'],
       AMPMS: const ['vorm.', 'nachm.'],
-      DATEFORMATS: const ['EEEE, dd. MMMM y', 'dd. MMMM y', 'dd.MM.y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, dd. MMMM y',
+    'dd. MMMM y',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -711,27 +2130,112 @@
   /**
    * Date/time formatting symbols for locale de_CH.
    */
-  "de_CH" : new DateSymbols(
+  "de_CH": new DateSymbols(
       NAME: "de_CH",
       ERAS: const ['v. Chr.', 'n. Chr.'],
       ERANAMES: const ['v. Chr.', 'n. Chr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
-        'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
-      STANDALONEMONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai',
-        'Juni', 'Juli', 'August', 'September', 'Oktober', 'November',
-        'Dezember'],
-      SHORTMONTHS: const ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni',
-        'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
-      WEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
-      STANDALONEWEEKDAYS: const ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
-        'Donnerstag', 'Freitag', 'Samstag'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'August',
+    'September',
+    'Oktober',
+    'November',
+    'Dezember'
+  ],
+      SHORTMONTHS: const [
+    'Jan.',
+    'Feb.',
+    'März',
+    'Apr.',
+    'Mai',
+    'Juni',
+    'Juli',
+    'Aug.',
+    'Sep.',
+    'Okt.',
+    'Nov.',
+    'Dez.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mär',
+    'Apr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dez'
+  ],
+      WEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sonntag',
+    'Montag',
+    'Dienstag',
+    'Mittwoch',
+    'Donnerstag',
+    'Freitag',
+    'Samstag'
+  ],
       SHORTWEEKDAYS: const ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],
       STANDALONESHORTWEEKDAYS: const ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
       NARROWWEEKDAYS: const ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
@@ -739,8 +2243,12 @@
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'],
       AMPMS: const ['vorm.', 'nachm.'],
-      DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d. MMMM y',
+    'd. MMMM y',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -749,167 +2257,561 @@
   /**
    * Date/time formatting symbols for locale el.
    */
-  "el" : new DateSymbols(
+  "el": new DateSymbols(
       NAME: "el",
       ERAS: const ['π.Χ.', 'μ.Χ.'],
       ERANAMES: const ['π.Χ.', 'μ.Χ.'],
-      NARROWMONTHS: const ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι', 'Α', 'Σ',
-        'Ο', 'Ν', 'Δ'],
-      STANDALONENARROWMONTHS: const ['Ι', 'Φ', 'Μ', 'Α', 'Μ', 'Ι', 'Ι',
-        'Α', 'Σ', 'Ο', 'Ν', 'Δ'],
-      MONTHS: const ['Ιανουαρίου', 'Φεβρουαρίου',
-        'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου',
-        'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου',
-        'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου'],
-      STANDALONEMONTHS: const ['Ιανουάριος', 'Φεβρουάριος',
-        'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος',
-        'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος',
-        'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'],
-      SHORTMONTHS: const ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαΐ',
-        'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε',
-        'Δεκ'],
-      STANDALONESHORTMONTHS: const ['Ιαν', 'Φεβ', 'Μάρ', 'Απρ',
-        'Μάι', 'Ιούν', 'Ιούλ', 'Αύγ', 'Σεπ', 'Οκτ',
-        'Νοέ', 'Δεκ'],
-      WEEKDAYS: const ['Κυριακή', 'Δευτέρα', 'Τρίτη',
-        'Τετάρτη', 'Πέμπτη', 'Παρασκευή',
-        'Σάββατο'],
-      STANDALONEWEEKDAYS: const ['Κυριακή', 'Δευτέρα',
-        'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή',
-        'Σάββατο'],
-      SHORTWEEKDAYS: const ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ',
-        'Παρ', 'Σάβ'],
-      STANDALONESHORTWEEKDAYS: const ['Κυρ', 'Δευ', 'Τρί', 'Τετ',
-        'Πέμ', 'Παρ', 'Σάβ'],
+      NARROWMONTHS: const [
+    'Ι',
+    'Φ',
+    'Μ',
+    'Α',
+    'Μ',
+    'Ι',
+    'Ι',
+    'Α',
+    'Σ',
+    'Ο',
+    'Ν',
+    'Δ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Ι',
+    'Φ',
+    'Μ',
+    'Α',
+    'Μ',
+    'Ι',
+    'Ι',
+    'Α',
+    'Σ',
+    'Ο',
+    'Ν',
+    'Δ'
+  ],
+      MONTHS: const [
+    'Ιανουαρίου',
+    'Φεβρουαρίου',
+    'Μαρτίου',
+    'Απριλίου',
+    'Μαΐου',
+    'Ιουνίου',
+    'Ιουλίου',
+    'Αυγούστου',
+    'Σεπτεμβρίου',
+    'Οκτωβρίου',
+    'Νοεμβρίου',
+    'Δεκεμβρίου'
+  ],
+      STANDALONEMONTHS: const [
+    'Ιανουάριος',
+    'Φεβρουάριος',
+    'Μάρτιος',
+    'Απρίλιος',
+    'Μάιος',
+    'Ιούνιος',
+    'Ιούλιος',
+    'Αύγουστος',
+    'Σεπτέμβριος',
+    'Οκτώβριος',
+    'Νοέμβριος',
+    'Δεκέμβριος'
+  ],
+      SHORTMONTHS: const [
+    'Ιαν',
+    'Φεβ',
+    'Μαρ',
+    'Απρ',
+    'Μαΐ',
+    'Ιουν',
+    'Ιουλ',
+    'Αυγ',
+    'Σεπ',
+    'Οκτ',
+    'Νοε',
+    'Δεκ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ιαν',
+    'Φεβ',
+    'Μάρ',
+    'Απρ',
+    'Μάι',
+    'Ιούν',
+    'Ιούλ',
+    'Αύγ',
+    'Σεπ',
+    'Οκτ',
+    'Νοέ',
+    'Δεκ'
+  ],
+      WEEKDAYS: const [
+    'Κυριακή',
+    'Δευτέρα',
+    'Τρίτη',
+    'Τετάρτη',
+    'Πέμπτη',
+    'Παρασκευή',
+    'Σάββατο'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Κυριακή',
+    'Δευτέρα',
+    'Τρίτη',
+    'Τετάρτη',
+    'Πέμπτη',
+    'Παρασκευή',
+    'Σάββατο'
+  ],
+      SHORTWEEKDAYS: const ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Κυρ',
+    'Δευ',
+    'Τρί',
+    'Τετ',
+    'Πέμ',
+    'Παρ',
+    'Σάβ'
+  ],
       NARROWWEEKDAYS: const ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'],
-      STANDALONENARROWWEEKDAYS: const ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π',
-        'Σ'],
+      STANDALONENARROWWEEKDAYS: const ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'],
       SHORTQUARTERS: const ['Τ1', 'Τ2', 'Τ3', 'Τ4'],
-      QUARTERS: const ['1ο τρίμηνο', '2ο τρίμηνο',
-        '3ο τρίμηνο', '4ο τρίμηνο'],
+      QUARTERS: const ['1ο τρίμηνο', '2ο τρίμηνο', '3ο τρίμηνο', '4ο τρίμηνο'],
       AMPMS: const ['π.μ.', 'μ.μ.'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} - {0}', '{1} - {0}', '{1} - {0}',
-        '{1} - {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} - {0}',
+    '{1} - {0}',
+    '{1} - {0}',
+    '{1} - {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale en.
    */
-  "en" : new DateSymbols(
+  "en": new DateSymbols(
       NAME: "en",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale en_AU.
    */
-  "en_AU" : new DateSymbols(
+  "en_AU": new DateSymbols(
       NAME: "en_AU",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/y'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale en_GB.
    */
-  "en_GB" : new DateSymbols(
+  "en_GB": new DateSymbols(
       NAME: "en_GB",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['am', 'pm'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -920,123 +2822,435 @@
   /**
    * Date/time formatting symbols for locale en_IE.
    */
-  "en_IE" : new DateSymbols(
+  "en_IE": new DateSymbols(
       NAME: "en_IE",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['a.m.', 'p.m.'],
       DATEFORMATS: const ['EEEE d MMMM y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 2),
   /**
    * Date/time formatting symbols for locale en_IN.
    */
-  "en_IN" : new DateSymbols(
+  "en_IN": new DateSymbols(
       NAME: "en_IN",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'dd-MMM-y', 'dd/MM/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale en_SG.
    */
-  "en_SG" : new DateSymbols(
+  "en_SG": new DateSymbols(
       NAME: "en_SG",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
@@ -1046,121 +3260,436 @@
   /**
    * Date/time formatting symbols for locale en_US.
    */
-  "en_US" : new DateSymbols(
+  "en_US": new DateSymbols(
       NAME: "en_US",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale en_ZA.
    */
-  "en_ZA" : new DateSymbols(
+  "en_ZA": new DateSymbols(
       NAME: "en_ZA",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['Before Christ', 'Anno Domini'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['January', 'February', 'March', 'April', 'May', 'June',
-        'July', 'August', 'September', 'October', 'November', 'December'],
-      STANDALONEMONTHS: const ['January', 'February', 'March', 'April', 'May',
-        'June', 'July', 'August', 'September', 'October', 'November',
-        'December'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-      WEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-        'Friday', 'Saturday'],
-      STANDALONEWEEKDAYS: const ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
-        'Thursday', 'Friday', 'Saturday'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      STANDALONEMONTHS: const [
+    'January',
+    'February',
+    'March',
+    'April',
+    'May',
+    'June',
+    'July',
+    'August',
+    'September',
+    'October',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'May',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Oct',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunday',
+    'Monday',
+    'Tuesday',
+    'Wednesday',
+    'Thursday',
+    'Friday',
+    'Saturday'
+  ],
       SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-      STANDALONESHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-        'Sat'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sun',
+    'Mon',
+    'Tue',
+    'Wed',
+    'Thu',
+    'Fri',
+    'Sat'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1st quarter', '2nd quarter', '3rd quarter',
-        '4th quarter'],
+      QUARTERS: const [
+    '1st quarter',
+    '2nd quarter',
+    '3rd quarter',
+    '4th quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE dd MMMM y', 'dd MMMM y', 'dd MMM y', 'y/MM/dd'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'at\' {0}',
+    '{1} \'at\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale es.
    */
-  "es" : new DateSymbols(
+  "es": new DateSymbols(
       NAME: "es",
       ERAS: const ['a. C.', 'd. C.'],
       ERANAMES: const ['antes de Cristo', 'anno Dómini'],
-      NARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio',
-        'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
-      STANDALONEMONTHS: const ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
-        'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre',
-        'Diciembre'],
-      SHORTMONTHS: const ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.',
-        'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'],
-      STANDALONESHORTMONTHS: const ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'May.',
-        'Jun.', 'Jul.', 'Ago.', 'Sept.', 'Oct.', 'Nov.', 'Dic.'],
-      WEEKDAYS: const ['domingo', 'lunes', 'martes', 'miércoles', 'jueves',
-        'viernes', 'sábado'],
-      STANDALONEWEEKDAYS: const ['Domingo', 'Lunes', 'Martes', 'Miércoles',
-        'Jueves', 'Viernes', 'Sábado'],
-      SHORTWEEKDAYS: const ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.',
-        'sáb.'],
-      STANDALONESHORTWEEKDAYS: const ['Dom.', 'Lun.', 'Mar.', 'Mié.', 'Jue.',
-        'Vie.', 'Sáb.'],
+      NARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'enero',
+    'febrero',
+    'marzo',
+    'abril',
+    'mayo',
+    'junio',
+    'julio',
+    'agosto',
+    'septiembre',
+    'octubre',
+    'noviembre',
+    'diciembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Enero',
+    'Febrero',
+    'Marzo',
+    'Abril',
+    'Mayo',
+    'Junio',
+    'Julio',
+    'Agosto',
+    'Septiembre',
+    'Octubre',
+    'Noviembre',
+    'Diciembre'
+  ],
+      SHORTMONTHS: const [
+    'ene.',
+    'feb.',
+    'mar.',
+    'abr.',
+    'may.',
+    'jun.',
+    'jul.',
+    'ago.',
+    'sept.',
+    'oct.',
+    'nov.',
+    'dic.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ene.',
+    'Feb.',
+    'Mar.',
+    'Abr.',
+    'May.',
+    'Jun.',
+    'Jul.',
+    'Ago.',
+    'Sept.',
+    'Oct.',
+    'Nov.',
+    'Dic.'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'lunes',
+    'martes',
+    'miércoles',
+    'jueves',
+    'viernes',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Domingo',
+    'Lunes',
+    'Martes',
+    'Miércoles',
+    'Jueves',
+    'Viernes',
+    'Sábado'
+  ],
+      SHORTWEEKDAYS: const [
+    'dom.',
+    'lun.',
+    'mar.',
+    'mié.',
+    'jue.',
+    'vie.',
+    'sáb.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'Dom.',
+    'Lun.',
+    'Mar.',
+    'Mié.',
+    'Jue.',
+    'Vie.',
+    'Sáb.'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1.er trimestre', '2.º trimestre', '3.er trimestre',
-        '4.º trimestre'],
+      QUARTERS: const [
+    '1.er trimestre',
+    '2.º trimestre',
+    '3.er trimestre',
+    '4.º trimestre'
+  ],
       AMPMS: const ['a. m.', 'p. m.'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'd/M/y', 'd/M/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'd/M/y',
+    'd/M/yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1172,39 +3701,146 @@
   /**
    * Date/time formatting symbols for locale es_419.
    */
-  "es_419" : new DateSymbols(
+  "es_419": new DateSymbols(
       NAME: "es_419",
       ERAS: const ['a. C.', 'd. C.'],
       ERANAMES: const ['antes de Cristo', 'anno Dómini'],
-      NARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio',
-        'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
-      STANDALONEMONTHS: const ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
-        'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre',
-        'Diciembre'],
-      SHORTMONTHS: const ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.',
-        'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'],
-      STANDALONESHORTMONTHS: const ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'May.',
-        'Jun.', 'Jul.', 'Ago.', 'Sept.', 'Oct.', 'Nov.', 'Dic.'],
-      WEEKDAYS: const ['domingo', 'lunes', 'martes', 'miércoles', 'jueves',
-        'viernes', 'sábado'],
-      STANDALONEWEEKDAYS: const ['Domingo', 'Lunes', 'Martes', 'Miércoles',
-        'Jueves', 'Viernes', 'Sábado'],
-      SHORTWEEKDAYS: const ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.',
-        'sáb.'],
-      STANDALONESHORTWEEKDAYS: const ['Dom.', 'Lun.', 'Mar.', 'Mié.', 'Jue.',
-        'Vie.', 'Sáb.'],
+      NARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'enero',
+    'febrero',
+    'marzo',
+    'abril',
+    'mayo',
+    'junio',
+    'julio',
+    'agosto',
+    'septiembre',
+    'octubre',
+    'noviembre',
+    'diciembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Enero',
+    'Febrero',
+    'Marzo',
+    'Abril',
+    'Mayo',
+    'Junio',
+    'Julio',
+    'Agosto',
+    'Septiembre',
+    'Octubre',
+    'Noviembre',
+    'Diciembre'
+  ],
+      SHORTMONTHS: const [
+    'ene.',
+    'feb.',
+    'mar.',
+    'abr.',
+    'may.',
+    'jun.',
+    'jul.',
+    'ago.',
+    'sept.',
+    'oct.',
+    'nov.',
+    'dic.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ene.',
+    'Feb.',
+    'Mar.',
+    'Abr.',
+    'May.',
+    'Jun.',
+    'Jul.',
+    'Ago.',
+    'Sept.',
+    'Oct.',
+    'Nov.',
+    'Dic.'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'lunes',
+    'martes',
+    'miércoles',
+    'jueves',
+    'viernes',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Domingo',
+    'Lunes',
+    'Martes',
+    'Miércoles',
+    'Jueves',
+    'Viernes',
+    'Sábado'
+  ],
+      SHORTWEEKDAYS: const [
+    'dom.',
+    'lun.',
+    'mar.',
+    'mié.',
+    'jue.',
+    'vie.',
+    'sáb.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'Dom.',
+    'Lun.',
+    'Mar.',
+    'Mié.',
+    'Jue.',
+    'Vie.',
+    'Sáb.'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1.er trimestre', '2.º trimestre', '3.er trimestre',
-        '4.º trimestre'],
+      QUARTERS: const [
+    '1.er trimestre',
+    '2.º trimestre',
+    '3.er trimestre',
+    '4.º trimestre'
+  ],
       AMPMS: const ['a. m.', 'p. m.'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'd/M/y', 'd/M/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'd/M/y',
+    'd/M/yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1216,39 +3852,146 @@
   /**
    * Date/time formatting symbols for locale es_ES.
    */
-  "es_ES" : new DateSymbols(
+  "es_ES": new DateSymbols(
       NAME: "es_ES",
       ERAS: const ['a. C.', 'd. C.'],
       ERANAMES: const ['antes de Cristo', 'anno Dómini'],
-      NARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['E', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio',
-        'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
-      STANDALONEMONTHS: const ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
-        'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre',
-        'Diciembre'],
-      SHORTMONTHS: const ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.',
-        'jul.', 'ago.', 'sept.', 'oct.', 'nov.', 'dic.'],
-      STANDALONESHORTMONTHS: const ['Ene.', 'Feb.', 'Mar.', 'Abr.', 'May.',
-        'Jun.', 'Jul.', 'Ago.', 'Sept.', 'Oct.', 'Nov.', 'Dic.'],
-      WEEKDAYS: const ['domingo', 'lunes', 'martes', 'miércoles', 'jueves',
-        'viernes', 'sábado'],
-      STANDALONEWEEKDAYS: const ['Domingo', 'Lunes', 'Martes', 'Miércoles',
-        'Jueves', 'Viernes', 'Sábado'],
-      SHORTWEEKDAYS: const ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.',
-        'sáb.'],
-      STANDALONESHORTWEEKDAYS: const ['Dom.', 'Lun.', 'Mar.', 'Mié.', 'Jue.',
-        'Vie.', 'Sáb.'],
+      NARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'E',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'enero',
+    'febrero',
+    'marzo',
+    'abril',
+    'mayo',
+    'junio',
+    'julio',
+    'agosto',
+    'septiembre',
+    'octubre',
+    'noviembre',
+    'diciembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Enero',
+    'Febrero',
+    'Marzo',
+    'Abril',
+    'Mayo',
+    'Junio',
+    'Julio',
+    'Agosto',
+    'Septiembre',
+    'Octubre',
+    'Noviembre',
+    'Diciembre'
+  ],
+      SHORTMONTHS: const [
+    'ene.',
+    'feb.',
+    'mar.',
+    'abr.',
+    'may.',
+    'jun.',
+    'jul.',
+    'ago.',
+    'sept.',
+    'oct.',
+    'nov.',
+    'dic.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ene.',
+    'Feb.',
+    'Mar.',
+    'Abr.',
+    'May.',
+    'Jun.',
+    'Jul.',
+    'Ago.',
+    'Sept.',
+    'Oct.',
+    'Nov.',
+    'Dic.'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'lunes',
+    'martes',
+    'miércoles',
+    'jueves',
+    'viernes',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Domingo',
+    'Lunes',
+    'Martes',
+    'Miércoles',
+    'Jueves',
+    'Viernes',
+    'Sábado'
+  ],
+      SHORTWEEKDAYS: const [
+    'dom.',
+    'lun.',
+    'mar.',
+    'mié.',
+    'jue.',
+    'vie.',
+    'sáb.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'Dom.',
+    'Lun.',
+    'Mar.',
+    'Mié.',
+    'Jue.',
+    'Vie.',
+    'Sáb.'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'X', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1.er trimestre', '2.º trimestre', '3.er trimestre',
-        '4.º trimestre'],
+      QUARTERS: const [
+    '1.er trimestre',
+    '2.º trimestre',
+    '3.er trimestre',
+    '4.º trimestre'
+  ],
       AMPMS: const ['a. m.', 'p. m.'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'd/M/y', 'd/M/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'd/M/y',
+    'd/M/yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss (zzzz)', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1257,27 +4000,112 @@
   /**
    * Date/time formatting symbols for locale et.
    */
-  "et" : new DateSymbols(
+  "et": new DateSymbols(
       NAME: "et",
       ERAS: const ['e.m.a.', 'm.a.j.'],
       ERANAMES: const ['enne meie aega', 'meie aja järgi'],
-      NARROWMONTHS: const ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'V', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni',
-        'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'],
-      STANDALONEMONTHS: const ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai',
-        'juuni', 'juuli', 'august', 'september', 'oktoober', 'november',
-        'detsember'],
-      SHORTMONTHS: const ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni',
-        'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],
-      STANDALONESHORTMONTHS: const ['jaan', 'veebr', 'märts', 'apr', 'mai',
-        'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'],
-      WEEKDAYS: const ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev',
-        'neljapäev', 'reede', 'laupäev'],
-      STANDALONEWEEKDAYS: const ['pühapäev', 'esmaspäev', 'teisipäev',
-        'kolmapäev', 'neljapäev', 'reede', 'laupäev'],
+      NARROWMONTHS: const [
+    'J',
+    'V',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'V',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'jaanuar',
+    'veebruar',
+    'märts',
+    'aprill',
+    'mai',
+    'juuni',
+    'juuli',
+    'august',
+    'september',
+    'oktoober',
+    'november',
+    'detsember'
+  ],
+      STANDALONEMONTHS: const [
+    'jaanuar',
+    'veebruar',
+    'märts',
+    'aprill',
+    'mai',
+    'juuni',
+    'juuli',
+    'august',
+    'september',
+    'oktoober',
+    'november',
+    'detsember'
+  ],
+      SHORTMONTHS: const [
+    'jaan',
+    'veebr',
+    'märts',
+    'apr',
+    'mai',
+    'juuni',
+    'juuli',
+    'aug',
+    'sept',
+    'okt',
+    'nov',
+    'dets'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jaan',
+    'veebr',
+    'märts',
+    'apr',
+    'mai',
+    'juuni',
+    'juuli',
+    'aug',
+    'sept',
+    'okt',
+    'nov',
+    'dets'
+  ],
+      WEEKDAYS: const [
+    'pühapäev',
+    'esmaspäev',
+    'teisipäev',
+    'kolmapäev',
+    'neljapäev',
+    'reede',
+    'laupäev'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'pühapäev',
+    'esmaspäev',
+    'teisipäev',
+    'kolmapäev',
+    'neljapäev',
+    'reede',
+    'laupäev'
+  ],
       SHORTWEEKDAYS: const ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
       STANDALONESHORTWEEKDAYS: const ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
       NARROWWEEKDAYS: const ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
@@ -1285,8 +4113,12 @@
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d. MMMM y',
+    'd. MMMM y',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['H:mm.ss zzzz', 'H:mm.ss z', 'H:mm.ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1295,39 +4127,138 @@
   /**
    * Date/time formatting symbols for locale eu.
    */
-  "eu" : new DateSymbols(
+  "eu": new DateSymbols(
       NAME: "eu",
       ERAS: const ['K.a.', 'K.o.'],
       ERANAMES: const ['K.a.', 'K.o.'],
-      NARROWMONTHS: const ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A', 'I', 'U',
-        'A', 'A'],
-      STANDALONENARROWMONTHS: const ['U', 'O', 'M', 'A', 'M', 'E', 'U', 'A',
-        'I', 'U', 'A', 'A'],
-      MONTHS: const ['urtarrilak', 'otsailak', 'martxoak', 'apirilak',
-        'maiatzak', 'ekainak', 'uztailak', 'abuztuak', 'irailak', 'urriak',
-        'azaroak', 'abenduak'],
-      STANDALONEMONTHS: const ['urtarrila', 'otsaila', 'martxoa', 'apirila',
-        'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa',
-        'abendua'],
-      SHORTMONTHS: const ['urt.', 'ots.', 'mar.', 'api.', 'mai.', 'eka.',
-        'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'],
-      STANDALONESHORTMONTHS: const ['urt.', 'ots.', 'mar.', 'api.', 'mai.',
-        'eka.', 'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'],
-      WEEKDAYS: const ['igandea', 'astelehena', 'asteartea', 'asteazkena',
-        'osteguna', 'ostirala', 'larunbata'],
-      STANDALONEWEEKDAYS: const ['igandea', 'astelehena', 'asteartea',
-        'asteazkena', 'osteguna', 'ostirala', 'larunbata'],
+      NARROWMONTHS: const [
+    'U',
+    'O',
+    'M',
+    'A',
+    'M',
+    'E',
+    'U',
+    'A',
+    'I',
+    'U',
+    'A',
+    'A'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'U',
+    'O',
+    'M',
+    'A',
+    'M',
+    'E',
+    'U',
+    'A',
+    'I',
+    'U',
+    'A',
+    'A'
+  ],
+      MONTHS: const [
+    'urtarrilak',
+    'otsailak',
+    'martxoak',
+    'apirilak',
+    'maiatzak',
+    'ekainak',
+    'uztailak',
+    'abuztuak',
+    'irailak',
+    'urriak',
+    'azaroak',
+    'abenduak'
+  ],
+      STANDALONEMONTHS: const [
+    'urtarrila',
+    'otsaila',
+    'martxoa',
+    'apirila',
+    'maiatza',
+    'ekaina',
+    'uztaila',
+    'abuztua',
+    'iraila',
+    'urria',
+    'azaroa',
+    'abendua'
+  ],
+      SHORTMONTHS: const [
+    'urt.',
+    'ots.',
+    'mar.',
+    'api.',
+    'mai.',
+    'eka.',
+    'uzt.',
+    'abu.',
+    'ira.',
+    'urr.',
+    'aza.',
+    'abe.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'urt.',
+    'ots.',
+    'mar.',
+    'api.',
+    'mai.',
+    'eka.',
+    'uzt.',
+    'abu.',
+    'ira.',
+    'urr.',
+    'aza.',
+    'abe.'
+  ],
+      WEEKDAYS: const [
+    'igandea',
+    'astelehena',
+    'asteartea',
+    'asteazkena',
+    'osteguna',
+    'ostirala',
+    'larunbata'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'igandea',
+    'astelehena',
+    'asteartea',
+    'asteazkena',
+    'osteguna',
+    'ostirala',
+    'larunbata'
+  ],
       SHORTWEEKDAYS: const ['ig.', 'al.', 'ar.', 'az.', 'og.', 'or.', 'lr.'],
-      STANDALONESHORTWEEKDAYS: const ['ig.', 'al.', 'ar.', 'az.', 'og.', 'or.',
-        'lr.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'ig.',
+    'al.',
+    'ar.',
+    'az.',
+    'og.',
+    'or.',
+    'lr.'
+  ],
       NARROWWEEKDAYS: const ['I', 'A', 'A', 'A', 'O', 'O', 'L'],
       STANDALONENARROWWEEKDAYS: const ['I', 'A', 'A', 'A', 'O', 'O', 'L'],
       SHORTQUARTERS: const ['1Hh', '2Hh', '3Hh', '4Hh'],
-      QUARTERS: const ['1. hiruhilekoa', '2. hiruhilekoa', '3. hiruhilekoa',
-        '4. hiruhilekoa'],
+      QUARTERS: const [
+    '1. hiruhilekoa',
+    '2. hiruhilekoa',
+    '3. hiruhilekoa',
+    '4. hiruhilekoa'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['y(\'e\')\'ko\' MMMM d, EEEE',
-        'y(\'e\')\'ko\' MMMM d', 'y MMM d', 'y-MM-dd'],
+      DATEFORMATS: const [
+    'y(\'e\')\'ko\' MMMM d, EEEE',
+    'y(\'e\')\'ko\' MMMM d',
+    'y MMM d',
+    'y-MM-dd'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1336,84 +4267,274 @@
   /**
    * Date/time formatting symbols for locale fa.
    */
-  "fa" : new DateSymbols(
+  "fa": new DateSymbols(
       NAME: "fa",
       ERAS: const ['ق.م.', 'م.'],
       ERANAMES: const ['قبل از میلاد', 'میلادی'],
-      NARROWMONTHS: const ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ', 'ا', 'س',
-        'ا', 'ن', 'د'],
-      STANDALONENARROWMONTHS: const ['ژ', 'ف', 'م', 'آ', 'م', 'ژ', 'ژ',
-        'ا', 'س', 'ا', 'ن', 'د'],
-      MONTHS: const ['ژانویهٔ', 'فوریهٔ', 'مارس', 'آوریل',
-        'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت', 'سپتامبر',
-        'اکتبر', 'نوامبر', 'دسامبر'],
-      STANDALONEMONTHS: const ['ژانویه', 'فوریه', 'مارس',
-        'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت',
-        'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
-      SHORTMONTHS: const ['ژانویهٔ', 'فوریهٔ', 'مارس',
-        'آوریل', 'مهٔ', 'ژوئن', 'ژوئیهٔ', 'اوت',
-        'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
-      STANDALONESHORTMONTHS: const ['ژانویه', 'فوریه', 'مارس',
-        'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت',
-        'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'],
-      WEEKDAYS: const ['یکشنبه', 'دوشنبه', 'سه‌شنبه',
-        'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
-      STANDALONEWEEKDAYS: const ['یکشنبه', 'دوشنبه',
-        'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه',
-        'شنبه'],
-      SHORTWEEKDAYS: const ['یکشنبه', 'دوشنبه', 'سه‌شنبه',
-        'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
-      STANDALONESHORTWEEKDAYS: const ['یکشنبه', 'دوشنبه',
-        'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه',
-        'شنبه'],
+      NARROWMONTHS: const [
+    'ژ',
+    'ف',
+    'م',
+    'آ',
+    'م',
+    'ژ',
+    'ژ',
+    'ا',
+    'س',
+    'ا',
+    'ن',
+    'د'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ژ',
+    'ف',
+    'م',
+    'آ',
+    'م',
+    'ژ',
+    'ژ',
+    'ا',
+    'س',
+    'ا',
+    'ن',
+    'د'
+  ],
+      MONTHS: const [
+    'ژانویهٔ',
+    'فوریهٔ',
+    'مارس',
+    'آوریل',
+    'مهٔ',
+    'ژوئن',
+    'ژوئیهٔ',
+    'اوت',
+    'سپتامبر',
+    'اکتبر',
+    'نوامبر',
+    'دسامبر'
+  ],
+      STANDALONEMONTHS: const [
+    'ژانویه',
+    'فوریه',
+    'مارس',
+    'آوریل',
+    'مه',
+    'ژوئن',
+    'ژوئیه',
+    'اوت',
+    'سپتامبر',
+    'اکتبر',
+    'نوامبر',
+    'دسامبر'
+  ],
+      SHORTMONTHS: const [
+    'ژانویهٔ',
+    'فوریهٔ',
+    'مارس',
+    'آوریل',
+    'مهٔ',
+    'ژوئن',
+    'ژوئیهٔ',
+    'اوت',
+    'سپتامبر',
+    'اکتبر',
+    'نوامبر',
+    'دسامبر'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ژانویه',
+    'فوریه',
+    'مارس',
+    'آوریل',
+    'مه',
+    'ژوئن',
+    'ژوئیه',
+    'اوت',
+    'سپتامبر',
+    'اکتبر',
+    'نوامبر',
+    'دسامبر'
+  ],
+      WEEKDAYS: const [
+    'یکشنبه',
+    'دوشنبه',
+    'سه‌شنبه',
+    'چهارشنبه',
+    'پنجشنبه',
+    'جمعه',
+    'شنبه'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'یکشنبه',
+    'دوشنبه',
+    'سه‌شنبه',
+    'چهارشنبه',
+    'پنجشنبه',
+    'جمعه',
+    'شنبه'
+  ],
+      SHORTWEEKDAYS: const [
+    'یکشنبه',
+    'دوشنبه',
+    'سه‌شنبه',
+    'چهارشنبه',
+    'پنجشنبه',
+    'جمعه',
+    'شنبه'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'یکشنبه',
+    'دوشنبه',
+    'سه‌شنبه',
+    'چهارشنبه',
+    'پنجشنبه',
+    'جمعه',
+    'شنبه'
+  ],
       NARROWWEEKDAYS: const ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
-      STANDALONENARROWWEEKDAYS: const ['ی', 'د', 'س', 'چ', 'پ', 'ج',
-        'ش'],
+      STANDALONENARROWWEEKDAYS: const ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
       SHORTQUARTERS: const ['س‌م۱', 'س‌م۲', 'س‌م۳', 'س‌م۴'],
-      QUARTERS: const ['سه‌ماههٔ اول', 'سه‌ماههٔ دوم',
-        'سه‌ماههٔ سوم', 'سه‌ماههٔ چهارم'],
+      QUARTERS: const [
+    'سه‌ماههٔ اول',
+    'سه‌ماههٔ دوم',
+    'سه‌ماههٔ سوم',
+    'سه‌ماههٔ چهارم'
+  ],
       AMPMS: const ['قبل‌ازظهر', 'بعدازظهر'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'y/M/d'],
       TIMEFORMATS: const ['H:mm:ss (zzzz)', 'H:mm:ss (z)', 'H:mm:ss', 'H:mm'],
-      DATETIMEFORMATS: const ['{1}، ساعت {0}', '{1}، ساعت {0}',
-        '{1}،‏ {0}', '{1}،‏ {0}'],
+      DATETIMEFORMATS: const [
+    '{1}، ساعت {0}',
+    '{1}، ساعت {0}',
+    '{1}،‏ {0}',
+    '{1}،‏ {0}'
+  ],
       FIRSTDAYOFWEEK: 5,
       WEEKENDRANGE: const [3, 4],
       FIRSTWEEKCUTOFFDAY: 4),
   /**
    * Date/time formatting symbols for locale fi.
    */
-  "fi" : new DateSymbols(
+  "fi": new DateSymbols(
       NAME: "fi",
       ERAS: const ['eKr.', 'jKr.'],
-      ERANAMES: const ['ennen Kristuksen syntymää',
-        'jälkeen Kristuksen syntymän'],
-      NARROWMONTHS: const ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E', 'S', 'L',
-        'M', 'J'],
-      STANDALONENARROWMONTHS: const ['T', 'H', 'M', 'H', 'T', 'K', 'H', 'E',
-        'S', 'L', 'M', 'J'],
-      MONTHS: const ['tammikuuta', 'helmikuuta', 'maaliskuuta', 'huhtikuuta',
-        'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta', 'syyskuuta',
-        'lokakuuta', 'marraskuuta', 'joulukuuta'],
-      STANDALONEMONTHS: const ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu',
-        'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu',
-        'marraskuu', 'joulukuu'],
-      SHORTMONTHS: const ['tammikuuta', 'helmikuuta', 'maaliskuuta',
-        'huhtikuuta', 'toukokuuta', 'kesäkuuta', 'heinäkuuta', 'elokuuta',
-        'syyskuuta', 'lokakuuta', 'marraskuuta', 'joulukuuta'],
-      STANDALONESHORTMONTHS: const ['tammi', 'helmi', 'maalis', 'huhti',
-        'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'],
-      WEEKDAYS: const ['sunnuntaina', 'maanantaina', 'tiistaina',
-        'keskiviikkona', 'torstaina', 'perjantaina', 'lauantaina'],
-      STANDALONEWEEKDAYS: const ['sunnuntai', 'maanantai', 'tiistai',
-        'keskiviikko', 'torstai', 'perjantai', 'lauantai'],
+      ERANAMES: const [
+    'ennen Kristuksen syntymää',
+    'jälkeen Kristuksen syntymän'
+  ],
+      NARROWMONTHS: const [
+    'T',
+    'H',
+    'M',
+    'H',
+    'T',
+    'K',
+    'H',
+    'E',
+    'S',
+    'L',
+    'M',
+    'J'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'T',
+    'H',
+    'M',
+    'H',
+    'T',
+    'K',
+    'H',
+    'E',
+    'S',
+    'L',
+    'M',
+    'J'
+  ],
+      MONTHS: const [
+    'tammikuuta',
+    'helmikuuta',
+    'maaliskuuta',
+    'huhtikuuta',
+    'toukokuuta',
+    'kesäkuuta',
+    'heinäkuuta',
+    'elokuuta',
+    'syyskuuta',
+    'lokakuuta',
+    'marraskuuta',
+    'joulukuuta'
+  ],
+      STANDALONEMONTHS: const [
+    'tammikuu',
+    'helmikuu',
+    'maaliskuu',
+    'huhtikuu',
+    'toukokuu',
+    'kesäkuu',
+    'heinäkuu',
+    'elokuu',
+    'syyskuu',
+    'lokakuu',
+    'marraskuu',
+    'joulukuu'
+  ],
+      SHORTMONTHS: const [
+    'tammikuuta',
+    'helmikuuta',
+    'maaliskuuta',
+    'huhtikuuta',
+    'toukokuuta',
+    'kesäkuuta',
+    'heinäkuuta',
+    'elokuuta',
+    'syyskuuta',
+    'lokakuuta',
+    'marraskuuta',
+    'joulukuuta'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'tammi',
+    'helmi',
+    'maalis',
+    'huhti',
+    'touko',
+    'kesä',
+    'heinä',
+    'elo',
+    'syys',
+    'loka',
+    'marras',
+    'joulu'
+  ],
+      WEEKDAYS: const [
+    'sunnuntaina',
+    'maanantaina',
+    'tiistaina',
+    'keskiviikkona',
+    'torstaina',
+    'perjantaina',
+    'lauantaina'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'sunnuntai',
+    'maanantai',
+    'tiistai',
+    'keskiviikko',
+    'torstai',
+    'perjantai',
+    'lauantai'
+  ],
       SHORTWEEKDAYS: const ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],
       STANDALONESHORTWEEKDAYS: const ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'K', 'T', 'P', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'K', 'T', 'P', 'L'],
       SHORTQUARTERS: const ['1. nelj.', '2. nelj.', '3. nelj.', '4. nelj.'],
-      QUARTERS: const ['1. neljännes', '2. neljännes', '3. neljännes',
-        '4. neljännes'],
+      QUARTERS: const [
+    '1. neljännes',
+    '2. neljännes',
+    '3. neljännes',
+    '4. neljännes'
+  ],
       AMPMS: const ['ap.', 'ip.'],
       DATEFORMATS: const ['cccc d. MMMM y', 'd. MMMM y', 'd.M.y', 'd.M.y'],
       TIMEFORMATS: const ['H.mm.ss zzzz', 'H.mm.ss z', 'H.mm.ss', 'H.mm'],
@@ -1424,77 +4545,284 @@
   /**
    * Date/time formatting symbols for locale fil.
    */
-  "fil" : new DateSymbols(
+  "fil": new DateSymbols(
       NAME: "fil",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['BC', 'AD'],
-      NARROWMONTHS: const ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo',
-        'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'],
-      STANDALONEMONTHS: const ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo',
-        'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre',
-        'Disyembre'],
-      SHORTMONTHS: const ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul',
-        'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
-      STANDALONESHORTMONTHS: const ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun',
-        'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
-      WEEKDAYS: const ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes',
-        'Biyernes', 'Sabado'],
-      STANDALONEWEEKDAYS: const ['Linggo', 'Lunes', 'Martes', 'Miyerkules',
-        'Huwebes', 'Biyernes', 'Sabado'],
+      NARROWMONTHS: const [
+    'E',
+    'P',
+    'M',
+    'A',
+    'M',
+    'H',
+    'H',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'E',
+    'P',
+    'M',
+    'A',
+    'M',
+    'H',
+    'H',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Enero',
+    'Pebrero',
+    'Marso',
+    'Abril',
+    'Mayo',
+    'Hunyo',
+    'Hulyo',
+    'Agosto',
+    'Setyembre',
+    'Oktubre',
+    'Nobyembre',
+    'Disyembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Enero',
+    'Pebrero',
+    'Marso',
+    'Abril',
+    'Mayo',
+    'Hunyo',
+    'Hulyo',
+    'Agosto',
+    'Setyembre',
+    'Oktubre',
+    'Nobyembre',
+    'Disyembre'
+  ],
+      SHORTMONTHS: const [
+    'Ene',
+    'Peb',
+    'Mar',
+    'Abr',
+    'May',
+    'Hun',
+    'Hul',
+    'Ago',
+    'Set',
+    'Okt',
+    'Nob',
+    'Dis'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ene',
+    'Peb',
+    'Mar',
+    'Abr',
+    'May',
+    'Hun',
+    'Hul',
+    'Ago',
+    'Set',
+    'Okt',
+    'Nob',
+    'Dis'
+  ],
+      WEEKDAYS: const [
+    'Linggo',
+    'Lunes',
+    'Martes',
+    'Miyerkules',
+    'Huwebes',
+    'Biyernes',
+    'Sabado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Linggo',
+    'Lunes',
+    'Martes',
+    'Miyerkules',
+    'Huwebes',
+    'Biyernes',
+    'Sabado'
+  ],
       SHORTWEEKDAYS: const ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'],
-      STANDALONESHORTWEEKDAYS: const ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy',
-        'Sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Lin',
+    'Lun',
+    'Mar',
+    'Miy',
+    'Huw',
+    'Biy',
+    'Sab'
+  ],
       NARROWWEEKDAYS: const ['L', 'L', 'M', 'M', 'H', 'B', 'S'],
       STANDALONENARROWWEEKDAYS: const ['L', 'L', 'M', 'M', 'H', 'B', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['ika-1 quarter', 'ika-2 quarter', 'ika-3 quarter',
-        'ika-4 na quarter'],
+      QUARTERS: const [
+    'ika-1 quarter',
+    'ika-2 quarter',
+    'ika-3 quarter',
+    'ika-4 na quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'ng\' {0}', '{1} \'ng\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'ng\' {0}',
+    '{1} \'ng\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale fr.
    */
-  "fr" : new DateSymbols(
+  "fr": new DateSymbols(
       NAME: "fr",
       ERAS: const ['av. J.-C.', 'ap. J.-C.'],
       ERANAMES: const ['avant Jésus-Christ', 'après Jésus-Christ'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
-        'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
-      STANDALONEMONTHS: const ['janvier', 'février', 'mars', 'avril', 'mai',
-        'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre',
-        'décembre'],
-      SHORTMONTHS: const ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',
-        'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
-      STANDALONESHORTMONTHS: const ['janv.', 'févr.', 'mars', 'avr.', 'mai',
-        'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
-      WEEKDAYS: const ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi',
-        'vendredi', 'samedi'],
-      STANDALONEWEEKDAYS: const ['dimanche', 'lundi', 'mardi', 'mercredi',
-        'jeudi', 'vendredi', 'samedi'],
-      SHORTWEEKDAYS: const ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.',
-        'sam.'],
-      STANDALONESHORTWEEKDAYS: const ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.',
-        'ven.', 'sam.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janvier',
+    'février',
+    'mars',
+    'avril',
+    'mai',
+    'juin',
+    'juillet',
+    'août',
+    'septembre',
+    'octobre',
+    'novembre',
+    'décembre'
+  ],
+      STANDALONEMONTHS: const [
+    'janvier',
+    'février',
+    'mars',
+    'avril',
+    'mai',
+    'juin',
+    'juillet',
+    'août',
+    'septembre',
+    'octobre',
+    'novembre',
+    'décembre'
+  ],
+      SHORTMONTHS: const [
+    'janv.',
+    'févr.',
+    'mars',
+    'avr.',
+    'mai',
+    'juin',
+    'juil.',
+    'août',
+    'sept.',
+    'oct.',
+    'nov.',
+    'déc.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'janv.',
+    'févr.',
+    'mars',
+    'avr.',
+    'mai',
+    'juin',
+    'juil.',
+    'août',
+    'sept.',
+    'oct.',
+    'nov.',
+    'déc.'
+  ],
+      WEEKDAYS: const [
+    'dimanche',
+    'lundi',
+    'mardi',
+    'mercredi',
+    'jeudi',
+    'vendredi',
+    'samedi'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'dimanche',
+    'lundi',
+    'mardi',
+    'mercredi',
+    'jeudi',
+    'vendredi',
+    'samedi'
+  ],
+      SHORTWEEKDAYS: const [
+    'dim.',
+    'lun.',
+    'mar.',
+    'mer.',
+    'jeu.',
+    'ven.',
+    'sam.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'dim.',
+    'lun.',
+    'mar.',
+    'mer.',
+    'jeu.',
+    'ven.',
+    'sam.'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1er trimestre', '2e trimestre', '3e trimestre',
-        '4e trimestre'],
+      QUARTERS: const [
+    '1er trimestre',
+    '2e trimestre',
+    '3e trimestre',
+    '4e trimestre'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -1505,40 +4833,147 @@
   /**
    * Date/time formatting symbols for locale fr_CA.
    */
-  "fr_CA" : new DateSymbols(
+  "fr_CA": new DateSymbols(
       NAME: "fr_CA",
       ERAS: const ['av. J.-C.', 'ap. J.-C.'],
       ERANAMES: const ['avant Jésus-Christ', 'après Jésus-Christ'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
-        'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
-      STANDALONEMONTHS: const ['janvier', 'février', 'mars', 'avril', 'mai',
-        'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre',
-        'décembre'],
-      SHORTMONTHS: const ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',
-        'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
-      STANDALONESHORTMONTHS: const ['janv.', 'févr.', 'mars', 'avr.', 'mai',
-        'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
-      WEEKDAYS: const ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi',
-        'vendredi', 'samedi'],
-      STANDALONEWEEKDAYS: const ['dimanche', 'lundi', 'mardi', 'mercredi',
-        'jeudi', 'vendredi', 'samedi'],
-      SHORTWEEKDAYS: const ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.',
-        'sam.'],
-      STANDALONESHORTWEEKDAYS: const ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.',
-        'ven.', 'sam.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janvier',
+    'février',
+    'mars',
+    'avril',
+    'mai',
+    'juin',
+    'juillet',
+    'août',
+    'septembre',
+    'octobre',
+    'novembre',
+    'décembre'
+  ],
+      STANDALONEMONTHS: const [
+    'janvier',
+    'février',
+    'mars',
+    'avril',
+    'mai',
+    'juin',
+    'juillet',
+    'août',
+    'septembre',
+    'octobre',
+    'novembre',
+    'décembre'
+  ],
+      SHORTMONTHS: const [
+    'janv.',
+    'févr.',
+    'mars',
+    'avr.',
+    'mai',
+    'juin',
+    'juil.',
+    'août',
+    'sept.',
+    'oct.',
+    'nov.',
+    'déc.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'janv.',
+    'févr.',
+    'mars',
+    'avr.',
+    'mai',
+    'juin',
+    'juil.',
+    'août',
+    'sept.',
+    'oct.',
+    'nov.',
+    'déc.'
+  ],
+      WEEKDAYS: const [
+    'dimanche',
+    'lundi',
+    'mardi',
+    'mercredi',
+    'jeudi',
+    'vendredi',
+    'samedi'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'dimanche',
+    'lundi',
+    'mardi',
+    'mercredi',
+    'jeudi',
+    'vendredi',
+    'samedi'
+  ],
+      SHORTWEEKDAYS: const [
+    'dim.',
+    'lun.',
+    'mar.',
+    'mer.',
+    'jeu.',
+    'ven.',
+    'sam.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'dim.',
+    'lun.',
+    'mar.',
+    'mer.',
+    'jeu.',
+    'ven.',
+    'sam.'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1er trimestre', '2e trimestre', '3e trimestre',
-        '4e trimestre'],
+      QUARTERS: const [
+    '1er trimestre',
+    '2e trimestre',
+    '3e trimestre',
+    '4e trimestre'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'y-MM-dd', 'yy-MM-dd'],
-      TIMEFORMATS: const ['HH \'h\' mm \'min\' ss \'s\' zzzz', 'HH:mm:ss z',
-        'HH:mm:ss', 'HH:mm'],
+      TIMEFORMATS: const [
+    'HH \'h\' mm \'min\' ss \'s\' zzzz',
+    'HH:mm:ss z',
+    'HH:mm:ss',
+    'HH:mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -1546,38 +4981,138 @@
   /**
    * Date/time formatting symbols for locale gl.
    */
-  "gl" : new DateSymbols(
+  "gl": new DateSymbols(
       NAME: "gl",
       ERAS: const ['a.C.', 'd.C.'],
       ERANAMES: const ['antes de Cristo', 'despois de Cristo'],
-      NARROWMONTHS: const ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['X', 'F', 'M', 'A', 'M', 'X', 'X', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño',
-        'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro'],
-      STANDALONEMONTHS: const ['Xaneiro', 'Febreiro', 'Marzo', 'Abril', 'Maio',
-        'Xuño', 'Xullo', 'Agosto', 'Setembro', 'Outubro', 'Novembro',
-        'Decembro'],
-      SHORTMONTHS: const ['xan', 'feb', 'mar', 'abr', 'mai', 'xuñ', 'xul',
-        'ago', 'set', 'out', 'nov', 'dec'],
-      STANDALONESHORTMONTHS: const ['Xan', 'Feb', 'Mar', 'Abr', 'Mai', 'Xuñ',
-        'Xul', 'Ago', 'Set', 'Out', 'Nov', 'Dec'],
-      WEEKDAYS: const ['domingo', 'luns', 'martes', 'mércores', 'xoves',
-        'venres', 'sábado'],
-      STANDALONEWEEKDAYS: const ['Domingo', 'Luns', 'Martes', 'Mércores',
-        'Xoves', 'Venres', 'Sábado'],
+      NARROWMONTHS: const [
+    'X',
+    'F',
+    'M',
+    'A',
+    'M',
+    'X',
+    'X',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'X',
+    'F',
+    'M',
+    'A',
+    'M',
+    'X',
+    'X',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'xaneiro',
+    'febreiro',
+    'marzo',
+    'abril',
+    'maio',
+    'xuño',
+    'xullo',
+    'agosto',
+    'setembro',
+    'outubro',
+    'novembro',
+    'decembro'
+  ],
+      STANDALONEMONTHS: const [
+    'Xaneiro',
+    'Febreiro',
+    'Marzo',
+    'Abril',
+    'Maio',
+    'Xuño',
+    'Xullo',
+    'Agosto',
+    'Setembro',
+    'Outubro',
+    'Novembro',
+    'Decembro'
+  ],
+      SHORTMONTHS: const [
+    'xan',
+    'feb',
+    'mar',
+    'abr',
+    'mai',
+    'xuñ',
+    'xul',
+    'ago',
+    'set',
+    'out',
+    'nov',
+    'dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Xan',
+    'Feb',
+    'Mar',
+    'Abr',
+    'Mai',
+    'Xuñ',
+    'Xul',
+    'Ago',
+    'Set',
+    'Out',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'luns',
+    'martes',
+    'mércores',
+    'xoves',
+    'venres',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Domingo',
+    'Luns',
+    'Martes',
+    'Mércores',
+    'Xoves',
+    'Venres',
+    'Sábado'
+  ],
       SHORTWEEKDAYS: const ['dom', 'lun', 'mar', 'mér', 'xov', 'ven', 'sáb'],
-      STANDALONESHORTWEEKDAYS: const ['Dom', 'Lun', 'Mar', 'Mér', 'Xov', 'Ven',
-        'Sáb'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Dom',
+    'Lun',
+    'Mar',
+    'Mér',
+    'Xov',
+    'Ven',
+    'Sáb'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'X', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'X', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1o trimestre', '2o trimestre', '3o trimestre',
-        '4o trimestre'],
+      QUARTERS: const [
+    '1o trimestre',
+    '2o trimestre',
+    '3o trimestre',
+    '4o trimestre'
+  ],
       AMPMS: const ['a.m.', 'p.m.'],
-      DATEFORMATS: const ['EEEE dd MMMM y', 'dd MMMM y', 'd MMM, y',
-        'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE dd MMMM y',
+    'dd MMMM y',
+    'd MMM, y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1586,37 +5121,133 @@
   /**
    * Date/time formatting symbols for locale gsw.
    */
-  "gsw" : new DateSymbols(
+  "gsw": new DateSymbols(
       NAME: "gsw",
       ERAS: const ['v. Chr.', 'n. Chr.'],
       ERANAMES: const ['v. Chr.', 'n. Chr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni',
-        'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'],
-      STANDALONEMONTHS: const ['Januar', 'Februar', 'März', 'April', 'Mai',
-        'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber',
-        'Dezämber'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul',
-        'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
-      WEEKDAYS: const ['Sunntig', 'Määntig', 'Ziischtig', 'Mittwuch',
-        'Dunschtig', 'Friitig', 'Samschtig'],
-      STANDALONEWEEKDAYS: const ['Sunntig', 'Määntig', 'Ziischtig',
-        'Mittwuch', 'Dunschtig', 'Friitig', 'Samschtig'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'Auguscht',
+    'Septämber',
+    'Oktoober',
+    'Novämber',
+    'Dezämber'
+  ],
+      STANDALONEMONTHS: const [
+    'Januar',
+    'Februar',
+    'März',
+    'April',
+    'Mai',
+    'Juni',
+    'Juli',
+    'Auguscht',
+    'Septämber',
+    'Oktoober',
+    'Novämber',
+    'Dezämber'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mär',
+    'Apr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dez'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mär',
+    'Apr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dez'
+  ],
+      WEEKDAYS: const [
+    'Sunntig',
+    'Määntig',
+    'Ziischtig',
+    'Mittwuch',
+    'Dunschtig',
+    'Friitig',
+    'Samschtig'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sunntig',
+    'Määntig',
+    'Ziischtig',
+    'Mittwuch',
+    'Dunschtig',
+    'Friitig',
+    'Samschtig'
+  ],
       SHORTWEEKDAYS: const ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.', 'Sa.'],
-      STANDALONESHORTWEEKDAYS: const ['Su.', 'Mä.', 'Zi.', 'Mi.', 'Du.', 'Fr.',
-        'Sa.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Su.',
+    'Mä.',
+    'Zi.',
+    'Mi.',
+    'Du.',
+    'Fr.',
+    'Sa.'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'D', 'M', 'D', 'F', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal'],
       AMPMS: const ['vorm.', 'nam.'],
-      DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'dd.MM.y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d. MMMM y',
+    'd. MMMM y',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1625,58 +5256,152 @@
   /**
    * Date/time formatting symbols for locale gu.
    */
-  "gu" : new DateSymbols(
+  "gu": new DateSymbols(
       NAME: "gu",
-      ERAS: const ['ઈસુના જન્મ પહેલા',
-        'ઇસવીસન'],
-      ERANAMES: const ['ઈસવીસન પૂર્વે',
-        'ઇસવીસન'],
-      NARROWMONTHS: const ['જા', 'ફે', 'મા', 'એ', 'મે',
-        'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'],
-      STANDALONENARROWMONTHS: const ['જા', 'ફે', 'મા', 'એ',
-        'મે', 'જૂ', 'જુ', 'ઑ', 'સ', 'ઑ', 'ન', 'ડિ'],
-      MONTHS: const ['જાન્યુઆરી',
-        'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ',
-        'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ',
-        'સપ્ટેમ્બર', 'ઑક્ટોબર',
-        'નવેમ્બર', 'ડિસેમ્બર'],
-      STANDALONEMONTHS: const ['જાન્યુઆરી',
-        'ફેબ્રુઆરી', 'માર્ચ', 'એપ્રિલ',
-        'મે', 'જૂન', 'જુલાઈ', 'ઑગસ્ટ',
-        'સપ્ટેમ્બર', 'ઑક્ટોબર',
-        'નવેમ્બર', 'ડિસેમ્બર'],
-      SHORTMONTHS: const ['જાન્યુ', 'ફેબ્રુ',
-        'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન',
-        'જુલાઈ', 'ઑગસ્ટ', 'સપ્ટે',
-        'ઑક્ટો', 'નવે', 'ડિસે'],
-      STANDALONESHORTMONTHS: const ['જાન્યુ', 'ફેબ્રુ',
-        'માર્ચ', 'એપ્રિલ', 'મે', 'જૂન',
-        'જુલાઈ', 'ઑગ', 'સપ્ટે', 'ઑક્ટો',
-        'નવે', 'ડિસે'],
-      WEEKDAYS: const ['રવિવાર', 'સોમવાર',
-        'મંગળવાર', 'બુધવાર', 'ગુરુવાર',
-        'શુક્રવાર', 'શનિવાર'],
-      STANDALONEWEEKDAYS: const ['રવિવાર', 'સોમવાર',
-        'મંગળવાર', 'બુધવાર', 'ગુરુવાર',
-        'શુક્રવાર', 'શનિવાર'],
-      SHORTWEEKDAYS: const ['રવિ', 'સોમ', 'મંગળ',
-        'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'],
-      STANDALONESHORTWEEKDAYS: const ['રવિ', 'સોમ', 'મંગળ',
-        'બુધ', 'ગુરુ', 'શુક્ર', 'શનિ'],
-      NARROWWEEKDAYS: const ['ર', 'સો', 'મં', 'બુ', 'ગુ',
-        'શુ', 'શ'],
-      STANDALONENARROWWEEKDAYS: const ['ર', 'સો', 'મં', 'બુ',
-        'ગુ', 'શુ', 'શ'],
+      ERAS: const ['ઈસુના જન્મ પહેલા', 'ઇસવીસન'],
+      ERANAMES: const ['ઈસવીસન પૂર્વે', 'ઇસવીસન'],
+      NARROWMONTHS: const [
+    'જા',
+    'ફે',
+    'મા',
+    'એ',
+    'મે',
+    'જૂ',
+    'જુ',
+    'ઑ',
+    'સ',
+    'ઑ',
+    'ન',
+    'ડિ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'જા',
+    'ફે',
+    'મા',
+    'એ',
+    'મે',
+    'જૂ',
+    'જુ',
+    'ઑ',
+    'સ',
+    'ઑ',
+    'ન',
+    'ડિ'
+  ],
+      MONTHS: const [
+    'જાન્યુઆરી',
+    'ફેબ્રુઆરી',
+    'માર્ચ',
+    'એપ્રિલ',
+    'મે',
+    'જૂન',
+    'જુલાઈ',
+    'ઑગસ્ટ',
+    'સપ્ટેમ્બર',
+    'ઑક્ટોબર',
+    'નવેમ્બર',
+    'ડિસેમ્બર'
+  ],
+      STANDALONEMONTHS: const [
+    'જાન્યુઆરી',
+    'ફેબ્રુઆરી',
+    'માર્ચ',
+    'એપ્રિલ',
+    'મે',
+    'જૂન',
+    'જુલાઈ',
+    'ઑગસ્ટ',
+    'સપ્ટેમ્બર',
+    'ઑક્ટોબર',
+    'નવેમ્બર',
+    'ડિસેમ્બર'
+  ],
+      SHORTMONTHS: const [
+    'જાન્યુ',
+    'ફેબ્રુ',
+    'માર્ચ',
+    'એપ્રિલ',
+    'મે',
+    'જૂન',
+    'જુલાઈ',
+    'ઑગસ્ટ',
+    'સપ્ટે',
+    'ઑક્ટો',
+    'નવે',
+    'ડિસે'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'જાન્યુ',
+    'ફેબ્રુ',
+    'માર્ચ',
+    'એપ્રિલ',
+    'મે',
+    'જૂન',
+    'જુલાઈ',
+    'ઑગ',
+    'સપ્ટે',
+    'ઑક્ટો',
+    'નવે',
+    'ડિસે'
+  ],
+      WEEKDAYS: const [
+    'રવિવાર',
+    'સોમવાર',
+    'મંગળવાર',
+    'બુધવાર',
+    'ગુરુવાર',
+    'શુક્રવાર',
+    'શનિવાર'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'રવિવાર',
+    'સોમવાર',
+    'મંગળવાર',
+    'બુધવાર',
+    'ગુરુવાર',
+    'શુક્રવાર',
+    'શનિવાર'
+  ],
+      SHORTWEEKDAYS: const [
+    'રવિ',
+    'સોમ',
+    'મંગળ',
+    'બુધ',
+    'ગુરુ',
+    'શુક્ર',
+    'શનિ'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'રવિ',
+    'સોમ',
+    'મંગળ',
+    'બુધ',
+    'ગુરુ',
+    'શુક્ર',
+    'શનિ'
+  ],
+      NARROWWEEKDAYS: const ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'],
+      STANDALONENARROWWEEKDAYS: const ['ર', 'સો', 'મં', 'બુ', 'ગુ', 'શુ', 'શ'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['પહેલો ત્રિમાસ',
-        'બીજો ત્રિમાસ',
-        'ત્રીજો ત્રિમાસ',
-        'ચોથો ત્રિમાસ'],
+      QUARTERS: const [
+    'પહેલો ત્રિમાસ',
+    'બીજો ત્રિમાસ',
+    'ત્રીજો ત્રિમાસ',
+    'ચોથો ત્રિમાસ'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y',
-        'd-MM-yy'],
-      TIMEFORMATS: const ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a',
-        'hh:mm a'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM, y',
+    'd MMMM, y',
+    'd MMM, y',
+    'd-MM-yy'
+  ],
+      TIMEFORMATS: const [
+    'hh:mm:ss a zzzz',
+    'hh:mm:ss a z',
+    'hh:mm:ss a',
+    'hh:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -1684,28 +5409,112 @@
   /**
    * Date/time formatting symbols for locale haw.
    */
-  "haw" : new DateSymbols(
+  "haw": new DateSymbols(
       NAME: "haw",
       ERAS: const ['BCE', 'CE'],
       ERANAMES: const ['BCE', 'CE'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila', 'Mei',
-        'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa', 'Nowemapa',
-        'Kekemapa'],
-      STANDALONEMONTHS: const ['Ianuali', 'Pepeluali', 'Malaki', 'ʻApelila',
-        'Mei', 'Iune', 'Iulai', 'ʻAukake', 'Kepakemapa', 'ʻOkakopa',
-        'Nowemapa', 'Kekemapa'],
-      SHORTMONTHS: const ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei', 'Iun.',
-        'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'],
-      STANDALONESHORTMONTHS: const ['Ian.', 'Pep.', 'Mal.', 'ʻAp.', 'Mei',
-        'Iun.', 'Iul.', 'ʻAu.', 'Kep.', 'ʻOk.', 'Now.', 'Kek.'],
-      WEEKDAYS: const ['Lāpule', 'Poʻakahi', 'Poʻalua', 'Poʻakolu',
-        'Poʻahā', 'Poʻalima', 'Poʻaono'],
-      STANDALONEWEEKDAYS: const ['Lāpule', 'Poʻakahi', 'Poʻalua',
-        'Poʻakolu', 'Poʻahā', 'Poʻalima', 'Poʻaono'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'Ianuali',
+    'Pepeluali',
+    'Malaki',
+    'ʻApelila',
+    'Mei',
+    'Iune',
+    'Iulai',
+    'ʻAukake',
+    'Kepakemapa',
+    'ʻOkakopa',
+    'Nowemapa',
+    'Kekemapa'
+  ],
+      STANDALONEMONTHS: const [
+    'Ianuali',
+    'Pepeluali',
+    'Malaki',
+    'ʻApelila',
+    'Mei',
+    'Iune',
+    'Iulai',
+    'ʻAukake',
+    'Kepakemapa',
+    'ʻOkakopa',
+    'Nowemapa',
+    'Kekemapa'
+  ],
+      SHORTMONTHS: const [
+    'Ian.',
+    'Pep.',
+    'Mal.',
+    'ʻAp.',
+    'Mei',
+    'Iun.',
+    'Iul.',
+    'ʻAu.',
+    'Kep.',
+    'ʻOk.',
+    'Now.',
+    'Kek.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ian.',
+    'Pep.',
+    'Mal.',
+    'ʻAp.',
+    'Mei',
+    'Iun.',
+    'Iul.',
+    'ʻAu.',
+    'Kep.',
+    'ʻOk.',
+    'Now.',
+    'Kek.'
+  ],
+      WEEKDAYS: const [
+    'Lāpule',
+    'Poʻakahi',
+    'Poʻalua',
+    'Poʻakolu',
+    'Poʻahā',
+    'Poʻalima',
+    'Poʻaono'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Lāpule',
+    'Poʻakahi',
+    'Poʻalua',
+    'Poʻakolu',
+    'Poʻahā',
+    'Poʻalima',
+    'Poʻaono'
+  ],
       SHORTWEEKDAYS: const ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'],
       STANDALONESHORTWEEKDAYS: const ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
@@ -1714,8 +5523,12 @@
       QUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -1723,183 +5536,579 @@
   /**
    * Date/time formatting symbols for locale he.
    */
-  "he" : new DateSymbols(
+  "he": new DateSymbols(
       NAME: "he",
       ERAS: const ['לפנה״ס', 'לסה״נ'],
       ERANAMES: const ['לפני הספירה', 'לספירה'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['ינואר', 'פברואר', 'מרץ', 'אפריל',
-        'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר',
-        'אוקטובר', 'נובמבר', 'דצמבר'],
-      STANDALONEMONTHS: const ['ינואר', 'פברואר', 'מרץ',
-        'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט',
-        'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'],
-      SHORTMONTHS: const ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳',
-        'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳',
-        'נוב׳', 'דצמ׳'],
-      STANDALONESHORTMONTHS: const ['ינו׳', 'פבר׳', 'מרץ',
-        'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳',
-        'אוק׳', 'נוב׳', 'דצמ׳'],
-      WEEKDAYS: const ['יום ראשון', 'יום שני',
-        'יום שלישי', 'יום רביעי', 'יום חמישי',
-        'יום שישי', 'יום שבת'],
-      STANDALONEWEEKDAYS: const ['יום ראשון', 'יום שני',
-        'יום שלישי', 'יום רביעי', 'יום חמישי',
-        'יום שישי', 'יום שבת'],
-      SHORTWEEKDAYS: const ['יום א׳', 'יום ב׳', 'יום ג׳',
-        'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],
-      STANDALONESHORTWEEKDAYS: const ['יום א׳', 'יום ב׳',
-        'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],
-      NARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳',
-        'ש׳'],
-      STANDALONENARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳',
-        'ו׳', 'ש׳'],
-      SHORTQUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3',
-        'רבעון 4'],
-      QUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3',
-        'רבעון 4'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'ינואר',
+    'פברואר',
+    'מרץ',
+    'אפריל',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוגוסט',
+    'ספטמבר',
+    'אוקטובר',
+    'נובמבר',
+    'דצמבר'
+  ],
+      STANDALONEMONTHS: const [
+    'ינואר',
+    'פברואר',
+    'מרץ',
+    'אפריל',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוגוסט',
+    'ספטמבר',
+    'אוקטובר',
+    'נובמבר',
+    'דצמבר'
+  ],
+      SHORTMONTHS: const [
+    'ינו׳',
+    'פבר׳',
+    'מרץ',
+    'אפר׳',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוג׳',
+    'ספט׳',
+    'אוק׳',
+    'נוב׳',
+    'דצמ׳'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ינו׳',
+    'פבר׳',
+    'מרץ',
+    'אפר׳',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוג׳',
+    'ספט׳',
+    'אוק׳',
+    'נוב׳',
+    'דצמ׳'
+  ],
+      WEEKDAYS: const [
+    'יום ראשון',
+    'יום שני',
+    'יום שלישי',
+    'יום רביעי',
+    'יום חמישי',
+    'יום שישי',
+    'יום שבת'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'יום ראשון',
+    'יום שני',
+    'יום שלישי',
+    'יום רביעי',
+    'יום חמישי',
+    'יום שישי',
+    'יום שבת'
+  ],
+      SHORTWEEKDAYS: const [
+    'יום א׳',
+    'יום ב׳',
+    'יום ג׳',
+    'יום ד׳',
+    'יום ה׳',
+    'יום ו׳',
+    'שבת'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'יום א׳',
+    'יום ב׳',
+    'יום ג׳',
+    'יום ד׳',
+    'יום ה׳',
+    'יום ו׳',
+    'שבת'
+  ],
+      NARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],
+      STANDALONENARROWWEEKDAYS: const [
+    'א׳',
+    'ב׳',
+    'ג׳',
+    'ד׳',
+    'ה׳',
+    'ו׳',
+    'ש׳'
+  ],
+      SHORTQUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'],
+      QUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'],
       AMPMS: const ['לפנה״צ', 'אחה״צ'],
-      DATEFORMATS: const ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM y',
-        'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d בMMMM y',
+    'd בMMMM y',
+    'd בMMM y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} בשעה {0}', '{1} בשעה {0}',
-        '{1}, {0}', '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} בשעה {0}',
+    '{1} בשעה {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [4, 5],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale hi.
    */
-  "hi" : new DateSymbols(
+  "hi": new DateSymbols(
       NAME: "hi",
       ERAS: const ['ईसा-पूर्व', 'ईस्वी'],
       ERANAMES: const ['ईसा-पूर्व', 'ईस्वी'],
-      NARROWMONTHS: const ['ज', 'फ़', 'मा', 'अ', 'म', 'जू',
-        'जु', 'अ', 'सि', 'अ', 'न', 'दि'],
-      STANDALONENARROWMONTHS: const ['ज', 'फ़', 'मा', 'अ', 'म',
-        'जू', 'जु', 'अ', 'सि', 'अ', 'न', 'दि'],
-      MONTHS: const ['जनवरी', 'फ़रवरी', 'मार्च',
-        'अप्रैल', 'मई', 'जून', 'जुलाई',
-        'अगस्त', 'सितंबर', 'अक्टूबर',
-        'नवंबर', 'दिसंबर'],
-      STANDALONEMONTHS: const ['जनवरी', 'फ़रवरी',
-        'मार्च', 'अप्रैल', 'मई', 'जून',
-        'जुलाई', 'अगस्त', 'सितंबर',
-        'अक्टूबर', 'नवंबर', 'दिसंबर'],
-      SHORTMONTHS: const ['जन', 'फ़र', 'मार्च',
-        'अप्रै', 'मई', 'जून', 'जुला', 'अग',
-        'सितं', 'अक्टू', 'नवं', 'दिसं'],
-      STANDALONESHORTMONTHS: const ['जन', 'फ़र', 'मार्च',
-        'अप्रै', 'मई', 'जून', 'जुला', 'अग',
-        'सितं', 'अक्टू', 'नवं', 'दिसं'],
-      WEEKDAYS: const ['रविवार', 'सोमवार',
-        'मंगलवार', 'बुधवार', 'गुरुवार',
-        'शुक्रवार', 'शनिवार'],
-      STANDALONEWEEKDAYS: const ['रविवार', 'सोमवार',
-        'मंगलवार', 'बुधवार', 'गुरुवार',
-        'शुक्रवार', 'शनिवार'],
-      SHORTWEEKDAYS: const ['रवि', 'सोम', 'मंगल',
-        'बुध', 'गुरु', 'शुक्र', 'शनि'],
-      STANDALONESHORTWEEKDAYS: const ['रवि', 'सोम', 'मंगल',
-        'बुध', 'गुरु', 'शुक्र', 'शनि'],
-      NARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु',
-        'शु', 'श'],
-      STANDALONENARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु',
-        'गु', 'शु', 'श'],
+      NARROWMONTHS: const [
+    'ज',
+    'फ़',
+    'मा',
+    'अ',
+    'म',
+    'जू',
+    'जु',
+    'अ',
+    'सि',
+    'अ',
+    'न',
+    'दि'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ज',
+    'फ़',
+    'मा',
+    'अ',
+    'म',
+    'जू',
+    'जु',
+    'अ',
+    'सि',
+    'अ',
+    'न',
+    'दि'
+  ],
+      MONTHS: const [
+    'जनवरी',
+    'फ़रवरी',
+    'मार्च',
+    'अप्रैल',
+    'मई',
+    'जून',
+    'जुलाई',
+    'अगस्त',
+    'सितंबर',
+    'अक्टूबर',
+    'नवंबर',
+    'दिसंबर'
+  ],
+      STANDALONEMONTHS: const [
+    'जनवरी',
+    'फ़रवरी',
+    'मार्च',
+    'अप्रैल',
+    'मई',
+    'जून',
+    'जुलाई',
+    'अगस्त',
+    'सितंबर',
+    'अक्टूबर',
+    'नवंबर',
+    'दिसंबर'
+  ],
+      SHORTMONTHS: const [
+    'जन',
+    'फ़र',
+    'मार्च',
+    'अप्रै',
+    'मई',
+    'जून',
+    'जुला',
+    'अग',
+    'सितं',
+    'अक्टू',
+    'नवं',
+    'दिसं'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'जन',
+    'फ़र',
+    'मार्च',
+    'अप्रै',
+    'मई',
+    'जून',
+    'जुला',
+    'अग',
+    'सितं',
+    'अक्टू',
+    'नवं',
+    'दिसं'
+  ],
+      WEEKDAYS: const [
+    'रविवार',
+    'सोमवार',
+    'मंगलवार',
+    'बुधवार',
+    'गुरुवार',
+    'शुक्रवार',
+    'शनिवार'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'रविवार',
+    'सोमवार',
+    'मंगलवार',
+    'बुधवार',
+    'गुरुवार',
+    'शुक्रवार',
+    'शनिवार'
+  ],
+      SHORTWEEKDAYS: const [
+    'रवि',
+    'सोम',
+    'मंगल',
+    'बुध',
+    'गुरु',
+    'शुक्र',
+    'शनि'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'रवि',
+    'सोम',
+    'मंगल',
+    'बुध',
+    'गुरु',
+    'शुक्र',
+    'शनि'
+  ],
+      NARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
+      STANDALONENARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
       SHORTQUARTERS: const ['ति1', 'ति2', 'ति3', 'ति4'],
-      QUARTERS: const ['पहली तिमाही',
-        'दूसरी तिमाही',
-        'तीसरी तिमाही',
-        'चौथी तिमाही'],
+      QUARTERS: const [
+    'पहली तिमाही',
+    'दूसरी तिमाही',
+    'तीसरी तिमाही',
+    'चौथी तिमाही'
+  ],
       AMPMS: const ['am', 'pm'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'dd-MM-y', 'd-M-yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} को {0}', '{1} को {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} को {0}',
+    '{1} को {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale hr.
    */
-  "hr" : new DateSymbols(
+  "hr": new DateSymbols(
       NAME: "hr",
       ERAS: const ['pr. Kr.', 'p. Kr.'],
       ERANAMES: const ['Prije Krista', 'Poslije Krista'],
-      NARROWMONTHS: const ['1.', '2.', '3.', '4.', '5.', '6.', '7.', '8.', '9.',
-        '10.', '11.', '12.'],
-      STANDALONENARROWMONTHS: const ['1.', '2.', '3.', '4.', '5.', '6.', '7.',
-        '8.', '9.', '10.', '11.', '12.'],
-      MONTHS: const ['siječnja', 'veljače', 'ožujka', 'travnja', 'svibnja',
-        'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga',
-        'prosinca'],
-      STANDALONEMONTHS: const ['siječanj', 'veljača', 'ožujak', 'travanj',
-        'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad',
-        'studeni', 'prosinac'],
-      SHORTMONTHS: const ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp',
-        'kol', 'ruj', 'lis', 'stu', 'pro'],
-      STANDALONESHORTMONTHS: const ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip',
-        'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'],
-      WEEKDAYS: const ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda',
-        'četvrtak', 'petak', 'subota'],
-      STANDALONEWEEKDAYS: const ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda',
-        'četvrtak', 'petak', 'subota'],
+      NARROWMONTHS: const [
+    '1.',
+    '2.',
+    '3.',
+    '4.',
+    '5.',
+    '6.',
+    '7.',
+    '8.',
+    '9.',
+    '10.',
+    '11.',
+    '12.'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1.',
+    '2.',
+    '3.',
+    '4.',
+    '5.',
+    '6.',
+    '7.',
+    '8.',
+    '9.',
+    '10.',
+    '11.',
+    '12.'
+  ],
+      MONTHS: const [
+    'siječnja',
+    'veljače',
+    'ožujka',
+    'travnja',
+    'svibnja',
+    'lipnja',
+    'srpnja',
+    'kolovoza',
+    'rujna',
+    'listopada',
+    'studenoga',
+    'prosinca'
+  ],
+      STANDALONEMONTHS: const [
+    'siječanj',
+    'veljača',
+    'ožujak',
+    'travanj',
+    'svibanj',
+    'lipanj',
+    'srpanj',
+    'kolovoz',
+    'rujan',
+    'listopad',
+    'studeni',
+    'prosinac'
+  ],
+      SHORTMONTHS: const [
+    'sij',
+    'velj',
+    'ožu',
+    'tra',
+    'svi',
+    'lip',
+    'srp',
+    'kol',
+    'ruj',
+    'lis',
+    'stu',
+    'pro'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'sij',
+    'velj',
+    'ožu',
+    'tra',
+    'svi',
+    'lip',
+    'srp',
+    'kol',
+    'ruj',
+    'lis',
+    'stu',
+    'pro'
+  ],
+      WEEKDAYS: const [
+    'nedjelja',
+    'ponedjeljak',
+    'utorak',
+    'srijeda',
+    'četvrtak',
+    'petak',
+    'subota'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'nedjelja',
+    'ponedjeljak',
+    'utorak',
+    'srijeda',
+    'četvrtak',
+    'petak',
+    'subota'
+  ],
       SHORTWEEKDAYS: const ['ned', 'pon', 'uto', 'sri', 'čet', 'pet', 'sub'],
-      STANDALONESHORTWEEKDAYS: const ['ned', 'pon', 'uto', 'sri', 'čet', 'pet',
-        'sub'],
+      STANDALONESHORTWEEKDAYS: const [
+    'ned',
+    'pon',
+    'uto',
+    'sri',
+    'čet',
+    'pet',
+    'sub'
+  ],
       NARROWWEEKDAYS: const ['N', 'P', 'U', 'S', 'Č', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['n', 'p', 'u', 's', 'č', 'p', 's'],
       SHORTQUARTERS: const ['1kv', '2kv', '3kv', '4kv'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d. MMMM y.', 'd. MMMM y.', 'd. MMM y.',
-        'd.M.yy.'],
+      DATEFORMATS: const [
+    'EEEE, d. MMMM y.',
+    'd. MMMM y.',
+    'd. MMM y.',
+    'd.M.yy.'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'u\' {0}', '{1} \'u\' {0}', '{1} {0}',
-        '{1} {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'u\' {0}',
+    '{1} \'u\' {0}',
+    '{1} {0}',
+    '{1} {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 6),
   /**
    * Date/time formatting symbols for locale hu.
    */
-  "hu" : new DateSymbols(
+  "hu": new DateSymbols(
       NAME: "hu",
       ERAS: const ['i. e.', 'i. sz.'],
-      ERANAMES: const ['időszámításunk előtt',
-        'időszámításunk szerint'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A', 'Sz', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'Á', 'M', 'J', 'J', 'A',
-        'Sz', 'O', 'N', 'D'],
-      MONTHS: const ['január', 'február', 'március', 'április', 'május',
-        'június', 'július', 'augusztus', 'szeptember', 'október', 'november',
-        'december'],
-      STANDALONEMONTHS: const ['január', 'február', 'március', 'április',
-        'május', 'június', 'július', 'augusztus', 'szeptember', 'október',
-        'november', 'december'],
-      SHORTMONTHS: const ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.', 'jún.',
-        'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['jan.', 'febr.', 'márc.', 'ápr.', 'máj.',
-        'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'],
-      WEEKDAYS: const ['vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök',
-        'péntek', 'szombat'],
-      STANDALONEWEEKDAYS: const ['vasárnap', 'hétfő', 'kedd', 'szerda',
-        'csütörtök', 'péntek', 'szombat'],
+      ERANAMES: const ['időszámításunk előtt', 'időszámításunk szerint'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'Á',
+    'M',
+    'J',
+    'J',
+    'A',
+    'Sz',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'Á',
+    'M',
+    'J',
+    'J',
+    'A',
+    'Sz',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'január',
+    'február',
+    'március',
+    'április',
+    'május',
+    'június',
+    'július',
+    'augusztus',
+    'szeptember',
+    'október',
+    'november',
+    'december'
+  ],
+      STANDALONEMONTHS: const [
+    'január',
+    'február',
+    'március',
+    'április',
+    'május',
+    'június',
+    'július',
+    'augusztus',
+    'szeptember',
+    'október',
+    'november',
+    'december'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'febr.',
+    'márc.',
+    'ápr.',
+    'máj.',
+    'jún.',
+    'júl.',
+    'aug.',
+    'szept.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan.',
+    'febr.',
+    'márc.',
+    'ápr.',
+    'máj.',
+    'jún.',
+    'júl.',
+    'aug.',
+    'szept.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      WEEKDAYS: const [
+    'vasárnap',
+    'hétfő',
+    'kedd',
+    'szerda',
+    'csütörtök',
+    'péntek',
+    'szombat'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'vasárnap',
+    'hétfő',
+    'kedd',
+    'szerda',
+    'csütörtök',
+    'péntek',
+    'szombat'
+  ],
       SHORTWEEKDAYS: const ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
       STANDALONESHORTWEEKDAYS: const ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
       NARROWWEEKDAYS: const ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],
       STANDALONENARROWWEEKDAYS: const ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],
       SHORTQUARTERS: const ['N1', 'N2', 'N3', 'N4'],
-      QUARTERS: const ['I. negyedév', 'II. negyedév', 'III. negyedév',
-        'IV. negyedév'],
+      QUARTERS: const [
+    'I. negyedév',
+    'II. negyedév',
+    'III. negyedév',
+    'IV. negyedév'
+  ],
       AMPMS: const ['de.', 'du.'],
-      DATEFORMATS: const ['y. MMMM d., EEEE', 'y. MMMM d.', 'y. MMM d.',
-        'y. MM. dd.'],
+      DATEFORMATS: const [
+    'y. MMMM d., EEEE',
+    'y. MMMM d.',
+    'y. MMM d.',
+    'y. MM. dd.'
+  ],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1908,47 +6117,143 @@
   /**
    * Date/time formatting symbols for locale hy.
    */
-  "hy" : new DateSymbols(
+  "hy": new DateSymbols(
       NAME: "hy",
       ERAS: const ['մ.թ.ա.', 'մ.թ.'],
       ERANAMES: const ['մ.թ.ա.', 'մ.թ.'],
-      NARROWMONTHS: const ['Հ', 'Փ', 'Մ', 'Ա', 'Մ', 'Հ', 'Հ', 'Օ', 'Ս',
-        'Հ', 'Ն', 'Դ'],
-      STANDALONENARROWMONTHS: const ['Հ', 'Փ', 'Մ', 'Ա', 'Մ', 'Հ', 'Հ',
-        'Օ', 'Ս', 'Հ', 'Ն', 'Դ'],
-      MONTHS: const ['հունվարի', 'փետրվարի', 'մարտի',
-        'ապրիլի', 'մայիսի', 'հունիսի', 'հուլիսի',
-        'օգոստոսի', 'սեպտեմբերի', 'հոկտեմբերի',
-        'նոյեմբերի', 'դեկտեմբերի'],
-      STANDALONEMONTHS: const ['հունվար', 'փետրվար', 'մարտ',
-        'ապրիլ', 'մայիս', 'հունիս', 'հուլիս',
-        'օգոստոս', 'սեպտեմբեր', 'հոկտեմբեր',
-        'նոյեմբեր', 'դեկտեմբեր'],
-      SHORTMONTHS: const ['հնվ', 'փտվ', 'մրտ', 'ապր', 'մյս',
-        'հնս', 'հլս', 'օգս', 'սպտ', 'հկտ', 'նյմ', 'դկտ'],
-      STANDALONESHORTMONTHS: const ['հնվ', 'փտվ', 'մրտ', 'ապր',
-        'մյս', 'հնս', 'հլս', 'օգս', 'սպտ', 'հկտ', 'նյմ',
-        'դկտ'],
-      WEEKDAYS: const ['կիրակի', 'երկուշաբթի',
-        'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի',
-        'ուրբաթ', 'շաբաթ'],
-      STANDALONEWEEKDAYS: const ['կիրակի', 'երկուշաբթի',
-        'երեքշաբթի', 'չորեքշաբթի', 'հինգշաբթի',
-        'ուրբաթ', 'շաբաթ'],
-      SHORTWEEKDAYS: const ['կիր', 'երկ', 'երք', 'չրք', 'հնգ',
-        'ուր', 'շբթ'],
-      STANDALONESHORTWEEKDAYS: const ['կիր', 'երկ', 'երք', 'չրք',
-        'հնգ', 'ուր', 'շբթ'],
+      NARROWMONTHS: const [
+    'Հ',
+    'Փ',
+    'Մ',
+    'Ա',
+    'Մ',
+    'Հ',
+    'Հ',
+    'Օ',
+    'Ս',
+    'Հ',
+    'Ն',
+    'Դ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Հ',
+    'Փ',
+    'Մ',
+    'Ա',
+    'Մ',
+    'Հ',
+    'Հ',
+    'Օ',
+    'Ս',
+    'Հ',
+    'Ն',
+    'Դ'
+  ],
+      MONTHS: const [
+    'հունվարի',
+    'փետրվարի',
+    'մարտի',
+    'ապրիլի',
+    'մայիսի',
+    'հունիսի',
+    'հուլիսի',
+    'օգոստոսի',
+    'սեպտեմբերի',
+    'հոկտեմբերի',
+    'նոյեմբերի',
+    'դեկտեմբերի'
+  ],
+      STANDALONEMONTHS: const [
+    'հունվար',
+    'փետրվար',
+    'մարտ',
+    'ապրիլ',
+    'մայիս',
+    'հունիս',
+    'հուլիս',
+    'օգոստոս',
+    'սեպտեմբեր',
+    'հոկտեմբեր',
+    'նոյեմբեր',
+    'դեկտեմբեր'
+  ],
+      SHORTMONTHS: const [
+    'հնվ',
+    'փտվ',
+    'մրտ',
+    'ապր',
+    'մյս',
+    'հնս',
+    'հլս',
+    'օգս',
+    'սպտ',
+    'հկտ',
+    'նյմ',
+    'դկտ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'հնվ',
+    'փտվ',
+    'մրտ',
+    'ապր',
+    'մյս',
+    'հնս',
+    'հլս',
+    'օգս',
+    'սպտ',
+    'հկտ',
+    'նյմ',
+    'դկտ'
+  ],
+      WEEKDAYS: const [
+    'կիրակի',
+    'երկուշաբթի',
+    'երեքշաբթի',
+    'չորեքշաբթի',
+    'հինգշաբթի',
+    'ուրբաթ',
+    'շաբաթ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'կիրակի',
+    'երկուշաբթի',
+    'երեքշաբթի',
+    'չորեքշաբթի',
+    'հինգշաբթի',
+    'ուրբաթ',
+    'շաբաթ'
+  ],
+      SHORTWEEKDAYS: const ['կիր', 'երկ', 'երք', 'չրք', 'հնգ', 'ուր', 'շբթ'],
+      STANDALONESHORTWEEKDAYS: const [
+    'կիր',
+    'երկ',
+    'երք',
+    'չրք',
+    'հնգ',
+    'ուր',
+    'շբթ'
+  ],
       NARROWWEEKDAYS: const ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ու', 'Շ'],
-      STANDALONENARROWWEEKDAYS: const ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ու',
-        'Շ'],
-      SHORTQUARTERS: const ['1-ին եռմս.', '2-րդ եռմս.',
-        '3-րդ եռմս.', '4-րդ եռմս.'],
-      QUARTERS: const ['1-ին եռամսյակ', '2-րդ եռամսյակ',
-        '3-րդ եռամսյակ', '4-րդ եռամսյակ'],
+      STANDALONENARROWWEEKDAYS: const ['Կ', 'Ե', 'Ե', 'Չ', 'Հ', 'Ու', 'Շ'],
+      SHORTQUARTERS: const [
+    '1-ին եռմս.',
+    '2-րդ եռմս.',
+    '3-րդ եռմս.',
+    '4-րդ եռմս.'
+  ],
+      QUARTERS: const [
+    '1-ին եռամսյակ',
+    '2-րդ եռամսյակ',
+    '3-րդ եռամսյակ',
+    '4-րդ եռամսյակ'
+  ],
       AMPMS: const ['կեսօրից առաջ', 'կեսօրից հետո'],
-      DATEFORMATS: const ['yթ. MMMM d, EEEE', 'dd MMMM, yթ.', 'dd MMM, y թ.',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'yթ. MMMM d, EEEE',
+    'dd MMMM, yթ.',
+    'dd MMM, y թ.',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss, zzzz', 'H:mm:ss, z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -1957,35 +6262,131 @@
   /**
    * Date/time formatting symbols for locale id.
    */
-  "id" : new DateSymbols(
+  "id": new DateSymbols(
       NAME: "id",
       ERAS: const ['SM', 'M'],
       ERANAMES: const ['SM', 'M'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
-        'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'],
-      STANDALONEMONTHS: const ['Januari', 'Februari', 'Maret', 'April', 'Mei',
-        'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November',
-        'Desember'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul',
-        'Agt', 'Sep', 'Okt', 'Nov', 'Des'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun',
-        'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'],
-      WEEKDAYS: const ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat',
-        'Sabtu'],
-      STANDALONEWEEKDAYS: const ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis',
-        'Jumat', 'Sabtu'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januari',
+    'Februari',
+    'Maret',
+    'April',
+    'Mei',
+    'Juni',
+    'Juli',
+    'Agustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januari',
+    'Februari',
+    'Maret',
+    'April',
+    'Mei',
+    'Juni',
+    'Juli',
+    'Agustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Agt',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Agt',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      WEEKDAYS: const [
+    'Minggu',
+    'Senin',
+    'Selasa',
+    'Rabu',
+    'Kamis',
+    'Jumat',
+    'Sabtu'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Minggu',
+    'Senin',
+    'Selasa',
+    'Rabu',
+    'Kamis',
+    'Jumat',
+    'Sabtu'
+  ],
       SHORTWEEKDAYS: const ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],
-      STANDALONESHORTWEEKDAYS: const ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum',
-        'Sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Min',
+    'Sen',
+    'Sel',
+    'Rab',
+    'Kam',
+    'Jum',
+    'Sab'
+  ],
       NARROWWEEKDAYS: const ['M', 'S', 'S', 'R', 'K', 'J', 'S'],
       STANDALONENARROWWEEKDAYS: const ['M', 'S', 'S', 'R', 'K', 'J', 'S'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['Kuartal ke-1', 'Kuartal ke-2', 'Kuartal ke-3',
-        'Kuartal ke-4'],
+      QUARTERS: const [
+    'Kuartal ke-1',
+    'Kuartal ke-2',
+    'Kuartal ke-3',
+    'Kuartal ke-4'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
@@ -1996,35 +6397,131 @@
   /**
    * Date/time formatting symbols for locale in.
    */
-  "in" : new DateSymbols(
+  "in": new DateSymbols(
       NAME: "in",
       ERAS: const ['SM', 'M'],
       ERANAMES: const ['SM', 'M'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
-        'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'],
-      STANDALONEMONTHS: const ['Januari', 'Februari', 'Maret', 'April', 'Mei',
-        'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November',
-        'Desember'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul',
-        'Agt', 'Sep', 'Okt', 'Nov', 'Des'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun',
-        'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'],
-      WEEKDAYS: const ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat',
-        'Sabtu'],
-      STANDALONEWEEKDAYS: const ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis',
-        'Jumat', 'Sabtu'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januari',
+    'Februari',
+    'Maret',
+    'April',
+    'Mei',
+    'Juni',
+    'Juli',
+    'Agustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januari',
+    'Februari',
+    'Maret',
+    'April',
+    'Mei',
+    'Juni',
+    'Juli',
+    'Agustus',
+    'September',
+    'Oktober',
+    'November',
+    'Desember'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Agt',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Agt',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      WEEKDAYS: const [
+    'Minggu',
+    'Senin',
+    'Selasa',
+    'Rabu',
+    'Kamis',
+    'Jumat',
+    'Sabtu'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Minggu',
+    'Senin',
+    'Selasa',
+    'Rabu',
+    'Kamis',
+    'Jumat',
+    'Sabtu'
+  ],
       SHORTWEEKDAYS: const ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'],
-      STANDALONESHORTWEEKDAYS: const ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum',
-        'Sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Min',
+    'Sen',
+    'Sel',
+    'Rab',
+    'Kam',
+    'Jum',
+    'Sab'
+  ],
       NARROWWEEKDAYS: const ['M', 'S', 'S', 'R', 'K', 'J', 'S'],
       STANDALONENARROWWEEKDAYS: const ['M', 'S', 'S', 'R', 'K', 'J', 'S'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['Kuartal ke-1', 'Kuartal ke-2', 'Kuartal ke-3',
-        'Kuartal ke-4'],
+      QUARTERS: const [
+    'Kuartal ke-1',
+    'Kuartal ke-2',
+    'Kuartal ke-3',
+    'Kuartal ke-4'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, dd MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/yy'],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
@@ -2035,77 +6532,279 @@
   /**
    * Date/time formatting symbols for locale is.
    */
-  "is" : new DateSymbols(
+  "is": new DateSymbols(
       NAME: "is",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['fyrir Krist', 'eftir Krist'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'Á',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní',
-        'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'],
-      STANDALONEMONTHS: const ['janúar', 'febrúar', 'mars', 'apríl', 'maí',
-        'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember',
-        'desember'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'maí', 'jún.',
-        'júl.', 'ágú.', 'sep.', 'okt.', 'nóv.', 'des.'],
-      STANDALONESHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'maí',
-        'jún.', 'júl.', 'ágú.', 'sep.', 'okt.', 'nóv.', 'des.'],
-      WEEKDAYS: const ['sunnudagur', 'mánudagur', 'þriðjudagur',
-        'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'],
-      STANDALONEWEEKDAYS: const ['sunnudagur', 'mánudagur', 'þriðjudagur',
-        'miðvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur'],
-      SHORTWEEKDAYS: const ['sun.', 'mán.', 'þri.', 'mið.', 'fim.', 'fös.',
-        'lau.'],
-      STANDALONESHORTWEEKDAYS: const ['sun.', 'mán.', 'þri.', 'mið.', 'fim.',
-        'fös.', 'lau.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'Á',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'Á',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janúar',
+    'febrúar',
+    'mars',
+    'apríl',
+    'maí',
+    'júní',
+    'júlí',
+    'ágúst',
+    'september',
+    'október',
+    'nóvember',
+    'desember'
+  ],
+      STANDALONEMONTHS: const [
+    'janúar',
+    'febrúar',
+    'mars',
+    'apríl',
+    'maí',
+    'júní',
+    'júlí',
+    'ágúst',
+    'september',
+    'október',
+    'nóvember',
+    'desember'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'maí',
+    'jún.',
+    'júl.',
+    'ágú.',
+    'sep.',
+    'okt.',
+    'nóv.',
+    'des.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'maí',
+    'jún.',
+    'júl.',
+    'ágú.',
+    'sep.',
+    'okt.',
+    'nóv.',
+    'des.'
+  ],
+      WEEKDAYS: const [
+    'sunnudagur',
+    'mánudagur',
+    'þriðjudagur',
+    'miðvikudagur',
+    'fimmtudagur',
+    'föstudagur',
+    'laugardagur'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'sunnudagur',
+    'mánudagur',
+    'þriðjudagur',
+    'miðvikudagur',
+    'fimmtudagur',
+    'föstudagur',
+    'laugardagur'
+  ],
+      SHORTWEEKDAYS: const [
+    'sun.',
+    'mán.',
+    'þri.',
+    'mið.',
+    'fim.',
+    'fös.',
+    'lau.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'sun.',
+    'mán.',
+    'þri.',
+    'mið.',
+    'fim.',
+    'fös.',
+    'lau.'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'Þ', 'M', 'F', 'F', 'L'],
       SHORTQUARTERS: const ['F1', 'F2', 'F3', 'F4'],
-      QUARTERS: const ['1. fjórðungur', '2. fjórðungur', '3. fjórðungur',
-        '4. fjórðungur'],
+      QUARTERS: const [
+    '1. fjórðungur',
+    '2. fjórðungur',
+    '3. fjórðungur',
+    '4. fjórðungur'
+  ],
       AMPMS: const ['f.h.', 'e.h.'],
       DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'd. MMM y', 'd.M.y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'kl.\' {0}', '{1} \'kl.\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'kl.\' {0}',
+    '{1} \'kl.\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale it.
    */
-  "it" : new DateSymbols(
+  "it": new DateSymbols(
       NAME: "it",
       ERAS: const ['aC', 'dC'],
       ERANAMES: const ['a.C.', 'd.C.'],
-      NARROWMONTHS: const ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['G', 'F', 'M', 'A', 'M', 'G', 'L', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio',
-        'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre',
-        'dicembre'],
-      STANDALONEMONTHS: const ['Gennaio', 'Febbraio', 'Marzo', 'Aprile',
-        'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre',
-        'Novembre', 'Dicembre'],
-      SHORTMONTHS: const ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug',
-        'ago', 'set', 'ott', 'nov', 'dic'],
-      STANDALONESHORTMONTHS: const ['gen', 'feb', 'mar', 'apr', 'mag', 'giu',
-        'lug', 'ago', 'set', 'ott', 'nov', 'dic'],
-      WEEKDAYS: const ['domenica', 'lunedì', 'martedì', 'mercoledì',
-        'giovedì', 'venerdì', 'sabato'],
-      STANDALONEWEEKDAYS: const ['Domenica', 'Lunedì', 'Martedì',
-        'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
+      NARROWMONTHS: const [
+    'G',
+    'F',
+    'M',
+    'A',
+    'M',
+    'G',
+    'L',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'G',
+    'F',
+    'M',
+    'A',
+    'M',
+    'G',
+    'L',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'gennaio',
+    'febbraio',
+    'marzo',
+    'aprile',
+    'maggio',
+    'giugno',
+    'luglio',
+    'agosto',
+    'settembre',
+    'ottobre',
+    'novembre',
+    'dicembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Gennaio',
+    'Febbraio',
+    'Marzo',
+    'Aprile',
+    'Maggio',
+    'Giugno',
+    'Luglio',
+    'Agosto',
+    'Settembre',
+    'Ottobre',
+    'Novembre',
+    'Dicembre'
+  ],
+      SHORTMONTHS: const [
+    'gen',
+    'feb',
+    'mar',
+    'apr',
+    'mag',
+    'giu',
+    'lug',
+    'ago',
+    'set',
+    'ott',
+    'nov',
+    'dic'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'gen',
+    'feb',
+    'mar',
+    'apr',
+    'mag',
+    'giu',
+    'lug',
+    'ago',
+    'set',
+    'ott',
+    'nov',
+    'dic'
+  ],
+      WEEKDAYS: const [
+    'domenica',
+    'lunedì',
+    'martedì',
+    'mercoledì',
+    'giovedì',
+    'venerdì',
+    'sabato'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Domenica',
+    'Lunedì',
+    'Martedì',
+    'Mercoledì',
+    'Giovedì',
+    'Venerdì',
+    'Sabato'
+  ],
       SHORTWEEKDAYS: const ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],
-      STANDALONESHORTWEEKDAYS: const ['dom', 'lun', 'mar', 'mer', 'gio', 'ven',
-        'sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'dom',
+    'lun',
+    'mar',
+    'mer',
+    'gio',
+    'ven',
+    'sab'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'G', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'G', 'V', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1º trimestre', '2º trimestre', '3º trimestre',
-        '4º trimestre'],
+      QUARTERS: const [
+    '1º trimestre',
+    '2º trimestre',
+    '3º trimestre',
+    '4º trimestre'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d MMMM y', 'dd MMMM y', 'dd/MMM/y', 'dd/MM/yy'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -2116,90 +6815,269 @@
   /**
    * Date/time formatting symbols for locale iw.
    */
-  "iw" : new DateSymbols(
+  "iw": new DateSymbols(
       NAME: "iw",
       ERAS: const ['לפנה״ס', 'לסה״נ'],
       ERANAMES: const ['לפני הספירה', 'לספירה'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['ינואר', 'פברואר', 'מרץ', 'אפריל',
-        'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר',
-        'אוקטובר', 'נובמבר', 'דצמבר'],
-      STANDALONEMONTHS: const ['ינואר', 'פברואר', 'מרץ',
-        'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט',
-        'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'],
-      SHORTMONTHS: const ['ינו׳', 'פבר׳', 'מרץ', 'אפר׳',
-        'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳', 'אוק׳',
-        'נוב׳', 'דצמ׳'],
-      STANDALONESHORTMONTHS: const ['ינו׳', 'פבר׳', 'מרץ',
-        'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', 'ספט׳',
-        'אוק׳', 'נוב׳', 'דצמ׳'],
-      WEEKDAYS: const ['יום ראשון', 'יום שני',
-        'יום שלישי', 'יום רביעי', 'יום חמישי',
-        'יום שישי', 'יום שבת'],
-      STANDALONEWEEKDAYS: const ['יום ראשון', 'יום שני',
-        'יום שלישי', 'יום רביעי', 'יום חמישי',
-        'יום שישי', 'יום שבת'],
-      SHORTWEEKDAYS: const ['יום א׳', 'יום ב׳', 'יום ג׳',
-        'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],
-      STANDALONESHORTWEEKDAYS: const ['יום א׳', 'יום ב׳',
-        'יום ג׳', 'יום ד׳', 'יום ה׳', 'יום ו׳', 'שבת'],
-      NARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳',
-        'ש׳'],
-      STANDALONENARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳',
-        'ו׳', 'ש׳'],
-      SHORTQUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3',
-        'רבעון 4'],
-      QUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3',
-        'רבעון 4'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'ינואר',
+    'פברואר',
+    'מרץ',
+    'אפריל',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוגוסט',
+    'ספטמבר',
+    'אוקטובר',
+    'נובמבר',
+    'דצמבר'
+  ],
+      STANDALONEMONTHS: const [
+    'ינואר',
+    'פברואר',
+    'מרץ',
+    'אפריל',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוגוסט',
+    'ספטמבר',
+    'אוקטובר',
+    'נובמבר',
+    'דצמבר'
+  ],
+      SHORTMONTHS: const [
+    'ינו׳',
+    'פבר׳',
+    'מרץ',
+    'אפר׳',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוג׳',
+    'ספט׳',
+    'אוק׳',
+    'נוב׳',
+    'דצמ׳'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ינו׳',
+    'פבר׳',
+    'מרץ',
+    'אפר׳',
+    'מאי',
+    'יוני',
+    'יולי',
+    'אוג׳',
+    'ספט׳',
+    'אוק׳',
+    'נוב׳',
+    'דצמ׳'
+  ],
+      WEEKDAYS: const [
+    'יום ראשון',
+    'יום שני',
+    'יום שלישי',
+    'יום רביעי',
+    'יום חמישי',
+    'יום שישי',
+    'יום שבת'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'יום ראשון',
+    'יום שני',
+    'יום שלישי',
+    'יום רביעי',
+    'יום חמישי',
+    'יום שישי',
+    'יום שבת'
+  ],
+      SHORTWEEKDAYS: const [
+    'יום א׳',
+    'יום ב׳',
+    'יום ג׳',
+    'יום ד׳',
+    'יום ה׳',
+    'יום ו׳',
+    'שבת'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'יום א׳',
+    'יום ב׳',
+    'יום ג׳',
+    'יום ד׳',
+    'יום ה׳',
+    'יום ו׳',
+    'שבת'
+  ],
+      NARROWWEEKDAYS: const ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],
+      STANDALONENARROWWEEKDAYS: const [
+    'א׳',
+    'ב׳',
+    'ג׳',
+    'ד׳',
+    'ה׳',
+    'ו׳',
+    'ש׳'
+  ],
+      SHORTQUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'],
+      QUARTERS: const ['רבעון 1', 'רבעון 2', 'רבעון 3', 'רבעון 4'],
       AMPMS: const ['לפנה״צ', 'אחה״צ'],
-      DATEFORMATS: const ['EEEE, d בMMMM y', 'd בMMMM y', 'd בMMM y',
-        'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d בMMMM y',
+    'd בMMMM y',
+    'd בMMM y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} בשעה {0}', '{1} בשעה {0}',
-        '{1}, {0}', '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} בשעה {0}',
+    '{1} בשעה {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [4, 5],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale ja.
    */
-  "ja" : new DateSymbols(
+  "ja": new DateSymbols(
       NAME: "ja",
       ERAS: const ['紀元前', '西暦'],
       ERANAMES: const ['紀元前', '西暦'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月', '7月',
-        '8月', '9月', '10月', '11月', '12月'],
-      STANDALONEMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      SHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      STANDALONESHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月',
-        '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-      WEEKDAYS: const ['日曜日', '月曜日', '火曜日', '水曜日',
-        '木曜日', '金曜日', '土曜日'],
-      STANDALONEWEEKDAYS: const ['日曜日', '月曜日', '火曜日',
-        '水曜日', '木曜日', '金曜日', '土曜日'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONEMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      SHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      WEEKDAYS: const ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
+      STANDALONEWEEKDAYS: const [
+    '日曜日',
+    '月曜日',
+    '火曜日',
+    '水曜日',
+    '木曜日',
+    '金曜日',
+    '土曜日'
+  ],
       SHORTWEEKDAYS: const ['日', '月', '火', '水', '木', '金', '土'],
-      STANDALONESHORTWEEKDAYS: const ['日', '月', '火', '水', '木', '金',
-        '土'],
+      STANDALONESHORTWEEKDAYS: const ['日', '月', '火', '水', '木', '金', '土'],
       NARROWWEEKDAYS: const ['日', '月', '火', '水', '木', '金', '土'],
-      STANDALONENARROWWEEKDAYS: const ['日', '月', '火', '水', '木', '金',
-        '土'],
+      STANDALONENARROWWEEKDAYS: const ['日', '月', '火', '水', '木', '金', '土'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['第1四半期', '第2四半期', '第3四半期',
-        '第4四半期'],
+      QUARTERS: const ['第1四半期', '第2四半期', '第3四半期', '第4四半期'],
       AMPMS: const ['午前', '午後'],
-      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y/MM/dd',
-        'y/MM/dd'],
-      TIMEFORMATS: const ['H時mm分ss秒 zzzz', 'H:mm:ss z', 'H:mm:ss',
-        'H:mm'],
+      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y/MM/dd', 'y/MM/dd'],
+      TIMEFORMATS: const ['H時mm分ss秒 zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -2207,56 +7085,138 @@
   /**
    * Date/time formatting symbols for locale ka.
    */
-  "ka" : new DateSymbols(
+  "ka": new DateSymbols(
       NAME: "ka",
       ERAS: const ['ძვ. წ.', 'ახ. წ.'],
-      ERANAMES: const [
-        'ძველი წელთაღრიცხვით',
-        'ახალი წელთაღრიცხვით'],
-      NARROWMONTHS: const ['ი', 'თ', 'მ', 'ა', 'მ', 'ი', 'ი',
-        'ა', 'ს', 'ო', 'ნ', 'დ'],
-      STANDALONENARROWMONTHS: const ['ი', 'თ', 'მ', 'ა', 'მ', 'ი',
-        'ი', 'ა', 'ს', 'ო', 'ნ', 'დ'],
-      MONTHS: const ['იანვარი', 'თებერვალი',
-        'მარტი', 'აპრილი', 'მაისი',
-        'ივნისი', 'ივლისი', 'აგვისტო',
-        'სექტემბერი', 'ოქტომბერი',
-        'ნოემბერი', 'დეკემბერი'],
-      STANDALONEMONTHS: const ['იანვარი',
-        'თებერვალი', 'მარტი', 'აპრილი',
-        'მაისი', 'ივნისი', 'ივლისი',
-        'აგვისტო', 'სექტემბერი',
-        'ოქტომბერი', 'ნოემბერი',
-        'დეკემბერი'],
-      SHORTMONTHS: const ['იან', 'თებ', 'მარ', 'აპრ',
-        'მაი', 'ივნ', 'ივლ', 'აგვ', 'სექ',
-        'ოქტ', 'ნოე', 'დეკ'],
-      STANDALONESHORTMONTHS: const ['იან', 'თებ', 'მარ',
-        'აპრ', 'მაი', 'ივნ', 'ივლ', 'აგვ',
-        'სექ', 'ოქტ', 'ნოე', 'დეკ'],
-      WEEKDAYS: const ['კვირა', 'ორშაბათი',
-        'სამშაბათი', 'ოთხშაბათი',
-        'ხუთშაბათი', 'პარასკევი',
-        'შაბათი'],
-      STANDALONEWEEKDAYS: const ['კვირა', 'ორშაბათი',
-        'სამშაბათი', 'ოთხშაბათი',
-        'ხუთშაბათი', 'პარასკევი',
-        'შაბათი'],
-      SHORTWEEKDAYS: const ['კვი', 'ორშ', 'სამ', 'ოთხ',
-        'ხუთ', 'პარ', 'შაბ'],
-      STANDALONESHORTWEEKDAYS: const ['კვი', 'ორშ', 'სამ',
-        'ოთხ', 'ხუთ', 'პარ', 'შაბ'],
+      ERANAMES: const ['ძველი წელთაღრიცხვით', 'ახალი წელთაღრიცხვით'],
+      NARROWMONTHS: const [
+    'ი',
+    'თ',
+    'მ',
+    'ა',
+    'მ',
+    'ი',
+    'ი',
+    'ა',
+    'ს',
+    'ო',
+    'ნ',
+    'დ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ი',
+    'თ',
+    'მ',
+    'ა',
+    'მ',
+    'ი',
+    'ი',
+    'ა',
+    'ს',
+    'ო',
+    'ნ',
+    'დ'
+  ],
+      MONTHS: const [
+    'იანვარი',
+    'თებერვალი',
+    'მარტი',
+    'აპრილი',
+    'მაისი',
+    'ივნისი',
+    'ივლისი',
+    'აგვისტო',
+    'სექტემბერი',
+    'ოქტომბერი',
+    'ნოემბერი',
+    'დეკემბერი'
+  ],
+      STANDALONEMONTHS: const [
+    'იანვარი',
+    'თებერვალი',
+    'მარტი',
+    'აპრილი',
+    'მაისი',
+    'ივნისი',
+    'ივლისი',
+    'აგვისტო',
+    'სექტემბერი',
+    'ოქტომბერი',
+    'ნოემბერი',
+    'დეკემბერი'
+  ],
+      SHORTMONTHS: const [
+    'იან',
+    'თებ',
+    'მარ',
+    'აპრ',
+    'მაი',
+    'ივნ',
+    'ივლ',
+    'აგვ',
+    'სექ',
+    'ოქტ',
+    'ნოე',
+    'დეკ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'იან',
+    'თებ',
+    'მარ',
+    'აპრ',
+    'მაი',
+    'ივნ',
+    'ივლ',
+    'აგვ',
+    'სექ',
+    'ოქტ',
+    'ნოე',
+    'დეკ'
+  ],
+      WEEKDAYS: const [
+    'კვირა',
+    'ორშაბათი',
+    'სამშაბათი',
+    'ოთხშაბათი',
+    'ხუთშაბათი',
+    'პარასკევი',
+    'შაბათი'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'კვირა',
+    'ორშაბათი',
+    'სამშაბათი',
+    'ოთხშაბათი',
+    'ხუთშაბათი',
+    'პარასკევი',
+    'შაბათი'
+  ],
+      SHORTWEEKDAYS: const ['კვი', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'],
+      STANDALONESHORTWEEKDAYS: const [
+    'კვი',
+    'ორშ',
+    'სამ',
+    'ოთხ',
+    'ხუთ',
+    'პარ',
+    'შაბ'
+  ],
       NARROWWEEKDAYS: const ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'],
-      STANDALONENARROWWEEKDAYS: const ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ',
-        'შ'],
-      SHORTQUARTERS: const ['I კვ.', 'II კვ.', 'III კვ.',
-        'IV კვ.'],
-      QUARTERS: const ['I კვარტალი',
-        'II კვარტალი', 'III კვარტალი',
-        'IV კვარტალი'],
+      STANDALONENARROWWEEKDAYS: const ['კ', 'ო', 'ს', 'ო', 'ხ', 'პ', 'შ'],
+      SHORTQUARTERS: const ['I კვ.', 'II კვ.', 'III კვ.', 'IV კვ.'],
+      QUARTERS: const [
+    'I კვარტალი',
+    'II კვარტალი',
+    'III კვარტალი',
+    'IV კვარტალი'
+  ],
       AMPMS: const ['დილის', 'საღამოს'],
-      DATEFORMATS: const ['EEEE, dd MMMM, y', 'd MMMM, y', 'd MMM, y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, dd MMMM, y',
+    'd MMMM, y',
+    'd MMM, y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1}, {0}', '{1} {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2265,46 +7225,138 @@
   /**
    * Date/time formatting symbols for locale kk.
    */
-  "kk" : new DateSymbols(
+  "kk": new DateSymbols(
       NAME: "kk",
       ERAS: const ['б.з.д.', 'б.з.'],
       ERANAMES: const ['б.з.д.', 'б.з.'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['қаңтар', 'ақпан', 'наурыз', 'сәуір',
-        'мамыр', 'маусым', 'шілде', 'тамыз',
-        'қыркүйек', 'қазан', 'қараша', 'желтоқсан'],
-      STANDALONEMONTHS: const ['қаңтар', 'ақпан', 'наурыз',
-        'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз',
-        'қыркүйек', 'қазан', 'қараша', 'желтоқсан'],
-      SHORTMONTHS: const ['қаң.', 'ақп.', 'нау.', 'сәу.', 'мам.',
-        'мау.', 'шіл.', 'там.', 'қыр.', 'қаз.', 'қар.',
-        'желт.'],
-      STANDALONESHORTMONTHS: const ['қаң.', 'ақп.', 'нау.', 'сәу.',
-        'мам.', 'мау.', 'шіл.', 'там.', 'қыр.', 'қаз.',
-        'қар.', 'желт.'],
-      WEEKDAYS: const ['жексенбі', 'дүйсенбі',
-        'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма',
-        'сенбі'],
-      STANDALONEWEEKDAYS: const ['жексенбі', 'дүйсенбі',
-        'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма',
-        'сенбі'],
-      SHORTWEEKDAYS: const ['жс.', 'дс.', 'сс.', 'ср.', 'бс.',
-        'жм.', 'сб.'],
-      STANDALONESHORTWEEKDAYS: const ['жс.', 'дс.', 'сс.', 'ср.',
-        'бс.', 'жм.', 'сб.'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'қаңтар',
+    'ақпан',
+    'наурыз',
+    'сәуір',
+    'мамыр',
+    'маусым',
+    'шілде',
+    'тамыз',
+    'қыркүйек',
+    'қазан',
+    'қараша',
+    'желтоқсан'
+  ],
+      STANDALONEMONTHS: const [
+    'қаңтар',
+    'ақпан',
+    'наурыз',
+    'сәуір',
+    'мамыр',
+    'маусым',
+    'шілде',
+    'тамыз',
+    'қыркүйек',
+    'қазан',
+    'қараша',
+    'желтоқсан'
+  ],
+      SHORTMONTHS: const [
+    'қаң.',
+    'ақп.',
+    'нау.',
+    'сәу.',
+    'мам.',
+    'мау.',
+    'шіл.',
+    'там.',
+    'қыр.',
+    'қаз.',
+    'қар.',
+    'желт.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'қаң.',
+    'ақп.',
+    'нау.',
+    'сәу.',
+    'мам.',
+    'мау.',
+    'шіл.',
+    'там.',
+    'қыр.',
+    'қаз.',
+    'қар.',
+    'желт.'
+  ],
+      WEEKDAYS: const [
+    'жексенбі',
+    'дүйсенбі',
+    'сейсенбі',
+    'сәрсенбі',
+    'бейсенбі',
+    'жұма',
+    'сенбі'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'жексенбі',
+    'дүйсенбі',
+    'сейсенбі',
+    'сәрсенбі',
+    'бейсенбі',
+    'жұма',
+    'сенбі'
+  ],
+      SHORTWEEKDAYS: const ['жс.', 'дс.', 'сс.', 'ср.', 'бс.', 'жм.', 'сб.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'жс.',
+    'дс.',
+    'сс.',
+    'ср.',
+    'бс.',
+    'жм.',
+    'сб.'
+  ],
       NARROWWEEKDAYS: const ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'],
-      STANDALONENARROWWEEKDAYS: const ['Ж', 'Д', 'С', 'С', 'Б', 'Ж',
-        'С'],
-      SHORTQUARTERS: const ['1-тоқсан', '2-тоқсан',
-        '3-тоқсан', '4-тоқсан'],
-      QUARTERS: const ['1-інші тоқсан', '2-інші тоқсан',
-        '3-інші тоқсан', '4-інші тоқсан'],
+      STANDALONENARROWWEEKDAYS: const ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'],
+      SHORTQUARTERS: const ['1-тоқсан', '2-тоқсан', '3-тоқсан', '4-тоқсан'],
+      QUARTERS: const [
+    '1-інші тоқсан',
+    '2-інші тоқсан',
+    '3-інші тоқсан',
+    '4-інші тоқсан'
+  ],
       AMPMS: const ['түске дейін', 'түстен кейін'],
-      DATEFORMATS: const ['EEEE, d MMMM y \'ж\'.', 'd MMMM y \'ж\'.',
-        'dd.MM.y', 'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM y \'ж\'.',
+    'd MMMM y \'ж\'.',
+    'dd.MM.y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2313,55 +7365,147 @@
   /**
    * Date/time formatting symbols for locale km.
    */
-  "km" : new DateSymbols(
+  "km": new DateSymbols(
       NAME: "km",
       ERAS: const ['មុន គ.ស.', 'គ.ស.'],
-      ERANAMES: const ['មុន​គ្រិស្តសករាជ',
-        'គ្រិស្តសករាជ'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['មករា', 'កុម្ភៈ', 'មីនា',
-        'មេសា', 'ឧសភា', 'មិថុនា',
-        'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា',
-        'វិច្ឆិកា', 'ធ្នូ'],
-      STANDALONEMONTHS: const ['មករា', 'កុម្ភៈ',
-        'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា',
-        'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា',
-        'វិច្ឆិកា', 'ធ្នូ'],
-      SHORTMONTHS: const ['មករា', 'កុម្ភៈ', 'មីនា',
-        'មេសា', 'ឧសភា', 'មិថុនា',
-        'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា',
-        'វិច្ឆិកា', 'ធ្នូ'],
-      STANDALONESHORTMONTHS: const ['មករា', 'កុម្ភៈ',
-        'មីនា', 'មេសា', 'ឧសភា', 'មិថុនា',
-        'កក្កដា', 'សីហា', 'កញ្ញា', 'តុលា',
-        'វិច្ឆិកា', 'ធ្នូ'],
-      WEEKDAYS: const ['អាទិត្យ', 'ចន្ទ',
-        'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍',
-        'សុក្រ', 'សៅរ៍'],
-      STANDALONEWEEKDAYS: const ['អាទិត្យ', 'ចន្ទ',
-        'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍',
-        'សុក្រ', 'សៅរ៍'],
-      SHORTWEEKDAYS: const ['អាទិត្យ', 'ចន្ទ',
-        'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍',
-        'សុក្រ', 'សៅរ៍'],
-      STANDALONESHORTWEEKDAYS: const ['អាទិត្យ', 'ចន្ទ',
-        'អង្គារ', 'ពុធ', 'ព្រហស្បតិ៍',
-        'សុក្រ', 'សៅរ៍'],
+      ERANAMES: const ['មុន​គ្រិស្តសករាជ', 'គ្រិស្តសករាជ'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'មករា',
+    'កុម្ភៈ',
+    'មីនា',
+    'មេសា',
+    'ឧសភា',
+    'មិថុនា',
+    'កក្កដា',
+    'សីហា',
+    'កញ្ញា',
+    'តុលា',
+    'វិច្ឆិកា',
+    'ធ្នូ'
+  ],
+      STANDALONEMONTHS: const [
+    'មករា',
+    'កុម្ភៈ',
+    'មីនា',
+    'មេសា',
+    'ឧសភា',
+    'មិថុនា',
+    'កក្កដា',
+    'សីហា',
+    'កញ្ញា',
+    'តុលា',
+    'វិច្ឆិកា',
+    'ធ្នូ'
+  ],
+      SHORTMONTHS: const [
+    'មករា',
+    'កុម្ភៈ',
+    'មីនា',
+    'មេសា',
+    'ឧសភា',
+    'មិថុនា',
+    'កក្កដា',
+    'សីហា',
+    'កញ្ញា',
+    'តុលា',
+    'វិច្ឆិកា',
+    'ធ្នូ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'មករា',
+    'កុម្ភៈ',
+    'មីនា',
+    'មេសា',
+    'ឧសភា',
+    'មិថុនា',
+    'កក្កដា',
+    'សីហា',
+    'កញ្ញា',
+    'តុលា',
+    'វិច្ឆិកា',
+    'ធ្នូ'
+  ],
+      WEEKDAYS: const [
+    'អាទិត្យ',
+    'ចន្ទ',
+    'អង្គារ',
+    'ពុធ',
+    'ព្រហស្បតិ៍',
+    'សុក្រ',
+    'សៅរ៍'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'អាទិត្យ',
+    'ចន្ទ',
+    'អង្គារ',
+    'ពុធ',
+    'ព្រហស្បតិ៍',
+    'សុក្រ',
+    'សៅរ៍'
+  ],
+      SHORTWEEKDAYS: const [
+    'អាទិត្យ',
+    'ចន្ទ',
+    'អង្គារ',
+    'ពុធ',
+    'ព្រហស្បតិ៍',
+    'សុក្រ',
+    'សៅរ៍'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'អាទិត្យ',
+    'ចន្ទ',
+    'អង្គារ',
+    'ពុធ',
+    'ព្រហស្បតិ៍',
+    'សុក្រ',
+    'សៅរ៍'
+  ],
       NARROWWEEKDAYS: const ['1', '2', '3', '4', '5', '6', '7'],
       STANDALONENARROWWEEKDAYS: const ['1', '2', '3', '4', '5', '6', '7'],
-      SHORTQUARTERS: const ['ត្រីមាស ១',
-        'ត្រីមាស ២', 'ត្រីមាស ៣',
-        'ត្រីមាស ៤'],
-      QUARTERS: const ['ត្រីមាសទី ១',
-        'ត្រីមាសទី ២', 'ត្រីមាសទី ៣',
-        'ត្រីមាសទី ៤'],
+      SHORTQUARTERS: const ['ត្រីមាស ១', 'ត្រីមាស ២', 'ត្រីមាស ៣', 'ត្រីមាស ៤'],
+      QUARTERS: const [
+    'ត្រីមាសទី ១',
+    'ត្រីមាសទី ២',
+    'ត្រីមាសទី ៣',
+    'ត្រីមាសទី ៤'
+  ],
       AMPMS: const ['ព្រឹក', 'ល្ងាច'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -2369,56 +7513,139 @@
   /**
    * Date/time formatting symbols for locale kn.
    */
-  "kn" : new DateSymbols(
+  "kn": new DateSymbols(
       NAME: "kn",
       ERAS: const ['ಕ್ರಿ.ಪೂ', 'ಜಾಹೀ'],
       ERANAMES: const ['ಈಸಪೂವ೯.', 'ಕ್ರಿಸ್ತ ಶಕ'],
-      NARROWMONTHS: const ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ', 'ಜೂ',
-        'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'],
-      STANDALONENARROWMONTHS: const ['ಜ', 'ಫೆ', 'ಮಾ', 'ಏ', 'ಮೇ',
-        'ಜೂ', 'ಜು', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'],
-      MONTHS: const ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ',
-        'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್',
-        'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್',
-        'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್',
-        'ಡಿಸೆಂಬರ್'],
-      STANDALONEMONTHS: const ['ಜನವರಿ', 'ಫೆಬ್ರವರಿ',
-        'ಮಾರ್ಚ್', 'ಏಪ್ರಿಲ್', 'ಮೇ', 'ಜೂನ್',
-        'ಜುಲೈ', 'ಆಗಸ್ಟ್', 'ಸಪ್ಟೆಂಬರ್',
-        'ಅಕ್ಟೋಬರ್', 'ನವೆಂಬರ್',
-        'ಡಿಸೆಂಬರ್'],
-      SHORTMONTHS: const ['ಜನ.', 'ಫೆಬ್ರು.', 'ಮಾ',
-        'ಏಪ್ರಿ.', 'ಮೇ', 'ಜೂ', 'ಜು.', 'ಆಗ.',
-        'ಸೆಪ್ಟೆಂ.', 'ಅಕ್ಟೋ.', 'ನವೆಂ.',
-        'ಡಿಸೆಂ.'],
-      STANDALONESHORTMONTHS: const ['ಜನ.', 'ಫೆಬ್ರು.', 'ಮಾ',
-        'ಏಪ್ರಿ.', 'ಮೇ', 'ಜೂ', 'ಜು.', 'ಆಗ.',
-        'ಸೆಪ್ಟೆಂ.', 'ಅಕ್ಟೋ.', 'ನವೆಂ.',
-        'ಡಿಸೆಂ.'],
-      WEEKDAYS: const ['ರವಿವಾರ', 'ಸೋಮವಾರ',
-        'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ',
-        'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'],
-      STANDALONEWEEKDAYS: const ['ರವಿವಾರ', 'ಸೋಮವಾರ',
-        'ಮಂಗಳವಾರ', 'ಬುಧವಾರ', 'ಗುರುವಾರ',
-        'ಶುಕ್ರವಾರ', 'ಶನಿವಾರ'],
-      SHORTWEEKDAYS: const ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.',
-        'ಶು.', 'ಶನಿ.'],
-      STANDALONESHORTWEEKDAYS: const ['ರವಿ', 'ಸೋಮ', 'ಮಂಗಳ',
-        'ಬುಧ', 'ಗುರು', 'ಶುಕ್ರ', 'ಶನಿ'],
-      NARROWWEEKDAYS: const ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು',
-        'ಶು', 'ಶ'],
-      STANDALONENARROWWEEKDAYS: const ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು',
-        'ಗು', 'ಶು', 'ಶ'],
-      SHORTQUARTERS: const ['ತ್ರೈ 1', 'ತ್ರೈ 2',
-        'ತ್ರೈ 3', 'ತ್ರೈ 4'],
-      QUARTERS: const ['1 ನೇ ತ್ರೈಮಾಸಿಕ',
-        '2ನೇ ತ್ರೈಮಾಸಿಕ',
-        '3 ನೇ ತ್ರೈಮಾಸಿಕ',
-        '4 ನೇ ತ್ರೈಮಾಸಿಕ'],
+      NARROWMONTHS: const [
+    'ಜ',
+    'ಫೆ',
+    'ಮಾ',
+    'ಏ',
+    'ಮೇ',
+    'ಜೂ',
+    'ಜು',
+    'ಆ',
+    'ಸೆ',
+    'ಅ',
+    'ನ',
+    'ಡಿ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ಜ',
+    'ಫೆ',
+    'ಮಾ',
+    'ಏ',
+    'ಮೇ',
+    'ಜೂ',
+    'ಜು',
+    'ಆ',
+    'ಸೆ',
+    'ಅ',
+    'ನ',
+    'ಡಿ'
+  ],
+      MONTHS: const [
+    'ಜನವರಿ',
+    'ಫೆಬ್ರವರಿ',
+    'ಮಾರ್ಚ್',
+    'ಏಪ್ರಿಲ್',
+    'ಮೇ',
+    'ಜೂನ್',
+    'ಜುಲೈ',
+    'ಆಗಸ್ಟ್',
+    'ಸಪ್ಟೆಂಬರ್',
+    'ಅಕ್ಟೋಬರ್',
+    'ನವೆಂಬರ್',
+    'ಡಿಸೆಂಬರ್'
+  ],
+      STANDALONEMONTHS: const [
+    'ಜನವರಿ',
+    'ಫೆಬ್ರವರಿ',
+    'ಮಾರ್ಚ್',
+    'ಏಪ್ರಿಲ್',
+    'ಮೇ',
+    'ಜೂನ್',
+    'ಜುಲೈ',
+    'ಆಗಸ್ಟ್',
+    'ಸಪ್ಟೆಂಬರ್',
+    'ಅಕ್ಟೋಬರ್',
+    'ನವೆಂಬರ್',
+    'ಡಿಸೆಂಬರ್'
+  ],
+      SHORTMONTHS: const [
+    'ಜನ.',
+    'ಫೆಬ್ರು.',
+    'ಮಾ',
+    'ಏಪ್ರಿ.',
+    'ಮೇ',
+    'ಜೂ',
+    'ಜು.',
+    'ಆಗ.',
+    'ಸೆಪ್ಟೆಂ.',
+    'ಅಕ್ಟೋ.',
+    'ನವೆಂ.',
+    'ಡಿಸೆಂ.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ಜನ.',
+    'ಫೆಬ್ರು.',
+    'ಮಾ',
+    'ಏಪ್ರಿ.',
+    'ಮೇ',
+    'ಜೂ',
+    'ಜು.',
+    'ಆಗ.',
+    'ಸೆಪ್ಟೆಂ.',
+    'ಅಕ್ಟೋ.',
+    'ನವೆಂ.',
+    'ಡಿಸೆಂ.'
+  ],
+      WEEKDAYS: const [
+    'ರವಿವಾರ',
+    'ಸೋಮವಾರ',
+    'ಮಂಗಳವಾರ',
+    'ಬುಧವಾರ',
+    'ಗುರುವಾರ',
+    'ಶುಕ್ರವಾರ',
+    'ಶನಿವಾರ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ರವಿವಾರ',
+    'ಸೋಮವಾರ',
+    'ಮಂಗಳವಾರ',
+    'ಬುಧವಾರ',
+    'ಗುರುವಾರ',
+    'ಶುಕ್ರವಾರ',
+    'ಶನಿವಾರ'
+  ],
+      SHORTWEEKDAYS: const ['ರ.', 'ಸೋ.', 'ಮಂ.', 'ಬು.', 'ಗು.', 'ಶು.', 'ಶನಿ.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'ರವಿ',
+    'ಸೋಮ',
+    'ಮಂಗಳ',
+    'ಬುಧ',
+    'ಗುರು',
+    'ಶುಕ್ರ',
+    'ಶನಿ'
+  ],
+      NARROWWEEKDAYS: const ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],
+      STANDALONENARROWWEEKDAYS: const ['ರ', 'ಸೋ', 'ಮಂ', 'ಬು', 'ಗು', 'ಶು', 'ಶ'],
+      SHORTQUARTERS: const ['ತ್ರೈ 1', 'ತ್ರೈ 2', 'ತ್ರೈ 3', 'ತ್ರೈ 4'],
+      QUARTERS: const [
+    '1 ನೇ ತ್ರೈಮಾಸಿಕ',
+    '2ನೇ ತ್ರೈಮಾಸಿಕ',
+    '3 ನೇ ತ್ರೈಮಾಸಿಕ',
+    '4 ನೇ ತ್ರೈಮಾಸಿಕ'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['d MMMM y, EEEE', 'd MMMM y', 'd MMM y', 'd-M-yy'],
-      TIMEFORMATS: const ['hh:mm:ss a zzzz', 'hh:mm:ss a z', 'hh:mm:ss a',
-        'hh:mm a'],
+      TIMEFORMATS: const [
+    'hh:mm:ss a zzzz',
+    'hh:mm:ss a z',
+    'hh:mm:ss a',
+    'hh:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -2426,40 +7653,118 @@
   /**
    * Date/time formatting symbols for locale ko.
    */
-  "ko" : new DateSymbols(
+  "ko": new DateSymbols(
       NAME: "ko",
       ERAS: const ['기원전', '서기'],
       ERANAMES: const ['서력기원전', '서력기원'],
-      NARROWMONTHS: const ['1월', '2월', '3월', '4월', '5월', '6월',
-        '7월', '8월', '9월', '10월', '11월', '12월'],
-      STANDALONENARROWMONTHS: const ['1월', '2월', '3월', '4월', '5월',
-        '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
-      MONTHS: const ['1월', '2월', '3월', '4월', '5월', '6월', '7월',
-        '8월', '9월', '10월', '11월', '12월'],
-      STANDALONEMONTHS: const ['1월', '2월', '3월', '4월', '5월', '6월',
-        '7월', '8월', '9월', '10월', '11월', '12월'],
-      SHORTMONTHS: const ['1월', '2월', '3월', '4월', '5월', '6월',
-        '7월', '8월', '9월', '10월', '11월', '12월'],
-      STANDALONESHORTMONTHS: const ['1월', '2월', '3월', '4월', '5월',
-        '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
-      WEEKDAYS: const ['일요일', '월요일', '화요일', '수요일',
-        '목요일', '금요일', '토요일'],
-      STANDALONEWEEKDAYS: const ['일요일', '월요일', '화요일',
-        '수요일', '목요일', '금요일', '토요일'],
+      NARROWMONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      MONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      STANDALONEMONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      SHORTMONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1월',
+    '2월',
+    '3월',
+    '4월',
+    '5월',
+    '6월',
+    '7월',
+    '8월',
+    '9월',
+    '10월',
+    '11월',
+    '12월'
+  ],
+      WEEKDAYS: const ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
+      STANDALONEWEEKDAYS: const [
+    '일요일',
+    '월요일',
+    '화요일',
+    '수요일',
+    '목요일',
+    '금요일',
+    '토요일'
+  ],
       SHORTWEEKDAYS: const ['일', '월', '화', '수', '목', '금', '토'],
-      STANDALONESHORTWEEKDAYS: const ['일', '월', '화', '수', '목', '금',
-        '토'],
+      STANDALONESHORTWEEKDAYS: const ['일', '월', '화', '수', '목', '금', '토'],
       NARROWWEEKDAYS: const ['일', '월', '화', '수', '목', '금', '토'],
-      STANDALONENARROWWEEKDAYS: const ['일', '월', '화', '수', '목', '금',
-        '토'],
+      STANDALONENARROWWEEKDAYS: const ['일', '월', '화', '수', '목', '금', '토'],
       SHORTQUARTERS: const ['1분기', '2분기', '3분기', '4분기'],
-      QUARTERS: const ['제 1/4분기', '제 2/4분기', '제 3/4분기',
-        '제 4/4분기'],
+      QUARTERS: const ['제 1/4분기', '제 2/4분기', '제 3/4분기', '제 4/4분기'],
       AMPMS: const ['오전', '오후'],
-      DATEFORMATS: const ['y년 M월 d일 EEEE', 'y년 M월 d일', 'y. M. d.',
-        'yy. M. d.'],
-      TIMEFORMATS: const ['a h시 m분 s초 zzzz', 'a h시 m분 s초 z',
-        'a h:mm:ss', 'a h:mm'],
+      DATEFORMATS: const ['y년 M월 d일 EEEE', 'y년 M월 d일', 'y. M. d.', 'yy. M. d.'],
+      TIMEFORMATS: const [
+    'a h시 m분 s초 zzzz',
+    'a h시 m분 s초 z',
+    'a h:mm:ss',
+    'a h:mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -2467,44 +7772,125 @@
   /**
    * Date/time formatting symbols for locale ky.
    */
-  "ky" : new DateSymbols(
+  "ky": new DateSymbols(
       NAME: "ky",
       ERAS: const ['б.з. ч.', 'б.з.'],
       ERANAMES: const ['б.з. чейин', 'б.з.'],
-      NARROWMONTHS: const ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С',
-        'О', 'Н', 'Д'],
-      STANDALONENARROWMONTHS: const ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И',
-        'А', 'С', 'О', 'Н', 'Д'],
-      MONTHS: const ['январь', 'февраль', 'март',
-        'апрель', 'май', 'июнь', 'июль', 'август',
-        'сентябрь', 'октябрь', 'ноябрь', 'декабрь'],
-      STANDALONEMONTHS: const ['январь', 'февраль', 'март',
-        'апрель', 'май', 'июнь', 'июль', 'август',
-        'сентябрь', 'октябрь', 'ноябрь', 'декабрь'],
-      SHORTMONTHS: const ['янв.', 'фев.', 'мар.', 'апр.', 'май',
-        'июн.', 'июл.', 'авг.', 'сен.', 'окт.', 'ноя.',
-        'дек.'],
-      STANDALONESHORTMONTHS: const ['янв.', 'фев.', 'мар.', 'апр.',
-        'май', 'июн.', 'июл.', 'авг.', 'сен.', 'окт.',
-        'ноя.', 'дек.'],
-      WEEKDAYS: const ['Жек', 'Дүй', 'Шей', 'Шар', 'Бей',
-        'Жум', 'Ишм'],
-      STANDALONEWEEKDAYS: const ['Жекшемби', 'Дүйшөмбү',
-        'Шейшемби', 'Шаршемби', 'Бейшемби', 'Жума',
-        'Ишемби'],
-      SHORTWEEKDAYS: const ['Жк', 'Дш', 'Ше', 'Ша', 'Бш', 'Жм',
-        'Иш'],
-      STANDALONESHORTWEEKDAYS: const ['Жек', 'Дүй', 'Шей', 'Шар',
-        'Бей', 'Жум', 'Ишм'],
+      NARROWMONTHS: const [
+    'Я',
+    'Ф',
+    'М',
+    'А',
+    'М',
+    'И',
+    'И',
+    'А',
+    'С',
+    'О',
+    'Н',
+    'Д'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Я',
+    'Ф',
+    'М',
+    'А',
+    'М',
+    'И',
+    'И',
+    'А',
+    'С',
+    'О',
+    'Н',
+    'Д'
+  ],
+      MONTHS: const [
+    'январь',
+    'февраль',
+    'март',
+    'апрель',
+    'май',
+    'июнь',
+    'июль',
+    'август',
+    'сентябрь',
+    'октябрь',
+    'ноябрь',
+    'декабрь'
+  ],
+      STANDALONEMONTHS: const [
+    'январь',
+    'февраль',
+    'март',
+    'апрель',
+    'май',
+    'июнь',
+    'июль',
+    'август',
+    'сентябрь',
+    'октябрь',
+    'ноябрь',
+    'декабрь'
+  ],
+      SHORTMONTHS: const [
+    'янв.',
+    'фев.',
+    'мар.',
+    'апр.',
+    'май',
+    'июн.',
+    'июл.',
+    'авг.',
+    'сен.',
+    'окт.',
+    'ноя.',
+    'дек.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'янв.',
+    'фев.',
+    'мар.',
+    'апр.',
+    'май',
+    'июн.',
+    'июл.',
+    'авг.',
+    'сен.',
+    'окт.',
+    'ноя.',
+    'дек.'
+  ],
+      WEEKDAYS: const ['Жек', 'Дүй', 'Шей', 'Шар', 'Бей', 'Жум', 'Ишм'],
+      STANDALONEWEEKDAYS: const [
+    'Жекшемби',
+    'Дүйшөмбү',
+    'Шейшемби',
+    'Шаршемби',
+    'Бейшемби',
+    'Жума',
+    'Ишемби'
+  ],
+      SHORTWEEKDAYS: const ['Жк', 'Дш', 'Ше', 'Ша', 'Бш', 'Жм', 'Иш'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Жек',
+    'Дүй',
+    'Шей',
+    'Шар',
+    'Бей',
+    'Жум',
+    'Ишм'
+  ],
       NARROWWEEKDAYS: const ['Ж', 'Д', 'Ш', 'Ш', 'Б', 'Ж', 'И'],
-      STANDALONENARROWWEEKDAYS: const ['Ж', 'Д', 'Ш', 'Ш', 'Б', 'Ж',
-        'И'],
+      STANDALONENARROWWEEKDAYS: const ['Ж', 'Д', 'Ш', 'Ш', 'Б', 'Ж', 'И'],
       SHORTQUARTERS: const ['1-чей.', '2-чей.', '3-чей.', '4-чей.'],
-      QUARTERS: const ['1-чейрек', '2-чейрек', '3-чейрек',
-        '4-чейрек'],
+      QUARTERS: const ['1-чейрек', '2-чейрек', '3-чейрек', '4-чейрек'],
       AMPMS: const ['түшкө чейинки', 'түштөн кийинки'],
-      DATEFORMATS: const ['EEEE, d-MMMM, y-\'ж\'.', 'd-MMMM, y-\'ж\'.',
-        'dd.MM.y', 'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d-MMMM, y-\'ж\'.',
+    'd-MMMM, y-\'ж\'.',
+    'dd.MM.y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2513,43 +7899,131 @@
   /**
    * Date/time formatting symbols for locale ln.
    */
-  "ln" : new DateSymbols(
+  "ln": new DateSymbols(
       NAME: "ln",
       ERAS: const ['libóso ya', 'nsima ya Y'],
       ERANAMES: const ['Yambo ya Yézu Krís', 'Nsima ya Yézu Krís'],
-      NARROWMONTHS: const ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a', 's', 'ɔ',
-        'n', 'd'],
-      STANDALONENARROWMONTHS: const ['y', 'f', 'm', 'a', 'm', 'y', 'y', 'a',
-        's', 'ɔ', 'n', 'd'],
-      MONTHS: const ['sánzá ya yambo', 'sánzá ya míbalé',
-        'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno',
-        'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe',
-        'sánzá ya libwa', 'sánzá ya zómi',
-        'sánzá ya zómi na mɔ̌kɔ́', 'sánzá ya zómi na míbalé'],
-      STANDALONEMONTHS: const ['sánzá ya yambo', 'sánzá ya míbalé',
-        'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno',
-        'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe',
-        'sánzá ya libwa', 'sánzá ya zómi',
-        'sánzá ya zómi na mɔ̌kɔ́', 'sánzá ya zómi na míbalé'],
-      SHORTMONTHS: const ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul',
-        'agt', 'stb', 'ɔtb', 'nvb', 'dsb'],
-      STANDALONESHORTMONTHS: const ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun',
-        'yul', 'agt', 'stb', 'ɔtb', 'nvb', 'dsb'],
-      WEEKDAYS: const ['eyenga', 'mokɔlɔ mwa yambo', 'mokɔlɔ mwa míbalé',
-        'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi', 'mokɔlɔ ya mítáno',
-        'mpɔ́sɔ'],
-      STANDALONEWEEKDAYS: const ['eyenga', 'mokɔlɔ mwa yambo',
-        'mokɔlɔ mwa míbalé', 'mokɔlɔ mwa mísáto', 'mokɔlɔ ya mínéi',
-        'mokɔlɔ ya mítáno', 'mpɔ́sɔ'],
+      NARROWMONTHS: const [
+    'y',
+    'f',
+    'm',
+    'a',
+    'm',
+    'y',
+    'y',
+    'a',
+    's',
+    'ɔ',
+    'n',
+    'd'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'y',
+    'f',
+    'm',
+    'a',
+    'm',
+    'y',
+    'y',
+    'a',
+    's',
+    'ɔ',
+    'n',
+    'd'
+  ],
+      MONTHS: const [
+    'sánzá ya yambo',
+    'sánzá ya míbalé',
+    'sánzá ya mísáto',
+    'sánzá ya mínei',
+    'sánzá ya mítáno',
+    'sánzá ya motóbá',
+    'sánzá ya nsambo',
+    'sánzá ya mwambe',
+    'sánzá ya libwa',
+    'sánzá ya zómi',
+    'sánzá ya zómi na mɔ̌kɔ́',
+    'sánzá ya zómi na míbalé'
+  ],
+      STANDALONEMONTHS: const [
+    'sánzá ya yambo',
+    'sánzá ya míbalé',
+    'sánzá ya mísáto',
+    'sánzá ya mínei',
+    'sánzá ya mítáno',
+    'sánzá ya motóbá',
+    'sánzá ya nsambo',
+    'sánzá ya mwambe',
+    'sánzá ya libwa',
+    'sánzá ya zómi',
+    'sánzá ya zómi na mɔ̌kɔ́',
+    'sánzá ya zómi na míbalé'
+  ],
+      SHORTMONTHS: const [
+    'yan',
+    'fbl',
+    'msi',
+    'apl',
+    'mai',
+    'yun',
+    'yul',
+    'agt',
+    'stb',
+    'ɔtb',
+    'nvb',
+    'dsb'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'yan',
+    'fbl',
+    'msi',
+    'apl',
+    'mai',
+    'yun',
+    'yul',
+    'agt',
+    'stb',
+    'ɔtb',
+    'nvb',
+    'dsb'
+  ],
+      WEEKDAYS: const [
+    'eyenga',
+    'mokɔlɔ mwa yambo',
+    'mokɔlɔ mwa míbalé',
+    'mokɔlɔ mwa mísáto',
+    'mokɔlɔ ya mínéi',
+    'mokɔlɔ ya mítáno',
+    'mpɔ́sɔ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'eyenga',
+    'mokɔlɔ mwa yambo',
+    'mokɔlɔ mwa míbalé',
+    'mokɔlɔ mwa mísáto',
+    'mokɔlɔ ya mínéi',
+    'mokɔlɔ ya mítáno',
+    'mpɔ́sɔ'
+  ],
       SHORTWEEKDAYS: const ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'],
-      STANDALONESHORTWEEKDAYS: const ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn',
-        'mps'],
+      STANDALONESHORTWEEKDAYS: const [
+    'eye',
+    'ybo',
+    'mbl',
+    'mst',
+    'min',
+    'mtn',
+    'mps'
+  ],
       NARROWWEEKDAYS: const ['e', 'y', 'm', 'm', 'm', 'm', 'p'],
       STANDALONENARROWWEEKDAYS: const ['e', 'y', 'm', 'm', 'm', 'm', 'p'],
       SHORTQUARTERS: const ['SM1', 'SM2', 'SM3', 'SM4'],
-      QUARTERS: const ['sánzá mísáto ya yambo',
-        'sánzá mísáto ya míbalé', 'sánzá mísáto ya mísáto',
-        'sánzá mísáto ya mínei'],
+      QUARTERS: const [
+    'sánzá mísáto ya yambo',
+    'sánzá mísáto ya míbalé',
+    'sánzá mísáto ya mísáto',
+    'sánzá mísáto ya mínei'
+  ],
       AMPMS: const ['ntɔ́ngɔ́', 'mpókwa'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -2560,58 +8034,142 @@
   /**
    * Date/time formatting symbols for locale lo.
    */
-  "lo" : new DateSymbols(
+  "lo": new DateSymbols(
       NAME: "lo",
       ERAS: const ['ກ່ອນ ຄ.ສ.', 'ຄ.ສ.'],
       ERANAMES: const ['ກ່ອນ ຄ.ສ.', 'ຄ.ສ.'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['ມັງກອນ', 'ກຸມພາ', 'ມີນາ',
-        'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ',
-        'ກໍລະກົດ', 'ສິງຫາ', 'ກັນຍາ',
-        'ຕຸລາ', 'ພະຈິກ', 'ທັນວາ'],
-      STANDALONEMONTHS: const ['ມັງກອນ', 'ກຸມພາ',
-        'ມີນາ', 'ເມສາ', 'ພຶດສະພາ',
-        'ມິຖຸນາ', 'ກໍລະກົດ', 'ສິງຫາ',
-        'ກັນຍາ', 'ຕຸລາ', 'ພະຈິກ',
-        'ທັນວາ'],
-      SHORTMONTHS: const ['ມ.ກ.', 'ກ.ພ.', 'ມ.ນ.', 'ມ.ສ.',
-        'ພ.ພ.', 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.', 'ກ.ຍ.',
-        'ຕ.ລ.', 'ພ.ຈ.', 'ທ.ວ.'],
-      STANDALONESHORTMONTHS: const ['ມ.ກ.', 'ກ.ພ.', 'ມ.ນ.',
-        'ມ.ສ.', 'ພ.ພ.', 'ມິ.ຖ.', 'ກ.ລ.', 'ສ.ຫ.',
-        'ກ.ຍ.', 'ຕ.ລ.', 'ພ.ຈ.', 'ທ.ວ.'],
-      WEEKDAYS: const ['ວັນອາທິດ', 'ວັນຈັນ',
-        'ວັນອັງຄານ', 'ວັນພຸດ',
-        'ວັນພະຫັດ', 'ວັນສຸກ',
-        'ວັນເສົາ'],
-      STANDALONEWEEKDAYS: const ['ວັນອາທິດ',
-        'ວັນຈັນ', 'ວັນອັງຄານ',
-        'ວັນພຸດ', 'ວັນພະຫັດ', 'ວັນສຸກ',
-        'ວັນເສົາ'],
-      SHORTWEEKDAYS: const ['ວັນອາທິດ', 'ວັນຈັນ',
-        'ວັນອັງຄານ', 'ວັນພຸດ',
-        'ວັນພະຫັດ', 'ວັນສຸກ',
-        'ວັນເສົາ'],
-      STANDALONESHORTWEEKDAYS: const ['ວັນອາທິດ',
-        'ວັນຈັນ', 'ວັນອັງຄານ',
-        'ວັນພຸດ', 'ວັນພະຫັດ', 'ວັນສຸກ',
-        'ວັນເສົາ'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'ມັງກອນ',
+    'ກຸມພາ',
+    'ມີນາ',
+    'ເມສາ',
+    'ພຶດສະພາ',
+    'ມິຖຸນາ',
+    'ກໍລະກົດ',
+    'ສິງຫາ',
+    'ກັນຍາ',
+    'ຕຸລາ',
+    'ພະຈິກ',
+    'ທັນວາ'
+  ],
+      STANDALONEMONTHS: const [
+    'ມັງກອນ',
+    'ກຸມພາ',
+    'ມີນາ',
+    'ເມສາ',
+    'ພຶດສະພາ',
+    'ມິຖຸນາ',
+    'ກໍລະກົດ',
+    'ສິງຫາ',
+    'ກັນຍາ',
+    'ຕຸລາ',
+    'ພະຈິກ',
+    'ທັນວາ'
+  ],
+      SHORTMONTHS: const [
+    'ມ.ກ.',
+    'ກ.ພ.',
+    'ມ.ນ.',
+    'ມ.ສ.',
+    'ພ.ພ.',
+    'ມິ.ຖ.',
+    'ກ.ລ.',
+    'ສ.ຫ.',
+    'ກ.ຍ.',
+    'ຕ.ລ.',
+    'ພ.ຈ.',
+    'ທ.ວ.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ມ.ກ.',
+    'ກ.ພ.',
+    'ມ.ນ.',
+    'ມ.ສ.',
+    'ພ.ພ.',
+    'ມິ.ຖ.',
+    'ກ.ລ.',
+    'ສ.ຫ.',
+    'ກ.ຍ.',
+    'ຕ.ລ.',
+    'ພ.ຈ.',
+    'ທ.ວ.'
+  ],
+      WEEKDAYS: const [
+    'ວັນອາທິດ',
+    'ວັນຈັນ',
+    'ວັນອັງຄານ',
+    'ວັນພຸດ',
+    'ວັນພະຫັດ',
+    'ວັນສຸກ',
+    'ວັນເສົາ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ວັນອາທິດ',
+    'ວັນຈັນ',
+    'ວັນອັງຄານ',
+    'ວັນພຸດ',
+    'ວັນພະຫັດ',
+    'ວັນສຸກ',
+    'ວັນເສົາ'
+  ],
+      SHORTWEEKDAYS: const [
+    'ວັນອາທິດ',
+    'ວັນຈັນ',
+    'ວັນອັງຄານ',
+    'ວັນພຸດ',
+    'ວັນພະຫັດ',
+    'ວັນສຸກ',
+    'ວັນເສົາ'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ວັນອາທິດ',
+    'ວັນຈັນ',
+    'ວັນອັງຄານ',
+    'ວັນພຸດ',
+    'ວັນພະຫັດ',
+    'ວັນສຸກ',
+    'ວັນເສົາ'
+  ],
       NARROWWEEKDAYS: const ['1', '2', '3', '4', '5', '6', '7'],
-      STANDALONENARROWWEEKDAYS: const ['ທ', 'ຈ', 'ຄ', '​ພຸ', 'ພ',
-        '​ສຸ', 'ສ'],
+      STANDALONENARROWWEEKDAYS: const ['ທ', 'ຈ', 'ຄ', '​ພຸ', 'ພ', '​ສຸ', 'ສ'],
       SHORTQUARTERS: const ['ຕມ1', 'ຕມ2', 'ຕມ3', 'ຕມ4'],
-      QUARTERS: const ['ໄຕຣມາດ 1', 'ໄຕຣມາດ 2',
-        'ໄຕຣມາດ 3', 'ໄຕຣມາດ 4'],
+      QUARTERS: const ['ໄຕຣມາດ 1', 'ໄຕຣມາດ 2', 'ໄຕຣມາດ 3', 'ໄຕຣມາດ 4'],
       AMPMS: const ['ກ່ອນທ່ຽງ', 'ຫຼັງທ່ຽງ'],
-      DATEFORMATS: const ['EEEE ທີ d MMMM G y', 'd MMMM y', 'd MMM y',
-        'd/M/y'],
+      DATEFORMATS: const ['EEEE ທີ d MMMM G y', 'd MMMM y', 'd MMM y', 'd/M/y'],
       TIMEFORMATS: const [
-        'H ໂມງ m ນາທີ ss ວິນາທີ zzzz',
-        'H ໂມງ m ນາທີ ss ວິນາທີ z', 'H:mm:ss',
-        'H:mm'],
+    'H ໂມງ m ນາທີ ss ວິນາທີ zzzz',
+    'H ໂມງ m ນາທີ ss ວິນາທີ z',
+    'H:mm:ss',
+    'H:mm'
+  ],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -2619,39 +8177,130 @@
   /**
    * Date/time formatting symbols for locale lt.
    */
-  "lt" : new DateSymbols(
+  "lt": new DateSymbols(
       NAME: "lt",
       ERAS: const ['pr. Kr.', 'po Kr.'],
       ERANAMES: const ['prieš Kristų', 'po Kristaus'],
-      NARROWMONTHS: const ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R', 'R', 'S',
-        'L', 'G'],
-      STANDALONENARROWMONTHS: const ['S', 'V', 'K', 'B', 'G', 'B', 'L', 'R',
-        'R', 'S', 'L', 'G'],
-      MONTHS: const ['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė',
-        'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis', 'lapkritis',
-        'gruodis'],
-      STANDALONEMONTHS: const ['sausis', 'vasaris', 'kovas', 'balandis',
-        'gegužė', 'birželis', 'liepa', 'rugpjūtis', 'rugsėjis', 'spalis',
-        'lapkritis', 'gruodis'],
-      SHORTMONTHS: const ['saus.', 'vas.', 'kov.', 'bal.', 'geg.', 'birž.',
-        'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'],
-      STANDALONESHORTMONTHS: const ['saus.', 'vas.', 'kov.', 'bal.', 'geg.',
-        'birž.', 'liep.', 'rugp.', 'rugs.', 'spal.', 'lapkr.', 'gruod.'],
-      WEEKDAYS: const ['sekmadienis', 'pirmadienis', 'antradienis',
-        'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'],
-      STANDALONEWEEKDAYS: const ['sekmadienis', 'pirmadienis', 'antradienis',
-        'trečiadienis', 'ketvirtadienis', 'penktadienis', 'šeštadienis'],
+      NARROWMONTHS: const [
+    'S',
+    'V',
+    'K',
+    'B',
+    'G',
+    'B',
+    'L',
+    'R',
+    'R',
+    'S',
+    'L',
+    'G'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'S',
+    'V',
+    'K',
+    'B',
+    'G',
+    'B',
+    'L',
+    'R',
+    'R',
+    'S',
+    'L',
+    'G'
+  ],
+      MONTHS: const [
+    'sausis',
+    'vasaris',
+    'kovas',
+    'balandis',
+    'gegužė',
+    'birželis',
+    'liepa',
+    'rugpjūtis',
+    'rugsėjis',
+    'spalis',
+    'lapkritis',
+    'gruodis'
+  ],
+      STANDALONEMONTHS: const [
+    'sausis',
+    'vasaris',
+    'kovas',
+    'balandis',
+    'gegužė',
+    'birželis',
+    'liepa',
+    'rugpjūtis',
+    'rugsėjis',
+    'spalis',
+    'lapkritis',
+    'gruodis'
+  ],
+      SHORTMONTHS: const [
+    'saus.',
+    'vas.',
+    'kov.',
+    'bal.',
+    'geg.',
+    'birž.',
+    'liep.',
+    'rugp.',
+    'rugs.',
+    'spal.',
+    'lapkr.',
+    'gruod.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'saus.',
+    'vas.',
+    'kov.',
+    'bal.',
+    'geg.',
+    'birž.',
+    'liep.',
+    'rugp.',
+    'rugs.',
+    'spal.',
+    'lapkr.',
+    'gruod.'
+  ],
+      WEEKDAYS: const [
+    'sekmadienis',
+    'pirmadienis',
+    'antradienis',
+    'trečiadienis',
+    'ketvirtadienis',
+    'penktadienis',
+    'šeštadienis'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'sekmadienis',
+    'pirmadienis',
+    'antradienis',
+    'trečiadienis',
+    'ketvirtadienis',
+    'penktadienis',
+    'šeštadienis'
+  ],
       SHORTWEEKDAYS: const ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'],
-      STANDALONESHORTWEEKDAYS: const ['sk', 'pr', 'an', 'tr', 'kt', 'pn',
-        'št'],
+      STANDALONESHORTWEEKDAYS: const ['sk', 'pr', 'an', 'tr', 'kt', 'pn', 'št'],
       NARROWWEEKDAYS: const ['S', 'P', 'A', 'T', 'K', 'P', 'Š'],
       STANDALONENARROWWEEKDAYS: const ['S', 'P', 'A', 'T', 'K', 'P', 'Š'],
       SHORTQUARTERS: const ['I k.', 'II k.', 'III k.', 'IV k.'],
-      QUARTERS: const ['I ketvirtis', 'II ketvirtis', 'III ketvirtis',
-        'IV ketvirtis'],
+      QUARTERS: const [
+    'I ketvirtis',
+    'II ketvirtis',
+    'III ketvirtis',
+    'IV ketvirtis'
+  ],
       AMPMS: const ['priešpiet', 'popiet'],
-      DATEFORMATS: const ['y \'m\'. MMMM d \'d\'., EEEE',
-        'y \'m\'. MMMM d \'d\'.', 'y MMM d', 'y-MM-dd'],
+      DATEFORMATS: const [
+    'y \'m\'. MMMM d \'d\'., EEEE',
+    'y \'m\'. MMMM d \'d\'.',
+    'y MMM d',
+    'y-MM-dd'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2660,38 +8309,130 @@
   /**
    * Date/time formatting symbols for locale lv.
    */
-  "lv" : new DateSymbols(
+  "lv": new DateSymbols(
       NAME: "lv",
       ERAS: const ['p.m.ē.', 'm.ē.'],
       ERANAMES: const ['pirms mūsu ēras', 'mūsu ērā'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs',
-        'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris',
-        'decembris'],
-      STANDALONEMONTHS: const ['Janvāris', 'Februāris', 'Marts', 'Aprīlis',
-        'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris',
-        'Novembris', 'Decembris'],
-      SHORTMONTHS: const ['janv.', 'febr.', 'marts', 'apr.', 'maijs', 'jūn.',
-        'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['Janv.', 'Febr.', 'Marts', 'Apr.', 'Maijs',
-        'Jūn.', 'Jūl.', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dec.'],
-      WEEKDAYS: const ['svētdiena', 'pirmdiena', 'otrdiena', 'trešdiena',
-        'ceturtdiena', 'piektdiena', 'sestdiena'],
-      STANDALONEWEEKDAYS: const ['Svētdiena', 'Pirmdiena', 'Otrdiena',
-        'Trešdiena', 'Ceturtdiena', 'Piektdiena', 'Sestdiena'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janvāris',
+    'februāris',
+    'marts',
+    'aprīlis',
+    'maijs',
+    'jūnijs',
+    'jūlijs',
+    'augusts',
+    'septembris',
+    'oktobris',
+    'novembris',
+    'decembris'
+  ],
+      STANDALONEMONTHS: const [
+    'Janvāris',
+    'Februāris',
+    'Marts',
+    'Aprīlis',
+    'Maijs',
+    'Jūnijs',
+    'Jūlijs',
+    'Augusts',
+    'Septembris',
+    'Oktobris',
+    'Novembris',
+    'Decembris'
+  ],
+      SHORTMONTHS: const [
+    'janv.',
+    'febr.',
+    'marts',
+    'apr.',
+    'maijs',
+    'jūn.',
+    'jūl.',
+    'aug.',
+    'sept.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Janv.',
+    'Febr.',
+    'Marts',
+    'Apr.',
+    'Maijs',
+    'Jūn.',
+    'Jūl.',
+    'Aug.',
+    'Sept.',
+    'Okt.',
+    'Nov.',
+    'Dec.'
+  ],
+      WEEKDAYS: const [
+    'svētdiena',
+    'pirmdiena',
+    'otrdiena',
+    'trešdiena',
+    'ceturtdiena',
+    'piektdiena',
+    'sestdiena'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Svētdiena',
+    'Pirmdiena',
+    'Otrdiena',
+    'Trešdiena',
+    'Ceturtdiena',
+    'Piektdiena',
+    'Sestdiena'
+  ],
       SHORTWEEKDAYS: const ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],
       STANDALONESHORTWEEKDAYS: const ['Sv', 'Pr', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],
       NARROWWEEKDAYS: const ['S', 'P', 'O', 'T', 'C', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'P', 'O', 'T', 'C', 'P', 'S'],
       SHORTQUARTERS: const ['C1', 'C2', 'C3', 'C4'],
-      QUARTERS: const ['1. ceturksnis', '2. ceturksnis', '3. ceturksnis',
-        '4. ceturksnis'],
+      QUARTERS: const [
+    '1. ceturksnis',
+    '2. ceturksnis',
+    '3. ceturksnis',
+    '4. ceturksnis'
+  ],
       AMPMS: const ['priekšpusdienā', 'pēcpusdienā'],
-      DATEFORMATS: const ['EEEE, y. \'gada\' d. MMMM', 'y. \'gada\' d. MMMM',
-        'y. \'gada\' d. MMM', 'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, y. \'gada\' d. MMMM',
+    'y. \'gada\' d. MMMM',
+    'y. \'gada\' d. MMM',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2700,47 +8441,146 @@
   /**
    * Date/time formatting symbols for locale mk.
    */
-  "mk" : new DateSymbols(
+  "mk": new DateSymbols(
       NAME: "mk",
       ERAS: const ['пр.н.е.', 'н.е.'],
       ERANAMES: const ['пр.н.е.', 'н.е.'],
-      NARROWMONTHS: const ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с',
-        'о', 'н', 'д'],
-      STANDALONENARROWMONTHS: const ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј',
-        'а', 'с', 'о', 'н', 'д'],
-      MONTHS: const ['јануари', 'февруари', 'март',
-        'април', 'мај', 'јуни', 'јули', 'август',
-        'септември', 'октомври', 'ноември',
-        'декември'],
-      STANDALONEMONTHS: const ['јануари', 'февруари', 'март',
-        'април', 'мај', 'јуни', 'јули', 'август',
-        'септември', 'октомври', 'ноември',
-        'декември'],
-      SHORTMONTHS: const ['јан.', 'фев.', 'мар.', 'апр.', 'мај',
-        'јун.', 'јул.', 'авг.', 'септ.', 'окт.', 'ноем.',
-        'дек.'],
-      STANDALONESHORTMONTHS: const ['јан.', 'фев.', 'мар.', 'апр.',
-        'мај', 'јун.', 'јул.', 'авг.', 'септ.', 'окт.',
-        'ноем.', 'дек.'],
-      WEEKDAYS: const ['недела', 'понеделник', 'вторник',
-        'среда', 'четврток', 'петок', 'сабота'],
-      STANDALONEWEEKDAYS: const ['недела', 'понеделник',
-        'вторник', 'среда', 'четврток', 'петок',
-        'сабота'],
-      SHORTWEEKDAYS: const ['нед.', 'пон.', 'вт.', 'сре.', 'чет.',
-        'пет.', 'саб.'],
-      STANDALONESHORTWEEKDAYS: const ['нед.', 'пон.', 'вт.', 'сре.',
-        'чет.', 'пет.', 'саб.'],
+      NARROWMONTHS: const [
+    'ј',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ј',
+    'ј',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ј',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ј',
+    'ј',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      MONTHS: const [
+    'јануари',
+    'февруари',
+    'март',
+    'април',
+    'мај',
+    'јуни',
+    'јули',
+    'август',
+    'септември',
+    'октомври',
+    'ноември',
+    'декември'
+  ],
+      STANDALONEMONTHS: const [
+    'јануари',
+    'февруари',
+    'март',
+    'април',
+    'мај',
+    'јуни',
+    'јули',
+    'август',
+    'септември',
+    'октомври',
+    'ноември',
+    'декември'
+  ],
+      SHORTMONTHS: const [
+    'јан.',
+    'фев.',
+    'мар.',
+    'апр.',
+    'мај',
+    'јун.',
+    'јул.',
+    'авг.',
+    'септ.',
+    'окт.',
+    'ноем.',
+    'дек.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'јан.',
+    'фев.',
+    'мар.',
+    'апр.',
+    'мај',
+    'јун.',
+    'јул.',
+    'авг.',
+    'септ.',
+    'окт.',
+    'ноем.',
+    'дек.'
+  ],
+      WEEKDAYS: const [
+    'недела',
+    'понеделник',
+    'вторник',
+    'среда',
+    'четврток',
+    'петок',
+    'сабота'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'недела',
+    'понеделник',
+    'вторник',
+    'среда',
+    'четврток',
+    'петок',
+    'сабота'
+  ],
+      SHORTWEEKDAYS: const [
+    'нед.',
+    'пон.',
+    'вт.',
+    'сре.',
+    'чет.',
+    'пет.',
+    'саб.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'нед.',
+    'пон.',
+    'вт.',
+    'сре.',
+    'чет.',
+    'пет.',
+    'саб.'
+  ],
       NARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п', 'с'],
-      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п',
-        'с'],
+      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'в', 'с', 'ч', 'п', 'с'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['прво тромесечје',
-        'второ тромесечје', 'трето тромесечје',
-        'четврто тромесечје'],
+      QUARTERS: const [
+    'прво тромесечје',
+    'второ тромесечје',
+    'трето тромесечје',
+    'четврто тромесечје'
+  ],
       AMPMS: const ['претпладне', 'попладне'],
-      DATEFORMATS: const ['EEEE, dd MMMM y \'г\'.', 'dd MMMM y \'г\'.',
-        'dd.M.y', 'dd.M.yy'],
+      DATEFORMATS: const [
+    'EEEE, dd MMMM y \'г\'.',
+    'dd MMMM y \'г\'.',
+    'dd.M.y',
+    'dd.M.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -2749,63 +8589,165 @@
   /**
    * Date/time formatting symbols for locale ml.
    */
-  "ml" : new DateSymbols(
+  "ml": new DateSymbols(
       NAME: "ml",
       ERAS: const ['ക്രി.മൂ', 'എഡി'],
-      ERANAMES: const [
-        'ക്രിസ്തുവിനു് മുമ്പ്‌',
-        'ക്രിസ്തുവിന് പിൻപ്'],
-      NARROWMONTHS: const ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ', 'ജൂ',
-        'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'],
-      STANDALONENARROWMONTHS: const ['ജ', 'ഫെ', 'മാ', 'ഏ', 'മേ',
-        'ജൂ', 'ജൂ', 'ഓ', 'സെ', 'ഒ', 'ന', 'ഡി'],
-      MONTHS: const ['ജനുവരി', 'ഫെബ്രുവരി',
-        'മാർച്ച്', 'ഏപ്രിൽ', 'മേയ്',
-        'ജൂൺ', 'ജൂലൈ', 'ആഗസ്റ്റ്',
-        'സെപ്റ്റംബർ', 'ഒക്‌ടോബർ',
-        'നവംബർ', 'ഡിസംബർ'],
-      STANDALONEMONTHS: const ['ജനുവരി',
-        'ഫെബ്രുവരി', 'മാർച്ച്',
-        'ഏപ്രിൽ', 'മേയ്', 'ജൂൺ', 'ജൂലൈ',
-        'ആഗസ്റ്റ്', 'സെപ്റ്റംബർ',
-        'ഒക്‌ടോബർ', 'നവംബർ', 'ഡിസംബർ'],
-      SHORTMONTHS: const ['ജനു', 'ഫെബ്രു', 'മാർ',
-        'ഏപ്രി', 'മേയ്', 'ജൂൺ', 'ജൂലൈ',
-        'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ', 'നവം',
-        'ഡിസം'],
-      STANDALONESHORTMONTHS: const ['ജനു', 'ഫെബ്രു',
-        'മാർ', 'ഏപ്രി', 'മേയ്', 'ജൂൺ',
-        'ജൂലൈ', 'ഓഗ', 'സെപ്റ്റം', 'ഒക്ടോ',
-        'നവം', 'ഡിസം'],
-      WEEKDAYS: const ['ഞായറാഴ്‌ച',
-        'തിങ്കളാഴ്‌ച', 'ചൊവ്വാഴ്ച',
-        'ബുധനാഴ്‌ച', 'വ്യാഴാഴ്‌ച',
-        'വെള്ളിയാഴ്‌ച', 'ശനിയാഴ്‌ച'],
-      STANDALONEWEEKDAYS: const ['ഞായറാഴ്‌ച',
-        'തിങ്കളാഴ്‌ച', 'ചൊവ്വാഴ്‌ച',
-        'ബുധനാഴ്‌ച', 'വ്യാഴാഴ്‌ച',
-        'വെള്ളിയാഴ്‌ച', 'ശനിയാഴ്‌ച'],
-      SHORTWEEKDAYS: const ['ഞായർ', 'തിങ്കൾ',
-        'ചൊവ്വ', 'ബുധൻ', 'വ്യാഴം',
-        'വെള്ളി', 'ശനി'],
-      STANDALONESHORTWEEKDAYS: const ['ഞായർ', 'തിങ്കൾ',
-        'ചൊവ്വ', 'ബുധൻ', 'വ്യാഴം',
-        'വെള്ളി', 'ശനി'],
-      NARROWWEEKDAYS: const ['ഞാ', 'തി', 'ചൊ', 'ബു',
-        'വ്യാ', 'വെ', 'ശ'],
-      STANDALONENARROWWEEKDAYS: const ['ഞാ', 'തി', 'ചൊ', 'ബു',
-        'വ്യാ', 'വെ', 'ശ'],
-      SHORTQUARTERS: const ['ഒന്നാം പാദം',
-        'രണ്ടാം പാദം', 'മൂന്നാം പാദം',
-        'നാലാം പാദം'],
-      QUARTERS: const ['ഒന്നാം പാദം',
-        'രണ്ടാം പാദം', 'മൂന്നാം പാദം',
-        'നാലാം പാദം'],
+      ERANAMES: const ['ക്രിസ്തുവിനു് മുമ്പ്‌', 'ക്രിസ്തുവിന് പിൻപ്'],
+      NARROWMONTHS: const [
+    'ജ',
+    'ഫെ',
+    'മാ',
+    'ഏ',
+    'മേ',
+    'ജൂ',
+    'ജൂ',
+    'ഓ',
+    'സെ',
+    'ഒ',
+    'ന',
+    'ഡി'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ജ',
+    'ഫെ',
+    'മാ',
+    'ഏ',
+    'മേ',
+    'ജൂ',
+    'ജൂ',
+    'ഓ',
+    'സെ',
+    'ഒ',
+    'ന',
+    'ഡി'
+  ],
+      MONTHS: const [
+    'ജനുവരി',
+    'ഫെബ്രുവരി',
+    'മാർച്ച്',
+    'ഏപ്രിൽ',
+    'മേയ്',
+    'ജൂൺ',
+    'ജൂലൈ',
+    'ആഗസ്റ്റ്',
+    'സെപ്റ്റംബർ',
+    'ഒക്‌ടോബർ',
+    'നവംബർ',
+    'ഡിസംബർ'
+  ],
+      STANDALONEMONTHS: const [
+    'ജനുവരി',
+    'ഫെബ്രുവരി',
+    'മാർച്ച്',
+    'ഏപ്രിൽ',
+    'മേയ്',
+    'ജൂൺ',
+    'ജൂലൈ',
+    'ആഗസ്റ്റ്',
+    'സെപ്റ്റംബർ',
+    'ഒക്‌ടോബർ',
+    'നവംബർ',
+    'ഡിസംബർ'
+  ],
+      SHORTMONTHS: const [
+    'ജനു',
+    'ഫെബ്രു',
+    'മാർ',
+    'ഏപ്രി',
+    'മേയ്',
+    'ജൂൺ',
+    'ജൂലൈ',
+    'ഓഗ',
+    'സെപ്റ്റം',
+    'ഒക്ടോ',
+    'നവം',
+    'ഡിസം'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ജനു',
+    'ഫെബ്രു',
+    'മാർ',
+    'ഏപ്രി',
+    'മേയ്',
+    'ജൂൺ',
+    'ജൂലൈ',
+    'ഓഗ',
+    'സെപ്റ്റം',
+    'ഒക്ടോ',
+    'നവം',
+    'ഡിസം'
+  ],
+      WEEKDAYS: const [
+    'ഞായറാഴ്‌ച',
+    'തിങ്കളാഴ്‌ച',
+    'ചൊവ്വാഴ്ച',
+    'ബുധനാഴ്‌ച',
+    'വ്യാഴാഴ്‌ച',
+    'വെള്ളിയാഴ്‌ച',
+    'ശനിയാഴ്‌ച'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ഞായറാഴ്‌ച',
+    'തിങ്കളാഴ്‌ച',
+    'ചൊവ്വാഴ്‌ച',
+    'ബുധനാഴ്‌ച',
+    'വ്യാഴാഴ്‌ച',
+    'വെള്ളിയാഴ്‌ച',
+    'ശനിയാഴ്‌ച'
+  ],
+      SHORTWEEKDAYS: const [
+    'ഞായർ',
+    'തിങ്കൾ',
+    'ചൊവ്വ',
+    'ബുധൻ',
+    'വ്യാഴം',
+    'വെള്ളി',
+    'ശനി'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ഞായർ',
+    'തിങ്കൾ',
+    'ചൊവ്വ',
+    'ബുധൻ',
+    'വ്യാഴം',
+    'വെള്ളി',
+    'ശനി'
+  ],
+      NARROWWEEKDAYS: const ['ഞാ', 'തി', 'ചൊ', 'ബു', 'വ്യാ', 'വെ', 'ശ'],
+      STANDALONENARROWWEEKDAYS: const [
+    'ഞാ',
+    'തി',
+    'ചൊ',
+    'ബു',
+    'വ്യാ',
+    'വെ',
+    'ശ'
+  ],
+      SHORTQUARTERS: const [
+    'ഒന്നാം പാദം',
+    'രണ്ടാം പാദം',
+    'മൂന്നാം പാദം',
+    'നാലാം പാദം'
+  ],
+      QUARTERS: const [
+    'ഒന്നാം പാദം',
+    'രണ്ടാം പാദം',
+    'മൂന്നാം പാദം',
+    'നാലാം പാദം'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['y, MMMM d, EEEE', 'y, MMMM d', 'y, MMM d',
-        'dd/MM/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      DATEFORMATS: const [
+    'y, MMMM d, EEEE',
+    'y, MMMM d',
+    'y, MMM d',
+    'dd/MM/yy'
+  ],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -2813,53 +8755,125 @@
   /**
    * Date/time formatting symbols for locale mn.
    */
-  "mn" : new DateSymbols(
+  "mn": new DateSymbols(
       NAME: "mn",
       ERAS: const ['МЭӨ', 'МЭ'],
-      ERANAMES: const ['манай эриний өмнөх',
-        'манай эриний'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['Нэгдүгээр сар', 'Хоёрдугаар сар',
-        'Гуравдугаар сар', 'Дөрөвдүгээр сар',
-        'Тавдугаар сар', 'Зургадугаар сар',
-        'Долдугаар сар', 'Наймдугаар сар',
-        'Есдүгээр сар', 'Аравдугаар сар',
-        'Арван нэгдүгээр сар',
-        'Арван хоёрдугаар сар'],
-      STANDALONEMONTHS: const ['Нэгдүгээр сар',
-        'Хоёрдугаар сар', 'Гуравдугаар сар',
-        'Дөрөвдүгээр сар', 'Тавдугаар сар',
-        'Зургадугаар сар', 'Долдугаар сар',
-        'Наймдугаар сар', 'Есдүгээр сар',
-        'Аравдугаар сар', 'Арван нэгдүгээр сар',
-        'Арван хоёрдугаар сар'],
-      SHORTMONTHS: const ['1-р сар', '2-р сар', '3-р сар',
-        '4-р сар', '5-р сар', '6-р сар', '7-р сар',
-        '8-р сар', '9-р сар', '10-р сар', '11-р сар',
-        '12-р сар'],
-      STANDALONESHORTMONTHS: const ['1-р сар', '2-р сар', '3-р сар',
-        '4-р сар', '5-р сар', '6-р сар', '7-р сар',
-        '8-р сар', '9-р сар', '10-р сар', '11-р сар',
-        '12-р сар'],
-      WEEKDAYS: const ['ням', 'даваа', 'мягмар', 'лхагва',
-        'пүрэв', 'баасан', 'бямба'],
-      STANDALONEWEEKDAYS: const ['ням', 'даваа', 'мягмар',
-        'лхагва', 'пүрэв', 'баасан', 'бямба'],
-      SHORTWEEKDAYS: const ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба',
-        'Бя'],
-      STANDALONESHORTWEEKDAYS: const ['Ня', 'Да', 'Мя', 'Лх', 'Пү',
-        'Ба', 'Бя'],
+      ERANAMES: const ['манай эриний өмнөх', 'манай эриний'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'Нэгдүгээр сар',
+    'Хоёрдугаар сар',
+    'Гуравдугаар сар',
+    'Дөрөвдүгээр сар',
+    'Тавдугаар сар',
+    'Зургадугаар сар',
+    'Долдугаар сар',
+    'Наймдугаар сар',
+    'Есдүгээр сар',
+    'Аравдугаар сар',
+    'Арван нэгдүгээр сар',
+    'Арван хоёрдугаар сар'
+  ],
+      STANDALONEMONTHS: const [
+    'Нэгдүгээр сар',
+    'Хоёрдугаар сар',
+    'Гуравдугаар сар',
+    'Дөрөвдүгээр сар',
+    'Тавдугаар сар',
+    'Зургадугаар сар',
+    'Долдугаар сар',
+    'Наймдугаар сар',
+    'Есдүгээр сар',
+    'Аравдугаар сар',
+    'Арван нэгдүгээр сар',
+    'Арван хоёрдугаар сар'
+  ],
+      SHORTMONTHS: const [
+    '1-р сар',
+    '2-р сар',
+    '3-р сар',
+    '4-р сар',
+    '5-р сар',
+    '6-р сар',
+    '7-р сар',
+    '8-р сар',
+    '9-р сар',
+    '10-р сар',
+    '11-р сар',
+    '12-р сар'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1-р сар',
+    '2-р сар',
+    '3-р сар',
+    '4-р сар',
+    '5-р сар',
+    '6-р сар',
+    '7-р сар',
+    '8-р сар',
+    '9-р сар',
+    '10-р сар',
+    '11-р сар',
+    '12-р сар'
+  ],
+      WEEKDAYS: const [
+    'ням',
+    'даваа',
+    'мягмар',
+    'лхагва',
+    'пүрэв',
+    'баасан',
+    'бямба'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ням',
+    'даваа',
+    'мягмар',
+    'лхагва',
+    'пүрэв',
+    'баасан',
+    'бямба'
+  ],
+      SHORTWEEKDAYS: const ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],
+      STANDALONESHORTWEEKDAYS: const ['Ня', 'Да', 'Мя', 'Лх', 'Пү', 'Ба', 'Бя'],
       NARROWWEEKDAYS: const ['1', '2', '3', '4', '5', '6', '7'],
       STANDALONENARROWWEEKDAYS: const ['1', '2', '3', '4', '5', '6', '7'],
       SHORTQUARTERS: const ['У1', 'У2', 'У3', 'У4'],
-      QUARTERS: const ['1-р улирал', '2-р улирал',
-        '3-р улирал', '4-р улирал'],
+      QUARTERS: const ['1-р улирал', '2-р улирал', '3-р улирал', '4-р улирал'],
       AMPMS: const ['ҮӨ', 'ҮХ'],
-      DATEFORMATS: const ['EEEE, y \'оны\' MMMM \'сарын\' dd',
-        'y \'оны\' MMMM \'сарын\' d', 'y MMM d', 'y-MM-dd'],
+      DATEFORMATS: const [
+    'EEEE, y \'оны\' MMMM \'сарын\' dd',
+    'y \'оны\' MMMM \'сарын\' d',
+    'y MMM d',
+    'y-MM-dd'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -2868,95 +8882,287 @@
   /**
    * Date/time formatting symbols for locale mr.
    */
-  "mr" : new DateSymbols(
+  "mr": new DateSymbols(
       NAME: "mr",
       ERAS: const ['ईसापूर्व', 'सन'],
-      ERANAMES: const ['ईसवीसनपूर्व',
-        'ईसवीसन'],
-      NARROWMONTHS: const ['जा', 'फे', 'मा', 'ए', 'मे',
-        'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'],
-      STANDALONENARROWMONTHS: const ['जा', 'फे', 'मा', 'ए',
-        'मे', 'जू', 'जु', 'ऑ', 'स', 'ऑ', 'नो', 'डि'],
-      MONTHS: const ['जानेवारी',
-        'फेब्रुवारी', 'मार्च',
-        'एप्रिल', 'मे', 'जून', 'जुलै',
-        'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर',
-        'नोव्हेंबर', 'डिसेंबर'],
-      STANDALONEMONTHS: const ['जानेवारी',
-        'फेब्रुवारी', 'मार्च',
-        'एप्रिल', 'मे', 'जून', 'जुलै',
-        'ऑगस्ट', 'सप्टेंबर', 'ऑक्टोबर',
-        'नोव्हेंबर', 'डिसेंबर'],
-      SHORTMONTHS: const ['जाने', 'फेब्रु',
-        'मार्च', 'एप्रि', 'मे', 'जून',
-        'जुलै', 'ऑग', 'सप्टें', 'ऑक्टो',
-        'नोव्हें', 'डिसें'],
-      STANDALONESHORTMONTHS: const ['जाने', 'फेब्रु',
-        'मार्च', 'एप्रि', 'मे', 'जून',
-        'जुलै', 'ऑग', 'सप्टें', 'ऑक्टो',
-        'नोव्हें', 'डिसें'],
-      WEEKDAYS: const ['रविवार', 'सोमवार',
-        'मंगळवार', 'बुधवार', 'गुरुवार',
-        'शुक्रवार', 'शनिवार'],
-      STANDALONEWEEKDAYS: const ['रविवार', 'सोमवार',
-        'मंगळवार', 'बुधवार', 'गुरुवार',
-        'शुक्रवार', 'शनिवार'],
-      SHORTWEEKDAYS: const ['रवि', 'सोम', 'मंगळ',
-        'बुध', 'गुरु', 'शुक्र', 'शनि'],
-      STANDALONESHORTWEEKDAYS: const ['रवि', 'सोम', 'मंगळ',
-        'बुध', 'गुरु', 'शुक्र', 'शनि'],
-      NARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु',
-        'शु', 'श'],
-      STANDALONENARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु',
-        'गु', 'शु', 'श'],
+      ERANAMES: const ['ईसवीसनपूर्व', 'ईसवीसन'],
+      NARROWMONTHS: const [
+    'जा',
+    'फे',
+    'मा',
+    'ए',
+    'मे',
+    'जू',
+    'जु',
+    'ऑ',
+    'स',
+    'ऑ',
+    'नो',
+    'डि'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'जा',
+    'फे',
+    'मा',
+    'ए',
+    'मे',
+    'जू',
+    'जु',
+    'ऑ',
+    'स',
+    'ऑ',
+    'नो',
+    'डि'
+  ],
+      MONTHS: const [
+    'जानेवारी',
+    'फेब्रुवारी',
+    'मार्च',
+    'एप्रिल',
+    'मे',
+    'जून',
+    'जुलै',
+    'ऑगस्ट',
+    'सप्टेंबर',
+    'ऑक्टोबर',
+    'नोव्हेंबर',
+    'डिसेंबर'
+  ],
+      STANDALONEMONTHS: const [
+    'जानेवारी',
+    'फेब्रुवारी',
+    'मार्च',
+    'एप्रिल',
+    'मे',
+    'जून',
+    'जुलै',
+    'ऑगस्ट',
+    'सप्टेंबर',
+    'ऑक्टोबर',
+    'नोव्हेंबर',
+    'डिसेंबर'
+  ],
+      SHORTMONTHS: const [
+    'जाने',
+    'फेब्रु',
+    'मार्च',
+    'एप्रि',
+    'मे',
+    'जून',
+    'जुलै',
+    'ऑग',
+    'सप्टें',
+    'ऑक्टो',
+    'नोव्हें',
+    'डिसें'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'जाने',
+    'फेब्रु',
+    'मार्च',
+    'एप्रि',
+    'मे',
+    'जून',
+    'जुलै',
+    'ऑग',
+    'सप्टें',
+    'ऑक्टो',
+    'नोव्हें',
+    'डिसें'
+  ],
+      WEEKDAYS: const [
+    'रविवार',
+    'सोमवार',
+    'मंगळवार',
+    'बुधवार',
+    'गुरुवार',
+    'शुक्रवार',
+    'शनिवार'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'रविवार',
+    'सोमवार',
+    'मंगळवार',
+    'बुधवार',
+    'गुरुवार',
+    'शुक्रवार',
+    'शनिवार'
+  ],
+      SHORTWEEKDAYS: const [
+    'रवि',
+    'सोम',
+    'मंगळ',
+    'बुध',
+    'गुरु',
+    'शुक्र',
+    'शनि'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'रवि',
+    'सोम',
+    'मंगळ',
+    'बुध',
+    'गुरु',
+    'शुक्र',
+    'शनि'
+  ],
+      NARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
+      STANDALONENARROWWEEKDAYS: const ['र', 'सो', 'मं', 'बु', 'गु', 'शु', 'श'],
       SHORTQUARTERS: const ['ति1', 'ति2', 'ति3', 'ति4'],
-      QUARTERS: const ['प्रथम तिमाही',
-        'द्वितीय तिमाही',
-        'तृतीय तिमाही',
-        'चतुर्थ तिमाही'],
+      QUARTERS: const [
+    'प्रथम तिमाही',
+    'द्वितीय तिमाही',
+    'तृतीय तिमाही',
+    'चतुर्थ तिमाही'
+  ],
       AMPMS: const ['[AM]', '[PM]'],
       DATEFORMATS: const ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'रोजी\' {0}',
-        '{1} \'रोजी\' {0}', '{1}, {0}', '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'रोजी\' {0}',
+    '{1} \'रोजी\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale ms.
    */
-  "ms" : new DateSymbols(
+  "ms": new DateSymbols(
       NAME: "ms",
       ERAS: const ['S.M.', 'TM'],
       ERANAMES: const ['S.M.', 'TM'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun',
-        'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'],
-      STANDALONEMONTHS: const ['Januari', 'Februari', 'Mac', 'April', 'Mei',
-        'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul',
-        'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun',
-        'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'],
-      WEEKDAYS: const ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat',
-        'Sabtu'],
-      STANDALONEWEEKDAYS: const ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis',
-        'Jumaat', 'Sabtu'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'O',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'O',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januari',
+    'Februari',
+    'Mac',
+    'April',
+    'Mei',
+    'Jun',
+    'Julai',
+    'Ogos',
+    'September',
+    'Oktober',
+    'November',
+    'Disember'
+  ],
+      STANDALONEMONTHS: const [
+    'Januari',
+    'Februari',
+    'Mac',
+    'April',
+    'Mei',
+    'Jun',
+    'Julai',
+    'Ogos',
+    'September',
+    'Oktober',
+    'November',
+    'Disember'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mac',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Ogo',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dis'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mac',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Ogo',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dis'
+  ],
+      WEEKDAYS: const [
+    'Ahad',
+    'Isnin',
+    'Selasa',
+    'Rabu',
+    'Khamis',
+    'Jumaat',
+    'Sabtu'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Ahad',
+    'Isnin',
+    'Selasa',
+    'Rabu',
+    'Khamis',
+    'Jumaat',
+    'Sabtu'
+  ],
       SHORTWEEKDAYS: const ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
-      STANDALONESHORTWEEKDAYS: const ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum',
-        'Sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Ahd',
+    'Isn',
+    'Sel',
+    'Rab',
+    'Kha',
+    'Jum',
+    'Sab'
+  ],
       NARROWWEEKDAYS: const ['A', 'I', 'S', 'R', 'K', 'J', 'S'],
       STANDALONENARROWWEEKDAYS: const ['A', 'I', 'S', 'R', 'K', 'J', 'S'],
       SHORTQUARTERS: const ['S1', 'S2', 'S3', 'S4'],
       QUARTERS: const ['Suku pertama', 'Suku Ke-2', 'Suku Ke-3', 'Suku Ke-4'],
       AMPMS: const ['PG', 'PTG'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/MM/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -2964,37 +9170,133 @@
   /**
    * Date/time formatting symbols for locale mt.
    */
-  "mt" : new DateSymbols(
+  "mt": new DateSymbols(
       NAME: "mt",
       ERAS: const ['QK', 'WK'],
       ERANAMES: const ['Qabel Kristu', 'Wara Kristu'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'Ġ', 'L', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ġunju',
-        'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'Diċembru'],
-      STANDALONEMONTHS: const ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju',
-        'Ġunju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru',
-        'Diċembru'],
-      SHORTMONTHS: const ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun', 'Lul',
-        'Aww', 'Set', 'Ott', 'Nov', 'Diċ'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ġun',
-        'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'Diċ'],
-      WEEKDAYS: const ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa',
-        'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'],
-      STANDALONEWEEKDAYS: const ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta',
-        'L-Erbgħa', 'Il-Ħamis', 'Il-Ġimgħa', 'Is-Sibt'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'Ġ',
+    'L',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'Ġ',
+    'L',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Jannar',
+    'Frar',
+    'Marzu',
+    'April',
+    'Mejju',
+    'Ġunju',
+    'Lulju',
+    'Awwissu',
+    'Settembru',
+    'Ottubru',
+    'Novembru',
+    'Diċembru'
+  ],
+      STANDALONEMONTHS: const [
+    'Jannar',
+    'Frar',
+    'Marzu',
+    'April',
+    'Mejju',
+    'Ġunju',
+    'Lulju',
+    'Awwissu',
+    'Settembru',
+    'Ottubru',
+    'Novembru',
+    'Diċembru'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Fra',
+    'Mar',
+    'Apr',
+    'Mej',
+    'Ġun',
+    'Lul',
+    'Aww',
+    'Set',
+    'Ott',
+    'Nov',
+    'Diċ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Fra',
+    'Mar',
+    'Apr',
+    'Mej',
+    'Ġun',
+    'Lul',
+    'Aww',
+    'Set',
+    'Ott',
+    'Nov',
+    'Diċ'
+  ],
+      WEEKDAYS: const [
+    'Il-Ħadd',
+    'It-Tnejn',
+    'It-Tlieta',
+    'L-Erbgħa',
+    'Il-Ħamis',
+    'Il-Ġimgħa',
+    'Is-Sibt'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Il-Ħadd',
+    'It-Tnejn',
+    'It-Tlieta',
+    'L-Erbgħa',
+    'Il-Ħamis',
+    'Il-Ġimgħa',
+    'Is-Sibt'
+  ],
       SHORTWEEKDAYS: const ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ġim', 'Sib'],
-      STANDALONESHORTWEEKDAYS: const ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam',
-        'Ġim', 'Sib'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Ħad',
+    'Tne',
+    'Tli',
+    'Erb',
+    'Ħam',
+    'Ġim',
+    'Sib'
+  ],
       NARROWWEEKDAYS: const ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'],
       STANDALONENARROWWEEKDAYS: const ['Ħ', 'T', 'T', 'E', 'Ħ', 'Ġ', 'S'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       AMPMS: const ['QN', 'WN'],
-      DATEFORMATS: const ['EEEE, d \'ta\'’ MMMM y', 'd \'ta\'’ MMMM y',
-        'dd MMM y', 'dd/MM/y'],
+      DATEFORMATS: const [
+    'EEEE, d \'ta\'’ MMMM y',
+    'd \'ta\'’ MMMM y',
+    'dd MMM y',
+    'dd/MM/y'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -3003,167 +9305,436 @@
   /**
    * Date/time formatting symbols for locale my.
    */
-  "my" : new DateSymbols(
+  "my": new DateSymbols(
       NAME: "my",
       ERAS: const ['ဘီစီ', 'အေဒီ'],
-      ERANAMES: const [
-        'ခရစ်တော် မပေါ်မီကာလ',
-        'ခရစ်တော် ပေါ်ထွန်းပြီးကာလ'],
-      NARROWMONTHS: const ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ', 'ဇ',
-        'ဩ', 'စ', 'အ', 'န', 'ဒ'],
-      STANDALONENARROWMONTHS: const ['ဇ', 'ဖ', 'မ', 'ဧ', 'မ', 'ဇ',
-        'ဇ', 'ဩ', 'စ', 'အ', 'န', 'ဒ'],
-      MONTHS: const ['ဇန်နဝါရီ',
-        'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ',
-        'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်',
-        'စက်တင်ဘာ', 'အောက်တိုဘာ',
-        'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'],
-      STANDALONEMONTHS: const ['ဇန်နဝါရီ',
-        'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ',
-        'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်',
-        'စက်တင်ဘာ', 'အောက်တိုဘာ',
-        'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'],
-      SHORTMONTHS: const ['ဇန်နဝါရီ',
-        'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ',
-        'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်',
-        'စက်တင်ဘာ', 'အောက်တိုဘာ',
-        'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'],
-      STANDALONESHORTMONTHS: const ['ဇန်နဝါရီ',
-        'ဖေဖော်ဝါရီ', 'မတ်', 'ဧပြီ', 'မေ',
-        'ဇွန်', 'ဇူလိုင်', 'ဩဂုတ်',
-        'စက်တင်ဘာ', 'အောက်တိုဘာ',
-        'နိုဝင်ဘာ', 'ဒီဇင်ဘာ'],
-      WEEKDAYS: const ['တနင်္ဂနွေ', 'တနင်္လာ',
-        'အင်္ဂါ', 'ဗုဒ္ဓဟူး',
-        'ကြာသပတေး', 'သောကြာ', 'စနေ'],
-      STANDALONEWEEKDAYS: const ['တနင်္ဂနွေ',
-        'တနင်္လာ', 'အင်္ဂါ',
-        'ဗုဒ္ဓဟူး', 'ကြာသပတေး',
-        'သောကြာ', 'စနေ'],
-      SHORTWEEKDAYS: const ['တနင်္ဂနွေ',
-        'တနင်္လာ', 'အင်္ဂါ',
-        'ဗုဒ္ဓဟူး', 'ကြာသပတေး',
-        'သောကြာ', 'စနေ'],
-      STANDALONESHORTWEEKDAYS: const ['တနင်္ဂနွေ',
-        'တနင်္လာ', 'အင်္ဂါ',
-        'ဗုဒ္ဓဟူး', 'ကြာသပတေး',
-        'သောကြာ', 'စနေ'],
+      ERANAMES: const ['ခရစ်တော် မပေါ်မီကာလ', 'ခရစ်တော် ပေါ်ထွန်းပြီးကာလ'],
+      NARROWMONTHS: const [
+    'ဇ',
+    'ဖ',
+    'မ',
+    'ဧ',
+    'မ',
+    'ဇ',
+    'ဇ',
+    'ဩ',
+    'စ',
+    'အ',
+    'န',
+    'ဒ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ဇ',
+    'ဖ',
+    'မ',
+    'ဧ',
+    'မ',
+    'ဇ',
+    'ဇ',
+    'ဩ',
+    'စ',
+    'အ',
+    'န',
+    'ဒ'
+  ],
+      MONTHS: const [
+    'ဇန်နဝါရီ',
+    'ဖေဖော်ဝါရီ',
+    'မတ်',
+    'ဧပြီ',
+    'မေ',
+    'ဇွန်',
+    'ဇူလိုင်',
+    'ဩဂုတ်',
+    'စက်တင်ဘာ',
+    'အောက်တိုဘာ',
+    'နိုဝင်ဘာ',
+    'ဒီဇင်ဘာ'
+  ],
+      STANDALONEMONTHS: const [
+    'ဇန်နဝါရီ',
+    'ဖေဖော်ဝါရီ',
+    'မတ်',
+    'ဧပြီ',
+    'မေ',
+    'ဇွန်',
+    'ဇူလိုင်',
+    'ဩဂုတ်',
+    'စက်တင်ဘာ',
+    'အောက်တိုဘာ',
+    'နိုဝင်ဘာ',
+    'ဒီဇင်ဘာ'
+  ],
+      SHORTMONTHS: const [
+    'ဇန်နဝါရီ',
+    'ဖေဖော်ဝါရီ',
+    'မတ်',
+    'ဧပြီ',
+    'မေ',
+    'ဇွန်',
+    'ဇူလိုင်',
+    'ဩဂုတ်',
+    'စက်တင်ဘာ',
+    'အောက်တိုဘာ',
+    'နိုဝင်ဘာ',
+    'ဒီဇင်ဘာ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ဇန်နဝါရီ',
+    'ဖေဖော်ဝါရီ',
+    'မတ်',
+    'ဧပြီ',
+    'မေ',
+    'ဇွန်',
+    'ဇူလိုင်',
+    'ဩဂုတ်',
+    'စက်တင်ဘာ',
+    'အောက်တိုဘာ',
+    'နိုဝင်ဘာ',
+    'ဒီဇင်ဘာ'
+  ],
+      WEEKDAYS: const [
+    'တနင်္ဂနွေ',
+    'တနင်္လာ',
+    'အင်္ဂါ',
+    'ဗုဒ္ဓဟူး',
+    'ကြာသပတေး',
+    'သောကြာ',
+    'စနေ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'တနင်္ဂနွေ',
+    'တနင်္လာ',
+    'အင်္ဂါ',
+    'ဗုဒ္ဓဟူး',
+    'ကြာသပတေး',
+    'သောကြာ',
+    'စနေ'
+  ],
+      SHORTWEEKDAYS: const [
+    'တနင်္ဂနွေ',
+    'တနင်္လာ',
+    'အင်္ဂါ',
+    'ဗုဒ္ဓဟူး',
+    'ကြာသပတေး',
+    'သောကြာ',
+    'စနေ'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'တနင်္ဂနွေ',
+    'တနင်္လာ',
+    'အင်္ဂါ',
+    'ဗုဒ္ဓဟူး',
+    'ကြာသပတေး',
+    'သောကြာ',
+    'စနေ'
+  ],
       NARROWWEEKDAYS: const ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'],
-      STANDALONENARROWWEEKDAYS: const ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ',
-        'စ'],
-      SHORTQUARTERS: const ['ပထမ သုံးလပတ်',
-        'ဒုတိယ သုံးလပတ်',
-        'တတိယ သုံးလပတ်',
-        'စတုတ္ထ သုံးလပတ်'],
-      QUARTERS: const ['ပထမ သုံးလပတ်',
-        'ဒုတိယ သုံးလပတ်',
-        'တတိယ သုံးလပတ်',
-        'စတုတ္ထ သုံးလပတ်'],
+      STANDALONENARROWWEEKDAYS: const ['တ', 'တ', 'အ', 'ဗ', 'က', 'သ', 'စ'],
+      SHORTQUARTERS: const [
+    'ပထမ သုံးလပတ်',
+    'ဒုတိယ သုံးလပတ်',
+    'တတိယ သုံးလပတ်',
+    'စတုတ္ထ သုံးလပတ်'
+  ],
+      QUARTERS: const [
+    'ပထမ သုံးလပတ်',
+    'ဒုတိယ သုံးလပတ်',
+    'တတိယ သုံးလပတ်',
+    'စတုတ္ထ သုံးလပတ်'
+  ],
       AMPMS: const ['နံနက်', 'ညနေ'],
       DATEFORMATS: const ['EEEE, y MMMM dd', 'y MMMM d', 'y MMM d', 'yy/MM/dd'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1}မှာ {0}', '{1} {0}', '{1} {0}',
-        '{1} {0}'],
+      DATETIMEFORMATS: const ['{1}မှာ {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale nb.
    */
-  "nb" : new DateSymbols(
+  "nb": new DateSymbols(
       NAME: "nb",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['f.Kr.', 'e.Kr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januar', 'februar', 'mars', 'april', 'mai', 'juni',
-        'juli', 'august', 'september', 'oktober', 'november', 'desember'],
-      STANDALONEMONTHS: const ['januar', 'februar', 'mars', 'april', 'mai',
-        'juni', 'juli', 'august', 'september', 'oktober', 'november',
-        'desember'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.',
-        'aug.', 'sep.', 'okt.', 'nov.', 'des.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'mai', 'jun',
-        'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
-      WEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag',
-        'fredag', 'lørdag'],
-      STANDALONEWEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag',
-        'torsdag', 'fredag', 'lørdag'],
-      SHORTWEEKDAYS: const ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.',
-        'lør.'],
-      STANDALONESHORTWEEKDAYS: const ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.',
-        'lø.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      STANDALONEMONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'mai',
+    'jun.',
+    'jul.',
+    'aug.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'des.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'mai',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'des'
+  ],
+      WEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      SHORTWEEKDAYS: const [
+    'søn.',
+    'man.',
+    'tir.',
+    'ons.',
+    'tor.',
+    'fre.',
+    'lør.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'sø.',
+    'ma.',
+    'ti.',
+    'on.',
+    'to.',
+    'fr.',
+    'lø.'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['a.m.', 'p.m.'],
-      DATEFORMATS: const ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE d. MMMM y',
+    'd. MMMM y',
+    'd. MMM y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
-      DATETIMEFORMATS: const ['{1} {0}', '{1} \'kl.\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} {0}',
+    '{1} \'kl.\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale ne.
    */
-  "ne" : new DateSymbols(
+  "ne": new DateSymbols(
       NAME: "ne",
       ERAS: const ['ईसा पूर्व', 'सन्'],
       ERANAMES: const ['ईसा पूर्व', 'सन्'],
-      NARROWMONTHS: const ['१', '२', '३', '४', '५', '६', '७',
-        '८', '९', '१०', '११', '१२'],
-      STANDALONENARROWMONTHS: const ['१', '२', '३', '४', '५', '६',
-        '७', '८', '९', '१०', '११', '१२'],
-      MONTHS: const ['जनवरी', 'फेब्रुअरी',
-        'मार्च', 'अप्रिल', 'मे', 'जुन',
-        'जुलाई', 'अगस्ट', 'सेप्टेम्बर',
-        'अक्टोबर', 'नोभेम्बर',
-        'डिसेम्बर'],
-      STANDALONEMONTHS: const ['जनवरी', 'फेब्रुअरी',
-        'मार्च', 'अप्रिल', 'मे', 'जुन',
-        'जुलाई', 'अगस्ट', 'सेप्टेम्बर',
-        'अक्टोबर', 'नोभेम्बर',
-        'डिसेम्बर'],
-      SHORTMONTHS: const ['जनवरी', 'फेब्रुअरी',
-        'मार्च', 'अप्रिल', 'मे', 'जुन',
-        'जुलाई', 'अगस्ट', 'सेप्टेम्बर',
-        'अक्टोबर', 'नोभेम्बर',
-        'डिसेम्बर'],
-      STANDALONESHORTMONTHS: const ['जनवरी',
-        'फेब्रुअरी', 'मार्च', 'अप्रिल',
-        'मे', 'जुन', 'जुलाई', 'अगस्ट',
-        'सेप्टेम्बर', 'अक्टोबर',
-        'नोभेम्बर', 'डिसेम्बर'],
-      WEEKDAYS: const ['आइतबार', 'सोमबार',
-        'मङ्गलबार', 'बुधबार',
-        'बिहीबार', 'शुक्रबार',
-        'शनिबार'],
-      STANDALONEWEEKDAYS: const ['आइतबार', 'सोमबार',
-        'मङ्गलबार', 'बुधबार',
-        'बिहीबार', 'शुक्रबार',
-        'शनिबार'],
-      SHORTWEEKDAYS: const ['आइत', 'सोम', 'मङ्गल',
-        'बुध', 'बिही', 'शुक्र', 'शनि'],
-      STANDALONESHORTWEEKDAYS: const ['आइत', 'सोम',
-        'मङ्गल', 'बुध', 'बिही', 'शुक्र',
-        'शनि'],
-      NARROWWEEKDAYS: const ['आ', 'सो', 'म', 'बु', 'बि',
-        'शु', 'श'],
-      STANDALONENARROWWEEKDAYS: const ['आ', 'सो', 'म', 'बु',
-        'बि', 'शु', 'श'],
-      SHORTQUARTERS: const ['पहिलो सत्र',
-        'दोस्रो सत्र', 'तेस्रो सत्र',
-        'चौथो सत्र'],
-      QUARTERS: const ['पहिलो सत्र',
-        'दोस्रो सत्र', 'तेस्रो सत्र',
-        'चौथो सत्र'],
-      AMPMS: const ['पूर्व मध्यान्ह',
-        'उत्तर मध्यान्ह'],
+      NARROWMONTHS: const [
+    '१',
+    '२',
+    '३',
+    '४',
+    '५',
+    '६',
+    '७',
+    '८',
+    '९',
+    '१०',
+    '११',
+    '१२'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '१',
+    '२',
+    '३',
+    '४',
+    '५',
+    '६',
+    '७',
+    '८',
+    '९',
+    '१०',
+    '११',
+    '१२'
+  ],
+      MONTHS: const [
+    'जनवरी',
+    'फेब्रुअरी',
+    'मार्च',
+    'अप्रिल',
+    'मे',
+    'जुन',
+    'जुलाई',
+    'अगस्ट',
+    'सेप्टेम्बर',
+    'अक्टोबर',
+    'नोभेम्बर',
+    'डिसेम्बर'
+  ],
+      STANDALONEMONTHS: const [
+    'जनवरी',
+    'फेब्रुअरी',
+    'मार्च',
+    'अप्रिल',
+    'मे',
+    'जुन',
+    'जुलाई',
+    'अगस्ट',
+    'सेप्टेम्बर',
+    'अक्टोबर',
+    'नोभेम्बर',
+    'डिसेम्बर'
+  ],
+      SHORTMONTHS: const [
+    'जनवरी',
+    'फेब्रुअरी',
+    'मार्च',
+    'अप्रिल',
+    'मे',
+    'जुन',
+    'जुलाई',
+    'अगस्ट',
+    'सेप्टेम्बर',
+    'अक्टोबर',
+    'नोभेम्बर',
+    'डिसेम्बर'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'जनवरी',
+    'फेब्रुअरी',
+    'मार्च',
+    'अप्रिल',
+    'मे',
+    'जुन',
+    'जुलाई',
+    'अगस्ट',
+    'सेप्टेम्बर',
+    'अक्टोबर',
+    'नोभेम्बर',
+    'डिसेम्बर'
+  ],
+      WEEKDAYS: const [
+    'आइतबार',
+    'सोमबार',
+    'मङ्गलबार',
+    'बुधबार',
+    'बिहीबार',
+    'शुक्रबार',
+    'शनिबार'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'आइतबार',
+    'सोमबार',
+    'मङ्गलबार',
+    'बुधबार',
+    'बिहीबार',
+    'शुक्रबार',
+    'शनिबार'
+  ],
+      SHORTWEEKDAYS: const [
+    'आइत',
+    'सोम',
+    'मङ्गल',
+    'बुध',
+    'बिही',
+    'शुक्र',
+    'शनि'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'आइत',
+    'सोम',
+    'मङ्गल',
+    'बुध',
+    'बिही',
+    'शुक्र',
+    'शनि'
+  ],
+      NARROWWEEKDAYS: const ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'],
+      STANDALONENARROWWEEKDAYS: const ['आ', 'सो', 'म', 'बु', 'बि', 'शु', 'श'],
+      SHORTQUARTERS: const [
+    'पहिलो सत्र',
+    'दोस्रो सत्र',
+    'तेस्रो सत्र',
+    'चौथो सत्र'
+  ],
+      QUARTERS: const ['पहिलो सत्र', 'दोस्रो सत्र', 'तेस्रो सत्र', 'चौथो सत्र'],
+      AMPMS: const ['पूर्व मध्यान्ह', 'उत्तर मध्यान्ह'],
       DATEFORMATS: const ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1}, {0}', '{1}, {0}'],
@@ -3173,34 +9744,123 @@
   /**
    * Date/time formatting symbols for locale nl.
    */
-  "nl" : new DateSymbols(
+  "nl": new DateSymbols(
       NAME: "nl",
       ERAS: const ['v.Chr.', 'n.Chr.'],
       ERANAMES: const ['Voor Christus', 'na Christus'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
-        'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
-      STANDALONEMONTHS: const ['januari', 'februari', 'maart', 'april', 'mei',
-        'juni', 'juli', 'augustus', 'september', 'oktober', 'november',
-        'december'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mrt.', 'apr.', 'mei', 'jun.', 'jul.',
-        'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun',
-        'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
-      WEEKDAYS: const ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag',
-        'vrijdag', 'zaterdag'],
-      STANDALONEWEEKDAYS: const ['zondag', 'maandag', 'dinsdag', 'woensdag',
-        'donderdag', 'vrijdag', 'zaterdag'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januari',
+    'februari',
+    'maart',
+    'april',
+    'mei',
+    'juni',
+    'juli',
+    'augustus',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      STANDALONEMONTHS: const [
+    'januari',
+    'februari',
+    'maart',
+    'april',
+    'mei',
+    'juni',
+    'juli',
+    'augustus',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mrt.',
+    'apr.',
+    'mei',
+    'jun.',
+    'jul.',
+    'aug.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mrt',
+    'apr',
+    'mei',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      WEEKDAYS: const [
+    'zondag',
+    'maandag',
+    'dinsdag',
+    'woensdag',
+    'donderdag',
+    'vrijdag',
+    'zaterdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'zondag',
+    'maandag',
+    'dinsdag',
+    'woensdag',
+    'donderdag',
+    'vrijdag',
+    'zaterdag'
+  ],
       SHORTWEEKDAYS: const ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
       STANDALONESHORTWEEKDAYS: const ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
       NARROWWEEKDAYS: const ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'],
       STANDALONENARROWWEEKDAYS: const ['Z', 'M', 'D', 'W', 'D', 'V', 'Z'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['1e kwartaal', '2e kwartaal', '3e kwartaal',
-        '4e kwartaal'],
+      QUARTERS: const [
+    '1e kwartaal',
+    '2e kwartaal',
+    '3e kwartaal',
+    '4e kwartaal'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'dd-MM-yy'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -3211,41 +9871,148 @@
   /**
    * Date/time formatting symbols for locale no.
    */
-  "no" : new DateSymbols(
+  "no": new DateSymbols(
       NAME: "no",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['f.Kr.', 'e.Kr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januar', 'februar', 'mars', 'april', 'mai', 'juni',
-        'juli', 'august', 'september', 'oktober', 'november', 'desember'],
-      STANDALONEMONTHS: const ['januar', 'februar', 'mars', 'april', 'mai',
-        'juni', 'juli', 'august', 'september', 'oktober', 'november',
-        'desember'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.',
-        'aug.', 'sep.', 'okt.', 'nov.', 'des.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'mai', 'jun',
-        'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
-      WEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag',
-        'fredag', 'lørdag'],
-      STANDALONEWEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag',
-        'torsdag', 'fredag', 'lørdag'],
-      SHORTWEEKDAYS: const ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.',
-        'lør.'],
-      STANDALONESHORTWEEKDAYS: const ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.',
-        'lø.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      STANDALONEMONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'mai',
+    'jun.',
+    'jul.',
+    'aug.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'des.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'mai',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'des'
+  ],
+      WEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      SHORTWEEKDAYS: const [
+    'søn.',
+    'man.',
+    'tir.',
+    'ons.',
+    'tor.',
+    'fre.',
+    'lør.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'sø.',
+    'ma.',
+    'ti.',
+    'on.',
+    'to.',
+    'fr.',
+    'lø.'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['a.m.', 'p.m.'],
-      DATEFORMATS: const ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE d. MMMM y',
+    'd. MMMM y',
+    'd. MMM y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
-      DATETIMEFORMATS: const ['{1} {0}', '{1} \'kl.\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} {0}',
+    '{1} \'kl.\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
@@ -3255,101 +10022,290 @@
   /**
    * Date/time formatting symbols for locale no_NO.
    */
-  "no_NO" : new DateSymbols(
+  "no_NO": new DateSymbols(
       NAME: "no_NO",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['f.Kr.', 'e.Kr.'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januar', 'februar', 'mars', 'april', 'mai', 'juni',
-        'juli', 'august', 'september', 'oktober', 'november', 'desember'],
-      STANDALONEMONTHS: const ['januar', 'februar', 'mars', 'april', 'mai',
-        'juni', 'juli', 'august', 'september', 'oktober', 'november',
-        'desember'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'mai', 'jun.', 'jul.',
-        'aug.', 'sep.', 'okt.', 'nov.', 'des.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'mai', 'jun',
-        'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
-      WEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag',
-        'fredag', 'lørdag'],
-      STANDALONEWEEKDAYS: const ['søndag', 'mandag', 'tirsdag', 'onsdag',
-        'torsdag', 'fredag', 'lørdag'],
-      SHORTWEEKDAYS: const ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.',
-        'lør.'],
-      STANDALONESHORTWEEKDAYS: const ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.',
-        'lø.'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      STANDALONEMONTHS: const [
+    'januar',
+    'februar',
+    'mars',
+    'april',
+    'mai',
+    'juni',
+    'juli',
+    'august',
+    'september',
+    'oktober',
+    'november',
+    'desember'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'mai',
+    'jun.',
+    'jul.',
+    'aug.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'des.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'mai',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'des'
+  ],
+      WEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'søndag',
+    'mandag',
+    'tirsdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lørdag'
+  ],
+      SHORTWEEKDAYS: const [
+    'søn.',
+    'man.',
+    'tir.',
+    'ons.',
+    'tor.',
+    'fre.',
+    'lør.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'sø.',
+    'ma.',
+    'ti.',
+    'on.',
+    'to.',
+    'fr.',
+    'lø.'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
       QUARTERS: const ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'],
       AMPMS: const ['a.m.', 'p.m.'],
-      DATEFORMATS: const ['EEEE d. MMMM y', 'd. MMMM y', 'd. MMM y',
-        'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE d. MMMM y',
+    'd. MMMM y',
+    'd. MMM y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
-      DATETIMEFORMATS: const ['{1} {0}', '{1} \'kl.\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} {0}',
+    '{1} \'kl.\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale or.
    */
-  "or" : new DateSymbols(
+  "or": new DateSymbols(
       NAME: "or",
       ERAS: const ['BCE', 'CE'],
       ERANAMES: const ['BCE', 'CE'],
-      NARROWMONTHS: const ['ଜା', 'ଫେ', 'ମା', 'ଅ', 'ମେ',
-        'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'],
-      STANDALONENARROWMONTHS: const ['ଜା', 'ଫେ', 'ମା', 'ଅ',
-        'ମେ', 'ଜୁ', 'ଜୁ', 'ଅ', 'ସେ', 'ଅ', 'ନ', 'ଡି'],
-      MONTHS: const ['ଜାନୁଆରୀ', 'ଫେବ୍ରୁୟାରୀ',
-        'ମାର୍ଚ୍ଚ', 'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ',
-        'ଜୁଲାଇ', 'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର',
-        'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର',
-        'ଡିସେମ୍ବର'],
-      STANDALONEMONTHS: const ['ଜାନୁଆରୀ',
-        'ଫେବ୍ରୁୟାରୀ', 'ମାର୍ଚ୍ଚ',
-        'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', 'ଜୁଲାଇ',
-        'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର',
-        'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର',
-        'ଡିସେମ୍ବର'],
-      SHORTMONTHS: const ['ଜାନୁଆରୀ',
-        'ଫେବ୍ରୁୟାରୀ', 'ମାର୍ଚ୍ଚ',
-        'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', 'ଜୁଲାଇ',
-        'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର',
-        'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର',
-        'ଡିସେମ୍ବର'],
-      STANDALONESHORTMONTHS: const ['ଜାନୁଆରୀ',
-        'ଫେବ୍ରୁୟାରୀ', 'ମାର୍ଚ୍ଚ',
-        'ଅପ୍ରେଲ', 'ମେ', 'ଜୁନ', 'ଜୁଲାଇ',
-        'ଅଗଷ୍ଟ', 'ସେପ୍ଟେମ୍ବର',
-        'ଅକ୍ଟୋବର', 'ନଭେମ୍ବର',
-        'ଡିସେମ୍ବର'],
-      WEEKDAYS: const ['ରବିବାର', 'ସୋମବାର',
-        'ମଙ୍ଗଳବାର', 'ବୁଧବାର',
-        'ଗୁରୁବାର', 'ଶୁକ୍ରବାର',
-        'ଶନିବାର'],
-      STANDALONEWEEKDAYS: const ['ରବିବାର', 'ସୋମବାର',
-        'ମଙ୍ଗଳବାର', 'ବୁଧବାର',
-        'ଗୁରୁବାର', 'ଶୁକ୍ରବାର',
-        'ଶନିବାର'],
-      SHORTWEEKDAYS: const ['ରବି', 'ସୋମ', 'ମଙ୍ଗଳ',
-        'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର', 'ଶନି'],
-      STANDALONESHORTWEEKDAYS: const ['ରବି', 'ସୋମ',
-        'ମଙ୍ଗଳ', 'ବୁଧ', 'ଗୁରୁ', 'ଶୁକ୍ର',
-        'ଶନି'],
-      NARROWWEEKDAYS: const ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ',
-        'ଶୁ', 'ଶ'],
-      STANDALONENARROWWEEKDAYS: const ['ର', 'ସୋ', 'ମ', 'ବୁ',
-        'ଗୁ', 'ଶୁ', 'ଶ'],
+      NARROWMONTHS: const [
+    'ଜା',
+    'ଫେ',
+    'ମା',
+    'ଅ',
+    'ମେ',
+    'ଜୁ',
+    'ଜୁ',
+    'ଅ',
+    'ସେ',
+    'ଅ',
+    'ନ',
+    'ଡି'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ଜା',
+    'ଫେ',
+    'ମା',
+    'ଅ',
+    'ମେ',
+    'ଜୁ',
+    'ଜୁ',
+    'ଅ',
+    'ସେ',
+    'ଅ',
+    'ନ',
+    'ଡି'
+  ],
+      MONTHS: const [
+    'ଜାନୁଆରୀ',
+    'ଫେବ୍ରୁୟାରୀ',
+    'ମାର୍ଚ୍ଚ',
+    'ଅପ୍ରେଲ',
+    'ମେ',
+    'ଜୁନ',
+    'ଜୁଲାଇ',
+    'ଅଗଷ୍ଟ',
+    'ସେପ୍ଟେମ୍ବର',
+    'ଅକ୍ଟୋବର',
+    'ନଭେମ୍ବର',
+    'ଡିସେମ୍ବର'
+  ],
+      STANDALONEMONTHS: const [
+    'ଜାନୁଆରୀ',
+    'ଫେବ୍ରୁୟାରୀ',
+    'ମାର୍ଚ୍ଚ',
+    'ଅପ୍ରେଲ',
+    'ମେ',
+    'ଜୁନ',
+    'ଜୁଲାଇ',
+    'ଅଗଷ୍ଟ',
+    'ସେପ୍ଟେମ୍ବର',
+    'ଅକ୍ଟୋବର',
+    'ନଭେମ୍ବର',
+    'ଡିସେମ୍ବର'
+  ],
+      SHORTMONTHS: const [
+    'ଜାନୁଆରୀ',
+    'ଫେବ୍ରୁୟାରୀ',
+    'ମାର୍ଚ୍ଚ',
+    'ଅପ୍ରେଲ',
+    'ମେ',
+    'ଜୁନ',
+    'ଜୁଲାଇ',
+    'ଅଗଷ୍ଟ',
+    'ସେପ୍ଟେମ୍ବର',
+    'ଅକ୍ଟୋବର',
+    'ନଭେମ୍ବର',
+    'ଡିସେମ୍ବର'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ଜାନୁଆରୀ',
+    'ଫେବ୍ରୁୟାରୀ',
+    'ମାର୍ଚ୍ଚ',
+    'ଅପ୍ରେଲ',
+    'ମେ',
+    'ଜୁନ',
+    'ଜୁଲାଇ',
+    'ଅଗଷ୍ଟ',
+    'ସେପ୍ଟେମ୍ବର',
+    'ଅକ୍ଟୋବର',
+    'ନଭେମ୍ବର',
+    'ଡିସେମ୍ବର'
+  ],
+      WEEKDAYS: const [
+    'ରବିବାର',
+    'ସୋମବାର',
+    'ମଙ୍ଗଳବାର',
+    'ବୁଧବାର',
+    'ଗୁରୁବାର',
+    'ଶୁକ୍ରବାର',
+    'ଶନିବାର'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ରବିବାର',
+    'ସୋମବାର',
+    'ମଙ୍ଗଳବାର',
+    'ବୁଧବାର',
+    'ଗୁରୁବାର',
+    'ଶୁକ୍ରବାର',
+    'ଶନିବାର'
+  ],
+      SHORTWEEKDAYS: const [
+    'ରବି',
+    'ସୋମ',
+    'ମଙ୍ଗଳ',
+    'ବୁଧ',
+    'ଗୁରୁ',
+    'ଶୁକ୍ର',
+    'ଶନି'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ରବି',
+    'ସୋମ',
+    'ମଙ୍ଗଳ',
+    'ବୁଧ',
+    'ଗୁରୁ',
+    'ଶୁକ୍ର',
+    'ଶନି'
+  ],
+      NARROWWEEKDAYS: const ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'],
+      STANDALONENARROWWEEKDAYS: const ['ର', 'ସୋ', 'ମ', 'ବୁ', 'ଗୁ', 'ଶୁ', 'ଶ'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       AMPMS: const ['am', 'pm'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd-M-yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -3357,52 +10313,150 @@
   /**
    * Date/time formatting symbols for locale pa.
    */
-  "pa" : new DateSymbols(
+  "pa": new DateSymbols(
       NAME: "pa",
       ERAS: const ['ਈ. ਪੂ.', 'ਸੰਨ'],
       ERANAMES: const ['ਈ. ਪੂ.', 'ਸੰਨ'],
-      NARROWMONTHS: const ['ਜ', 'ਫ਼', 'ਮਾ', 'ਅ', 'ਮ', 'ਜੂ',
-        'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'],
-      STANDALONENARROWMONTHS: const ['ਜ', 'ਫ਼', 'ਮਾ', 'ਅ', 'ਮ',
-        'ਜੂ', 'ਜੁ', 'ਅ', 'ਸ', 'ਅ', 'ਨ', 'ਦ'],
-      MONTHS: const ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ',
-        'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ', 'ਜੁਲਾਈ',
-        'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ',
-        'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
-      STANDALONEMONTHS: const ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ',
-        'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ',
-        'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ',
-        'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
-      SHORTMONTHS: const ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ',
-        'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ',
-        'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ',
-        'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
-      STANDALONESHORTMONTHS: const ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ',
-        'ਮਾਰਚ', 'ਅਪ੍ਰੈਲ', 'ਮਈ', 'ਜੂਨ',
-        'ਜੁਲਾਈ', 'ਅਗਸਤ', 'ਸਤੰਬਰ',
-        'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'],
-      WEEKDAYS: const ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ',
-        'ਮੰਗਲਵਾਰ', 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ',
-        'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨੀਵਾਰ'],
-      STANDALONEWEEKDAYS: const ['ਐਤਵਾਰ', 'ਸੋਮਵਾਰ',
-        'ਮੰਗਲਵਾਰ', 'ਬੁਧਵਾਰ', 'ਵੀਰਵਾਰ',
-        'ਸ਼ੁੱਕਰਵਾਰ', 'ਸ਼ਨੀਵਾਰ'],
-      SHORTWEEKDAYS: const ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.',
-        'ਬੁਧ.', 'ਵੀਰ.', 'ਸ਼ੁੱਕਰ.', 'ਸ਼ਨੀ.'],
-      STANDALONESHORTWEEKDAYS: const ['ਐਤ.', 'ਸੋਮ.', 'ਮੰਗਲ.',
-        'ਬੁਧ.', 'ਵੀਰ.', 'ਸ਼ੁੱਕਰ.', 'ਸ਼ਨੀ.'],
-      NARROWWEEKDAYS: const ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ',
-        'ਸ਼ੁੱ', 'ਸ਼'],
-      STANDALONENARROWWEEKDAYS: const ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ',
-        'ਵੀ', 'ਸ਼ੁੱ', 'ਸ਼'],
-      SHORTQUARTERS: const ['ਪਊਆ', 'ਅੱਧਾ', 'ਪੌਣਾ',
-        'ਪੂਰਾ'],
-      QUARTERS: const ['ਪਊਆ', 'ਅੱਧਾ', 'ਪੌਣਾ',
-        'ਪੂਰਾ'],
+      NARROWMONTHS: const [
+    'ਜ',
+    'ਫ਼',
+    'ਮਾ',
+    'ਅ',
+    'ਮ',
+    'ਜੂ',
+    'ਜੁ',
+    'ਅ',
+    'ਸ',
+    'ਅ',
+    'ਨ',
+    'ਦ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ਜ',
+    'ਫ਼',
+    'ਮਾ',
+    'ਅ',
+    'ਮ',
+    'ਜੂ',
+    'ਜੁ',
+    'ਅ',
+    'ਸ',
+    'ਅ',
+    'ਨ',
+    'ਦ'
+  ],
+      MONTHS: const [
+    'ਜਨਵਰੀ',
+    'ਫ਼ਰਵਰੀ',
+    'ਮਾਰਚ',
+    'ਅਪ੍ਰੈਲ',
+    'ਮਈ',
+    'ਜੂਨ',
+    'ਜੁਲਾਈ',
+    'ਅਗਸਤ',
+    'ਸਤੰਬਰ',
+    'ਅਕਤੂਬਰ',
+    'ਨਵੰਬਰ',
+    'ਦਸੰਬਰ'
+  ],
+      STANDALONEMONTHS: const [
+    'ਜਨਵਰੀ',
+    'ਫ਼ਰਵਰੀ',
+    'ਮਾਰਚ',
+    'ਅਪ੍ਰੈਲ',
+    'ਮਈ',
+    'ਜੂਨ',
+    'ਜੁਲਾਈ',
+    'ਅਗਸਤ',
+    'ਸਤੰਬਰ',
+    'ਅਕਤੂਬਰ',
+    'ਨਵੰਬਰ',
+    'ਦਸੰਬਰ'
+  ],
+      SHORTMONTHS: const [
+    'ਜਨਵਰੀ',
+    'ਫ਼ਰਵਰੀ',
+    'ਮਾਰਚ',
+    'ਅਪ੍ਰੈਲ',
+    'ਮਈ',
+    'ਜੂਨ',
+    'ਜੁਲਾਈ',
+    'ਅਗਸਤ',
+    'ਸਤੰਬਰ',
+    'ਅਕਤੂਬਰ',
+    'ਨਵੰਬਰ',
+    'ਦਸੰਬਰ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ਜਨਵਰੀ',
+    'ਫ਼ਰਵਰੀ',
+    'ਮਾਰਚ',
+    'ਅਪ੍ਰੈਲ',
+    'ਮਈ',
+    'ਜੂਨ',
+    'ਜੁਲਾਈ',
+    'ਅਗਸਤ',
+    'ਸਤੰਬਰ',
+    'ਅਕਤੂਬਰ',
+    'ਨਵੰਬਰ',
+    'ਦਸੰਬਰ'
+  ],
+      WEEKDAYS: const [
+    'ਐਤਵਾਰ',
+    'ਸੋਮਵਾਰ',
+    'ਮੰਗਲਵਾਰ',
+    'ਬੁਧਵਾਰ',
+    'ਵੀਰਵਾਰ',
+    'ਸ਼ੁੱਕਰਵਾਰ',
+    'ਸ਼ਨੀਵਾਰ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ਐਤਵਾਰ',
+    'ਸੋਮਵਾਰ',
+    'ਮੰਗਲਵਾਰ',
+    'ਬੁਧਵਾਰ',
+    'ਵੀਰਵਾਰ',
+    'ਸ਼ੁੱਕਰਵਾਰ',
+    'ਸ਼ਨੀਵਾਰ'
+  ],
+      SHORTWEEKDAYS: const [
+    'ਐਤ.',
+    'ਸੋਮ.',
+    'ਮੰਗਲ.',
+    'ਬੁਧ.',
+    'ਵੀਰ.',
+    'ਸ਼ੁੱਕਰ.',
+    'ਸ਼ਨੀ.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ਐਤ.',
+    'ਸੋਮ.',
+    'ਮੰਗਲ.',
+    'ਬੁਧ.',
+    'ਵੀਰ.',
+    'ਸ਼ੁੱਕਰ.',
+    'ਸ਼ਨੀ.'
+  ],
+      NARROWWEEKDAYS: const ['ਐ', 'ਸੋ', 'ਮੰ', 'ਬੁੱ', 'ਵੀ', 'ਸ਼ੁੱ', 'ਸ਼'],
+      STANDALONENARROWWEEKDAYS: const [
+    'ਐ',
+    'ਸੋ',
+    'ਮੰ',
+    'ਬੁੱ',
+    'ਵੀ',
+    'ਸ਼ੁੱ',
+    'ਸ਼'
+  ],
+      SHORTQUARTERS: const ['ਪਊਆ', 'ਅੱਧਾ', 'ਪੌਣਾ', 'ਪੂਰਾ'],
+      QUARTERS: const ['ਪਊਆ', 'ਅੱਧਾ', 'ਪੌਣਾ', 'ਪੂਰਾ'],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -3410,37 +10464,134 @@
   /**
    * Date/time formatting symbols for locale pl.
    */
-  "pl" : new DateSymbols(
+  "pl": new DateSymbols(
       NAME: "pl",
       ERAS: const ['p.n.e.', 'n.e.'],
       ERANAMES: const ['p.n.e.', 'n.e.'],
-      NARROWMONTHS: const ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's', 'w', 'p',
-        'l', 'g'],
-      STANDALONENARROWMONTHS: const ['s', 'l', 'm', 'k', 'm', 'c', 'l', 's',
-        'w', 'p', 'l', 'g'],
-      MONTHS: const ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja',
-        'czerwca', 'lipca', 'sierpnia', 'września', 'października',
-        'listopada', 'grudnia'],
-      STANDALONEMONTHS: const ['styczeń', 'luty', 'marzec', 'kwiecień', 'maj',
-        'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik',
-        'listopad', 'grudzień'],
-      SHORTMONTHS: const ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip',
-        'sie', 'wrz', 'paź', 'lis', 'gru'],
-      STANDALONESHORTMONTHS: const ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze',
-        'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'],
-      WEEKDAYS: const ['niedziela', 'poniedziałek', 'wtorek', 'środa',
-        'czwartek', 'piątek', 'sobota'],
-      STANDALONEWEEKDAYS: const ['niedziela', 'poniedziałek', 'wtorek',
-        'środa', 'czwartek', 'piątek', 'sobota'],
-      SHORTWEEKDAYS: const ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.', 'pt.',
-        'sob.'],
-      STANDALONESHORTWEEKDAYS: const ['niedz.', 'pon.', 'wt.', 'śr.', 'czw.',
-        'pt.', 'sob.'],
+      NARROWMONTHS: const [
+    's',
+    'l',
+    'm',
+    'k',
+    'm',
+    'c',
+    'l',
+    's',
+    'w',
+    'p',
+    'l',
+    'g'
+  ],
+      STANDALONENARROWMONTHS: const [
+    's',
+    'l',
+    'm',
+    'k',
+    'm',
+    'c',
+    'l',
+    's',
+    'w',
+    'p',
+    'l',
+    'g'
+  ],
+      MONTHS: const [
+    'stycznia',
+    'lutego',
+    'marca',
+    'kwietnia',
+    'maja',
+    'czerwca',
+    'lipca',
+    'sierpnia',
+    'września',
+    'października',
+    'listopada',
+    'grudnia'
+  ],
+      STANDALONEMONTHS: const [
+    'styczeń',
+    'luty',
+    'marzec',
+    'kwiecień',
+    'maj',
+    'czerwiec',
+    'lipiec',
+    'sierpień',
+    'wrzesień',
+    'październik',
+    'listopad',
+    'grudzień'
+  ],
+      SHORTMONTHS: const [
+    'sty',
+    'lut',
+    'mar',
+    'kwi',
+    'maj',
+    'cze',
+    'lip',
+    'sie',
+    'wrz',
+    'paź',
+    'lis',
+    'gru'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'sty',
+    'lut',
+    'mar',
+    'kwi',
+    'maj',
+    'cze',
+    'lip',
+    'sie',
+    'wrz',
+    'paź',
+    'lis',
+    'gru'
+  ],
+      WEEKDAYS: const [
+    'niedziela',
+    'poniedziałek',
+    'wtorek',
+    'środa',
+    'czwartek',
+    'piątek',
+    'sobota'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'niedziela',
+    'poniedziałek',
+    'wtorek',
+    'środa',
+    'czwartek',
+    'piątek',
+    'sobota'
+  ],
+      SHORTWEEKDAYS: const [
+    'niedz.',
+    'pon.',
+    'wt.',
+    'śr.',
+    'czw.',
+    'pt.',
+    'sob.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'niedz.',
+    'pon.',
+    'wt.',
+    'śr.',
+    'czw.',
+    'pt.',
+    'sob.'
+  ],
       NARROWWEEKDAYS: const ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['N', 'P', 'W', 'Ś', 'C', 'P', 'S'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['I kwartał', 'II kwartał', 'III kwartał',
-        'IV kwartał'],
+      QUARTERS: const ['I kwartał', 'II kwartał', 'III kwartał', 'IV kwartał'],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -3451,38 +10602,138 @@
   /**
    * Date/time formatting symbols for locale pt.
    */
-  "pt" : new DateSymbols(
+  "pt": new DateSymbols(
       NAME: "pt",
       ERAS: const ['a.C.', 'd.C.'],
       ERANAMES: const ['Antes de Cristo', 'Ano do Senhor'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho',
-        'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],
-      STANDALONEMONTHS: const ['janeiro', 'fevereiro', 'março', 'abril',
-        'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro',
-        'dezembro'],
-      SHORTMONTHS: const ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul',
-        'ago', 'set', 'out', 'nov', 'dez'],
-      STANDALONESHORTMONTHS: const ['jan', 'fev', 'mar', 'abr', 'mai', 'jun',
-        'jul', 'ago', 'set', 'out', 'nov', 'dez'],
-      WEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
-      STANDALONEWEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janeiro',
+    'fevereiro',
+    'março',
+    'abril',
+    'maio',
+    'junho',
+    'julho',
+    'agosto',
+    'setembro',
+    'outubro',
+    'novembro',
+    'dezembro'
+  ],
+      STANDALONEMONTHS: const [
+    'janeiro',
+    'fevereiro',
+    'março',
+    'abril',
+    'maio',
+    'junho',
+    'julho',
+    'agosto',
+    'setembro',
+    'outubro',
+    'novembro',
+    'dezembro'
+  ],
+      SHORTMONTHS: const [
+    'jan',
+    'fev',
+    'mar',
+    'abr',
+    'mai',
+    'jun',
+    'jul',
+    'ago',
+    'set',
+    'out',
+    'nov',
+    'dez'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'fev',
+    'mar',
+    'abr',
+    'mai',
+    'jun',
+    'jul',
+    'ago',
+    'set',
+    'out',
+    'nov',
+    'dez'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
       SHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
-      STANDALONESHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex',
-        'sáb'],
+      STANDALONESHORTWEEKDAYS: const [
+    'dom',
+    'seg',
+    'ter',
+    'qua',
+    'qui',
+    'sex',
+    'sáb'
+  ],
       NARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1º trimestre', '2º trimestre', '3º trimestre',
-        '4º trimestre'],
+      QUARTERS: const [
+    '1º trimestre',
+    '2º trimestre',
+    '3º trimestre',
+    '4º trimestre'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'dd/MM/y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -3494,38 +10745,138 @@
   /**
    * Date/time formatting symbols for locale pt_BR.
    */
-  "pt_BR" : new DateSymbols(
+  "pt_BR": new DateSymbols(
       NAME: "pt_BR",
       ERAS: const ['a.C.', 'd.C.'],
       ERANAMES: const ['Antes de Cristo', 'Ano do Senhor'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho',
-        'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],
-      STANDALONEMONTHS: const ['janeiro', 'fevereiro', 'março', 'abril',
-        'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro',
-        'dezembro'],
-      SHORTMONTHS: const ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul',
-        'ago', 'set', 'out', 'nov', 'dez'],
-      STANDALONESHORTMONTHS: const ['jan', 'fev', 'mar', 'abr', 'mai', 'jun',
-        'jul', 'ago', 'set', 'out', 'nov', 'dez'],
-      WEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
-      STANDALONEWEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janeiro',
+    'fevereiro',
+    'março',
+    'abril',
+    'maio',
+    'junho',
+    'julho',
+    'agosto',
+    'setembro',
+    'outubro',
+    'novembro',
+    'dezembro'
+  ],
+      STANDALONEMONTHS: const [
+    'janeiro',
+    'fevereiro',
+    'março',
+    'abril',
+    'maio',
+    'junho',
+    'julho',
+    'agosto',
+    'setembro',
+    'outubro',
+    'novembro',
+    'dezembro'
+  ],
+      SHORTMONTHS: const [
+    'jan',
+    'fev',
+    'mar',
+    'abr',
+    'mai',
+    'jun',
+    'jul',
+    'ago',
+    'set',
+    'out',
+    'nov',
+    'dez'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'fev',
+    'mar',
+    'abr',
+    'mai',
+    'jun',
+    'jul',
+    'ago',
+    'set',
+    'out',
+    'nov',
+    'dez'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
       SHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
-      STANDALONESHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex',
-        'sáb'],
+      STANDALONESHORTWEEKDAYS: const [
+    'dom',
+    'seg',
+    'ter',
+    'qua',
+    'qui',
+    'sex',
+    'sáb'
+  ],
       NARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1º trimestre', '2º trimestre', '3º trimestre',
-        '4º trimestre'],
+      QUARTERS: const [
+    '1º trimestre',
+    '2º trimestre',
+    '3º trimestre',
+    '4º trimestre'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'dd/MM/y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -3534,77 +10885,276 @@
   /**
    * Date/time formatting symbols for locale pt_PT.
    */
-  "pt_PT" : new DateSymbols(
+  "pt_PT": new DateSymbols(
       NAME: "pt_PT",
       ERAS: const ['a.C.', 'd.C.'],
       ERANAMES: const ['Antes de Cristo', 'Ano do Senhor'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho',
-        'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
-      STANDALONEMONTHS: const ['Janeiro', 'Fevereiro', 'Março', 'Abril',
-        'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro',
-        'Dezembro'],
-      SHORTMONTHS: const ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul',
-        'Ago', 'Set', 'Out', 'Nov', 'Dez'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
-        'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
-      WEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
-      STANDALONEWEEKDAYS: const ['domingo', 'segunda-feira', 'terça-feira',
-        'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Janeiro',
+    'Fevereiro',
+    'Março',
+    'Abril',
+    'Maio',
+    'Junho',
+    'Julho',
+    'Agosto',
+    'Setembro',
+    'Outubro',
+    'Novembro',
+    'Dezembro'
+  ],
+      STANDALONEMONTHS: const [
+    'Janeiro',
+    'Fevereiro',
+    'Março',
+    'Abril',
+    'Maio',
+    'Junho',
+    'Julho',
+    'Agosto',
+    'Setembro',
+    'Outubro',
+    'Novembro',
+    'Dezembro'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Fev',
+    'Mar',
+    'Abr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Ago',
+    'Set',
+    'Out',
+    'Nov',
+    'Dez'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Fev',
+    'Mar',
+    'Abr',
+    'Mai',
+    'Jun',
+    'Jul',
+    'Ago',
+    'Set',
+    'Out',
+    'Nov',
+    'Dez'
+  ],
+      WEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'domingo',
+    'segunda-feira',
+    'terça-feira',
+    'quarta-feira',
+    'quinta-feira',
+    'sexta-feira',
+    'sábado'
+  ],
       SHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
-      STANDALONESHORTWEEKDAYS: const ['dom', 'seg', 'ter', 'qua', 'qui', 'sex',
-        'sáb'],
+      STANDALONESHORTWEEKDAYS: const [
+    'dom',
+    'seg',
+    'ter',
+    'qua',
+    'qui',
+    'sex',
+    'sáb'
+  ],
       NARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['1.º trimestre', '2.º trimestre', '3.º trimestre',
-        '4.º trimestre'],
+      QUARTERS: const [
+    '1.º trimestre',
+    '2.º trimestre',
+    '3.º trimestre',
+    '4.º trimestre'
+  ],
       AMPMS: const ['da manhã', 'da tarde'],
-      DATEFORMATS: const ['EEEE, d \'de\' MMMM \'de\' y',
-        'd \'de\' MMMM \'de\' y', 'dd/MM/y', 'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, d \'de\' MMMM \'de\' y',
+    'd \'de\' MMMM \'de\' y',
+    'dd/MM/y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'às\' {0}', '{1} \'às\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'às\' {0}',
+    '{1} \'às\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 3),
   /**
    * Date/time formatting symbols for locale ro.
    */
-  "ro" : new DateSymbols(
+  "ro": new DateSymbols(
       NAME: "ro",
       ERAS: const ['î.Hr.', 'd.Hr.'],
       ERANAMES: const ['înainte de Hristos', 'după Hristos'],
-      NARROWMONTHS: const ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai',
-        'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie',
-        'decembrie'],
-      STANDALONEMONTHS: const ['ianuarie', 'februarie', 'martie', 'aprilie',
-        'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie',
-        'noiembrie', 'decembrie'],
-      SHORTMONTHS: const ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.',
-        'aug.', 'sept.', 'oct.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['ian.', 'feb.', 'mar.', 'apr.', 'mai',
-        'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'],
-      WEEKDAYS: const ['duminică', 'luni', 'marți', 'miercuri', 'joi',
-        'vineri', 'sâmbătă'],
-      STANDALONEWEEKDAYS: const ['duminică', 'luni', 'marți', 'miercuri',
-        'joi', 'vineri', 'sâmbătă'],
+      NARROWMONTHS: const [
+    'I',
+    'F',
+    'M',
+    'A',
+    'M',
+    'I',
+    'I',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'I',
+    'F',
+    'M',
+    'A',
+    'M',
+    'I',
+    'I',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'ianuarie',
+    'februarie',
+    'martie',
+    'aprilie',
+    'mai',
+    'iunie',
+    'iulie',
+    'august',
+    'septembrie',
+    'octombrie',
+    'noiembrie',
+    'decembrie'
+  ],
+      STANDALONEMONTHS: const [
+    'ianuarie',
+    'februarie',
+    'martie',
+    'aprilie',
+    'mai',
+    'iunie',
+    'iulie',
+    'august',
+    'septembrie',
+    'octombrie',
+    'noiembrie',
+    'decembrie'
+  ],
+      SHORTMONTHS: const [
+    'ian.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'mai',
+    'iun.',
+    'iul.',
+    'aug.',
+    'sept.',
+    'oct.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ian.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'mai',
+    'iun.',
+    'iul.',
+    'aug.',
+    'sept.',
+    'oct.',
+    'nov.',
+    'dec.'
+  ],
+      WEEKDAYS: const [
+    'duminică',
+    'luni',
+    'marți',
+    'miercuri',
+    'joi',
+    'vineri',
+    'sâmbătă'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'duminică',
+    'luni',
+    'marți',
+    'miercuri',
+    'joi',
+    'vineri',
+    'sâmbătă'
+  ],
       SHORTWEEKDAYS: const ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
-      STANDALONESHORTWEEKDAYS: const ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin',
-        'Sâm'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Dum',
+    'Lun',
+    'Mar',
+    'Mie',
+    'Joi',
+    'Vin',
+    'Sâm'
+  ],
       NARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
       SHORTQUARTERS: const ['trim. I', 'trim. II', 'trim. III', 'trim. IV'],
-      QUARTERS: const ['trimestrul I', 'trimestrul al II-lea',
-        'trimestrul al III-lea', 'trimestrul al IV-lea'],
+      QUARTERS: const [
+    'trimestrul I',
+    'trimestrul al II-lea',
+    'trimestrul al III-lea',
+    'trimestrul al IV-lea'
+  ],
       AMPMS: const ['a.m.', 'p.m.'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd.MM.y'],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
@@ -3615,47 +11165,130 @@
   /**
    * Date/time formatting symbols for locale ru.
    */
-  "ru" : new DateSymbols(
+  "ru": new DateSymbols(
       NAME: "ru",
       ERAS: const ['до н. э.', 'н. э.'],
       ERANAMES: const ['до н.э.', 'н.э.'],
-      NARROWMONTHS: const ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С',
-        'О', 'Н', 'Д'],
-      STANDALONENARROWMONTHS: const ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И',
-        'А', 'С', 'О', 'Н', 'Д'],
-      MONTHS: const ['января', 'февраля', 'марта',
-        'апреля', 'мая', 'июня', 'июля', 'августа',
-        'сентября', 'октября', 'ноября', 'декабря'],
-      STANDALONEMONTHS: const ['Январь', 'Февраль', 'Март',
-        'Апрель', 'Май', 'Июнь', 'Июль', 'Август',
-        'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
-      SHORTMONTHS: const ['янв.', 'февр.', 'марта', 'апр.',
-        'мая', 'июня', 'июля', 'авг.', 'сент.', 'окт.',
-        'нояб.', 'дек.'],
-      STANDALONESHORTMONTHS: const ['Янв.', 'Февр.', 'Март',
-        'Апр.', 'Май', 'Июнь', 'Июль', 'Авг.', 'Сент.',
-        'Окт.', 'Нояб.', 'Дек.'],
-      WEEKDAYS: const ['воскресенье', 'понедельник',
-        'вторник', 'среда', 'четверг', 'пятница',
-        'суббота'],
-      STANDALONEWEEKDAYS: const ['Воскресенье',
-        'Понедельник', 'Вторник', 'Среда',
-        'Четверг', 'Пятница', 'Суббота'],
-      SHORTWEEKDAYS: const ['вс', 'пн', 'вт', 'ср', 'чт', 'пт',
-        'сб'],
-      STANDALONESHORTWEEKDAYS: const ['Вс', 'Пн', 'Вт', 'Ср', 'Чт',
-        'Пт', 'Сб'],
-      NARROWWEEKDAYS: const ['вс', 'пн', 'вт', 'ср', 'чт', 'пт',
-        'сб'],
-      STANDALONENARROWWEEKDAYS: const ['В', 'П', 'В', 'С', 'Ч', 'П',
-        'С'],
-      SHORTQUARTERS: const ['1-й кв.', '2-й кв.', '3-й кв.',
-        '4-й кв.'],
-      QUARTERS: const ['1-й квартал', '2-й квартал',
-        '3-й квартал', '4-й квартал'],
+      NARROWMONTHS: const [
+    'Я',
+    'Ф',
+    'М',
+    'А',
+    'М',
+    'И',
+    'И',
+    'А',
+    'С',
+    'О',
+    'Н',
+    'Д'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Я',
+    'Ф',
+    'М',
+    'А',
+    'М',
+    'И',
+    'И',
+    'А',
+    'С',
+    'О',
+    'Н',
+    'Д'
+  ],
+      MONTHS: const [
+    'января',
+    'февраля',
+    'марта',
+    'апреля',
+    'мая',
+    'июня',
+    'июля',
+    'августа',
+    'сентября',
+    'октября',
+    'ноября',
+    'декабря'
+  ],
+      STANDALONEMONTHS: const [
+    'Январь',
+    'Февраль',
+    'Март',
+    'Апрель',
+    'Май',
+    'Июнь',
+    'Июль',
+    'Август',
+    'Сентябрь',
+    'Октябрь',
+    'Ноябрь',
+    'Декабрь'
+  ],
+      SHORTMONTHS: const [
+    'янв.',
+    'февр.',
+    'марта',
+    'апр.',
+    'мая',
+    'июня',
+    'июля',
+    'авг.',
+    'сент.',
+    'окт.',
+    'нояб.',
+    'дек.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Янв.',
+    'Февр.',
+    'Март',
+    'Апр.',
+    'Май',
+    'Июнь',
+    'Июль',
+    'Авг.',
+    'Сент.',
+    'Окт.',
+    'Нояб.',
+    'Дек.'
+  ],
+      WEEKDAYS: const [
+    'воскресенье',
+    'понедельник',
+    'вторник',
+    'среда',
+    'четверг',
+    'пятница',
+    'суббота'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Воскресенье',
+    'Понедельник',
+    'Вторник',
+    'Среда',
+    'Четверг',
+    'Пятница',
+    'Суббота'
+  ],
+      SHORTWEEKDAYS: const ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+      STANDALONESHORTWEEKDAYS: const ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
+      NARROWWEEKDAYS: const ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
+      STANDALONENARROWWEEKDAYS: const ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'],
+      SHORTQUARTERS: const ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],
+      QUARTERS: const [
+    '1-й квартал',
+    '2-й квартал',
+    '3-й квартал',
+    '4-й квартал'
+  ],
       AMPMS: const ['AM', 'PM'],
-      DATEFORMATS: const ['EEEE, d MMMM y \'г\'.', 'd MMMM y \'г\'.',
-        'd MMM y \'г\'.', 'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM y \'г\'.',
+    'd MMMM y \'г\'.',
+    'd MMM y \'г\'.',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
       DATETIMEFORMATS: const ['{1}, {0}', '{1}, {0}', '{1}, {0}', '{1}, {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -3664,60 +11297,147 @@
   /**
    * Date/time formatting symbols for locale si.
    */
-  "si" : new DateSymbols(
+  "si": new DateSymbols(
       NAME: "si",
       ERAS: const ['ක්‍රි.පූ.', 'ක්‍රි.ව.'],
-      ERANAMES: const ['ක්‍රිස්තු පූර්‍ව',
-        'ක්‍රිස්තු වර්‍ෂ'],
-      NARROWMONTHS: const ['ජ', 'පෙ', 'මා', 'අ', 'මැ', 'ජූ',
-        'ජූ', 'අ', 'සැ', 'ඔ', 'නෙ', 'දෙ'],
-      STANDALONENARROWMONTHS: const ['ජ', 'පෙ', 'මා', 'අ', 'මැ',
-        'ජූ', 'ජූ', 'අ', 'සැ', 'ඔ', 'නෙ', 'දෙ'],
-      MONTHS: const ['ජනවාරි', 'පෙබරවාරි',
-        'මාර්තු', 'අප්‍රේල්', 'මැයි',
-        'ජූනි', 'ජූලි', 'අගෝස්තු',
-        'සැප්තැම්බර්', 'ඔක්තෝබර්',
-        'නොවැම්බර්', 'දෙසැම්බර්'],
-      STANDALONEMONTHS: const ['ජනවාරි', 'පෙබරවාරි',
-        'මාර්තු', 'අප්‍රේල්', 'මැයි',
-        'ජූනි', 'ජූලි', 'අගෝස්තු',
-        'සැප්තැම්බර්', 'ඔක්තෝබර්',
-        'නොවැම්බර්', 'දෙසැම්බර්'],
-      SHORTMONTHS: const ['ජන', 'පෙබ', 'මාර්තු',
-        'අප්‍රේල්', 'මැයි', 'ජූනි',
-        'ජූලි', 'අගෝ', 'සැප්', 'ඔක්',
-        'නොවැ', 'දෙසැ'],
-      STANDALONESHORTMONTHS: const ['ජන', 'පෙබ', 'මාර්',
-        'අප්‍රේල්', 'මැයි', 'ජූනි',
-        'ජූලි', 'අගෝ', 'සැප්', 'ඔක්',
-        'නොවැ', 'දෙසැ'],
-      WEEKDAYS: const ['ඉරිදා', 'සඳුදා',
-        'අඟහරුවාදා', 'බදාදා',
-        'බ්‍රහස්පතින්දා',
-        'සිකුරාදා', 'සෙනසුරාදා'],
-      STANDALONEWEEKDAYS: const ['ඉරිදා', 'සඳුදා',
-        'අඟහරුවාදා', 'බදාදා',
-        'බ්‍රහස්පතින්දා',
-        'සිකුරාදා', 'සෙනසුරාදා'],
-      SHORTWEEKDAYS: const ['ඉරිදා', 'සඳුදා', 'අඟහ',
-        'බදාදා', 'බ්‍රහස්', 'සිකු',
-        'සෙන'],
-      STANDALONESHORTWEEKDAYS: const ['ඉරිදා', 'සඳුදා',
-        'අඟහ', 'බදාදා', 'බ්‍රහස්', 'සිකු',
-        'සෙන'],
-      NARROWWEEKDAYS: const ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර',
-        'සි', 'සෙ'],
-      STANDALONENARROWWEEKDAYS: const ['ඉ', 'ස', 'අ', 'බ',
-        'බ්‍ර', 'සි', 'සෙ'],
-      SHORTQUARTERS: const ['කාර්:1', 'කාර්:2',
-        'කාර්:3', 'කාර්:4'],
-      QUARTERS: const ['1 වන කාර්තුව',
-        '2 වන කාර්තුව', '3 වන කාර්තුව',
-        '4 වන කාර්තුව'],
+      ERANAMES: const ['ක්‍රිස්තු පූර්‍ව', 'ක්‍රිස්තු වර්‍ෂ'],
+      NARROWMONTHS: const [
+    'ජ',
+    'පෙ',
+    'මා',
+    'අ',
+    'මැ',
+    'ජූ',
+    'ජූ',
+    'අ',
+    'සැ',
+    'ඔ',
+    'නෙ',
+    'දෙ'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ජ',
+    'පෙ',
+    'මා',
+    'අ',
+    'මැ',
+    'ජූ',
+    'ජූ',
+    'අ',
+    'සැ',
+    'ඔ',
+    'නෙ',
+    'දෙ'
+  ],
+      MONTHS: const [
+    'ජනවාරි',
+    'පෙබරවාරි',
+    'මාර්තු',
+    'අප්‍රේල්',
+    'මැයි',
+    'ජූනි',
+    'ජූලි',
+    'අගෝස්තු',
+    'සැප්තැම්බර්',
+    'ඔක්තෝබර්',
+    'නොවැම්බර්',
+    'දෙසැම්බර්'
+  ],
+      STANDALONEMONTHS: const [
+    'ජනවාරි',
+    'පෙබරවාරි',
+    'මාර්තු',
+    'අප්‍රේල්',
+    'මැයි',
+    'ජූනි',
+    'ජූලි',
+    'අගෝස්තු',
+    'සැප්තැම්බර්',
+    'ඔක්තෝබර්',
+    'නොවැම්බර්',
+    'දෙසැම්බර්'
+  ],
+      SHORTMONTHS: const [
+    'ජන',
+    'පෙබ',
+    'මාර්තු',
+    'අප්‍රේල්',
+    'මැයි',
+    'ජූනි',
+    'ජූලි',
+    'අගෝ',
+    'සැප්',
+    'ඔක්',
+    'නොවැ',
+    'දෙසැ'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ජන',
+    'පෙබ',
+    'මාර්',
+    'අප්‍රේල්',
+    'මැයි',
+    'ජූනි',
+    'ජූලි',
+    'අගෝ',
+    'සැප්',
+    'ඔක්',
+    'නොවැ',
+    'දෙසැ'
+  ],
+      WEEKDAYS: const [
+    'ඉරිදා',
+    'සඳුදා',
+    'අඟහරුවාදා',
+    'බදාදා',
+    'බ්‍රහස්පතින්දා',
+    'සිකුරාදා',
+    'සෙනසුරාදා'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ඉරිදා',
+    'සඳුදා',
+    'අඟහරුවාදා',
+    'බදාදා',
+    'බ්‍රහස්පතින්දා',
+    'සිකුරාදා',
+    'සෙනසුරාදා'
+  ],
+      SHORTWEEKDAYS: const [
+    'ඉරිදා',
+    'සඳුදා',
+    'අඟහ',
+    'බදාදා',
+    'බ්‍රහස්',
+    'සිකු',
+    'සෙන'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ඉරිදා',
+    'සඳුදා',
+    'අඟහ',
+    'බදාදා',
+    'බ්‍රහස්',
+    'සිකු',
+    'සෙන'
+  ],
+      NARROWWEEKDAYS: const ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', 'සෙ'],
+      STANDALONENARROWWEEKDAYS: const ['ඉ', 'ස', 'අ', 'බ', 'බ්‍ර', 'සි', 'සෙ'],
+      SHORTQUARTERS: const ['කාර්:1', 'කාර්:2', 'කාර්:3', 'කාර්:4'],
+      QUARTERS: const [
+    '1 වන කාර්තුව',
+    '2 වන කාර්තුව',
+    '3 වන කාර්තුව',
+    '4 වන කාර්තුව'
+  ],
       AMPMS: const ['පෙ.ව.', 'ප.ව.'],
       DATEFORMATS: const ['y MMMM d, EEEE', 'y MMMM d', 'y MMM d', 'y-MM-dd'],
-      TIMEFORMATS: const ['a h.mm.ss zzzz', 'a h.mm.ss z', 'a h.mm.ss',
-        'a h.mm'],
+      TIMEFORMATS: const [
+    'a h.mm.ss zzzz',
+    'a h.mm.ss z',
+    'a h.mm.ss',
+    'a h.mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -3725,36 +11445,123 @@
   /**
    * Date/time formatting symbols for locale sk.
    */
-  "sk" : new DateSymbols(
+  "sk": new DateSymbols(
       NAME: "sk",
       ERAS: const ['pred n.l.', 'n.l.'],
       ERANAMES: const ['pred n.l.', 'n.l.'],
-      NARROWMONTHS: const ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o',
-        'n', 'd'],
-      STANDALONENARROWMONTHS: const ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a',
-        's', 'o', 'n', 'd'],
-      MONTHS: const ['januára', 'februára', 'marca', 'apríla', 'mája',
-        'júna', 'júla', 'augusta', 'septembra', 'októbra', 'novembra',
-        'decembra'],
-      STANDALONEMONTHS: const ['január', 'február', 'marec', 'apríl', 'máj',
-        'jún', 'júl', 'august', 'september', 'október', 'november',
-        'december'],
-      SHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl',
-        'aug', 'sep', 'okt', 'nov', 'dec'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'máj', 'jún',
-        'júl', 'aug', 'sep', 'okt', 'nov', 'dec'],
-      WEEKDAYS: const ['nedeľa', 'pondelok', 'utorok', 'streda', 'štvrtok',
-        'piatok', 'sobota'],
-      STANDALONEWEEKDAYS: const ['nedeľa', 'pondelok', 'utorok', 'streda',
-        'štvrtok', 'piatok', 'sobota'],
+      NARROWMONTHS: const [
+    'j',
+    'f',
+    'm',
+    'a',
+    'm',
+    'j',
+    'j',
+    'a',
+    's',
+    'o',
+    'n',
+    'd'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'j',
+    'f',
+    'm',
+    'a',
+    'm',
+    'j',
+    'j',
+    'a',
+    's',
+    'o',
+    'n',
+    'd'
+  ],
+      MONTHS: const [
+    'januára',
+    'februára',
+    'marca',
+    'apríla',
+    'mája',
+    'júna',
+    'júla',
+    'augusta',
+    'septembra',
+    'októbra',
+    'novembra',
+    'decembra'
+  ],
+      STANDALONEMONTHS: const [
+    'január',
+    'február',
+    'marec',
+    'apríl',
+    'máj',
+    'jún',
+    'júl',
+    'august',
+    'september',
+    'október',
+    'november',
+    'december'
+  ],
+      SHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'máj',
+    'jún',
+    'júl',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'máj',
+    'jún',
+    'júl',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      WEEKDAYS: const [
+    'nedeľa',
+    'pondelok',
+    'utorok',
+    'streda',
+    'štvrtok',
+    'piatok',
+    'sobota'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'nedeľa',
+    'pondelok',
+    'utorok',
+    'streda',
+    'štvrtok',
+    'piatok',
+    'sobota'
+  ],
       SHORTWEEKDAYS: const ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
-      STANDALONESHORTWEEKDAYS: const ['ne', 'po', 'ut', 'st', 'št', 'pi',
-        'so'],
+      STANDALONESHORTWEEKDAYS: const ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
       NARROWWEEKDAYS: const ['N', 'P', 'U', 'S', 'Š', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['N', 'P', 'U', 'S', 'Š', 'P', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok',
-        '4. štvrťrok'],
+      QUARTERS: const [
+    '1. štvrťrok',
+    '2. štvrťrok',
+    '3. štvrťrok',
+    '4. štvrťrok'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d. MMMM y', 'd. MMMM y', 'd.M.y', 'd.M.y'],
       TIMEFORMATS: const ['H:mm:ss zzzz', 'H:mm:ss z', 'H:mm:ss', 'H:mm'],
@@ -3765,39 +11572,146 @@
   /**
    * Date/time formatting symbols for locale sl.
    */
-  "sl" : new DateSymbols(
+  "sl": new DateSymbols(
       NAME: "sl",
       ERAS: const ['pr. n. št.', 'po Kr.'],
       ERANAMES: const ['pred našim štetjem', 'naše štetje'],
-      NARROWMONTHS: const ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o',
-        'n', 'd'],
-      STANDALONENARROWMONTHS: const ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a',
-        's', 'o', 'n', 'd'],
-      MONTHS: const ['januar', 'februar', 'marec', 'april', 'maj', 'junij',
-        'julij', 'avgust', 'september', 'oktober', 'november', 'december'],
-      STANDALONEMONTHS: const ['januar', 'februar', 'marec', 'april', 'maj',
-        'junij', 'julij', 'avgust', 'september', 'oktober', 'november',
-        'december'],
-      SHORTMONTHS: const ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.',
-        'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],
-      STANDALONESHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'maj', 'jun',
-        'jul', 'avg', 'sep', 'okt', 'nov', 'dec'],
-      WEEKDAYS: const ['nedelja', 'ponedeljek', 'torek', 'sreda', 'četrtek',
-        'petek', 'sobota'],
-      STANDALONEWEEKDAYS: const ['nedelja', 'ponedeljek', 'torek', 'sreda',
-        'četrtek', 'petek', 'sobota'],
-      SHORTWEEKDAYS: const ['ned.', 'pon.', 'tor.', 'sre.', 'čet.', 'pet.',
-        'sob.'],
-      STANDALONESHORTWEEKDAYS: const ['ned', 'pon', 'tor', 'sre', 'čet', 'pet',
-        'sob'],
+      NARROWMONTHS: const [
+    'j',
+    'f',
+    'm',
+    'a',
+    'm',
+    'j',
+    'j',
+    'a',
+    's',
+    'o',
+    'n',
+    'd'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'j',
+    'f',
+    'm',
+    'a',
+    'm',
+    'j',
+    'j',
+    'a',
+    's',
+    'o',
+    'n',
+    'd'
+  ],
+      MONTHS: const [
+    'januar',
+    'februar',
+    'marec',
+    'april',
+    'maj',
+    'junij',
+    'julij',
+    'avgust',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      STANDALONEMONTHS: const [
+    'januar',
+    'februar',
+    'marec',
+    'april',
+    'maj',
+    'junij',
+    'julij',
+    'avgust',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      SHORTMONTHS: const [
+    'jan.',
+    'feb.',
+    'mar.',
+    'apr.',
+    'maj',
+    'jun.',
+    'jul.',
+    'avg.',
+    'sep.',
+    'okt.',
+    'nov.',
+    'dec.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'maj',
+    'jun',
+    'jul',
+    'avg',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      WEEKDAYS: const [
+    'nedelja',
+    'ponedeljek',
+    'torek',
+    'sreda',
+    'četrtek',
+    'petek',
+    'sobota'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'nedelja',
+    'ponedeljek',
+    'torek',
+    'sreda',
+    'četrtek',
+    'petek',
+    'sobota'
+  ],
+      SHORTWEEKDAYS: const [
+    'ned.',
+    'pon.',
+    'tor.',
+    'sre.',
+    'čet.',
+    'pet.',
+    'sob.'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ned',
+    'pon',
+    'tor',
+    'sre',
+    'čet',
+    'pet',
+    'sob'
+  ],
       NARROWWEEKDAYS: const ['n', 'p', 't', 's', 'č', 'p', 's'],
       STANDALONENARROWWEEKDAYS: const ['n', 'p', 't', 's', 'č', 'p', 's'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['1. četrtletje', '2. četrtletje', '3. četrtletje',
-        '4. četrtletje'],
+      QUARTERS: const [
+    '1. četrtletje',
+    '2. četrtletje',
+    '3. četrtletje',
+    '4. četrtletje'
+  ],
       AMPMS: const ['dop.', 'pop.'],
-      DATEFORMATS: const ['EEEE, dd. MMMM y', 'dd. MMMM y', 'd. MMM y',
-        'd. MM. yy'],
+      DATEFORMATS: const [
+    'EEEE, dd. MMMM y',
+    'dd. MMMM y',
+    'd. MMM y',
+    'd. MM. yy'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -3806,85 +11720,283 @@
   /**
    * Date/time formatting symbols for locale sq.
    */
-  "sq" : new DateSymbols(
+  "sq": new DateSymbols(
       NAME: "sq",
       ERAS: const ['p.e.r.', 'e.r.'],
       ERANAMES: const ['para erës së re', 'erës së re'],
-      NARROWMONTHS: const ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G', 'S', 'T',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'S', 'M', 'P', 'M', 'Q', 'K', 'G',
-        'S', 'T', 'N', 'D'],
-      MONTHS: const ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor',
-        'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'],
-      STANDALONEMONTHS: const ['janar', 'shkurt', 'mars', 'prill', 'maj',
-        'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'],
-      SHORTMONTHS: const ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer', 'Kor',
-        'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Shk', 'Mar', 'Pri', 'Maj', 'Qer',
-        'Kor', 'Gsh', 'Sht', 'Tet', 'Nën', 'Dhj'],
-      WEEKDAYS: const ['e diel', 'e hënë', 'e martë', 'e mërkurë',
-        'e enjte', 'e premte', 'e shtunë'],
-      STANDALONEWEEKDAYS: const ['e diel', 'e hënë', 'e martë',
-        'e mërkurë', 'e enjte', 'e premte', 'e shtunë'],
+      NARROWMONTHS: const [
+    'J',
+    'S',
+    'M',
+    'P',
+    'M',
+    'Q',
+    'K',
+    'G',
+    'S',
+    'T',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'S',
+    'M',
+    'P',
+    'M',
+    'Q',
+    'K',
+    'G',
+    'S',
+    'T',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'janar',
+    'shkurt',
+    'mars',
+    'prill',
+    'maj',
+    'qershor',
+    'korrik',
+    'gusht',
+    'shtator',
+    'tetor',
+    'nëntor',
+    'dhjetor'
+  ],
+      STANDALONEMONTHS: const [
+    'janar',
+    'shkurt',
+    'mars',
+    'prill',
+    'maj',
+    'qershor',
+    'korrik',
+    'gusht',
+    'shtator',
+    'tetor',
+    'nëntor',
+    'dhjetor'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Shk',
+    'Mar',
+    'Pri',
+    'Maj',
+    'Qer',
+    'Kor',
+    'Gsh',
+    'Sht',
+    'Tet',
+    'Nën',
+    'Dhj'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Shk',
+    'Mar',
+    'Pri',
+    'Maj',
+    'Qer',
+    'Kor',
+    'Gsh',
+    'Sht',
+    'Tet',
+    'Nën',
+    'Dhj'
+  ],
+      WEEKDAYS: const [
+    'e diel',
+    'e hënë',
+    'e martë',
+    'e mërkurë',
+    'e enjte',
+    'e premte',
+    'e shtunë'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'e diel',
+    'e hënë',
+    'e martë',
+    'e mërkurë',
+    'e enjte',
+    'e premte',
+    'e shtunë'
+  ],
       SHORTWEEKDAYS: const ['Die', 'Hën', 'Mar', 'Mër', 'Enj', 'Pre', 'Sht'],
-      STANDALONESHORTWEEKDAYS: const ['Die', 'Hën', 'Mar', 'Mër', 'Enj',
-        'Pre', 'Sht'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Die',
+    'Hën',
+    'Mar',
+    'Mër',
+    'Enj',
+    'Pre',
+    'Sht'
+  ],
       NARROWWEEKDAYS: const ['D', 'H', 'M', 'M', 'E', 'P', 'S'],
       STANDALONENARROWWEEKDAYS: const ['D', 'H', 'M', 'M', 'E', 'P', 'S'],
       SHORTQUARTERS: const ['T1', 'T2', 'T3', 'T4'],
-      QUARTERS: const ['tremujori i parë', 'tremujori i dytë',
-        'tremujori i tretë', 'tremujori i katërt'],
+      QUARTERS: const [
+    'tremujori i parë',
+    'tremujori i dytë',
+    'tremujori i tretë',
+    'tremujori i katërt'
+  ],
       AMPMS: const ['paradite', 'pasdite'],
-      DATEFORMATS: const ['EEEE, dd MMMM y', 'dd MMMM y', 'dd/MM/y',
-        'dd/MM/yy'],
+      DATEFORMATS: const [
+    'EEEE, dd MMMM y',
+    'dd MMMM y',
+    'dd/MM/y',
+    'dd/MM/yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
-      DATETIMEFORMATS: const ['{1} \'në\' {0}', '{1} \'në\' {0}', '{1} {0}',
-        '{1} {0}'],
+      DATETIMEFORMATS: const [
+    '{1} \'në\' {0}',
+    '{1} \'në\' {0}',
+    '{1} {0}',
+    '{1} {0}'
+  ],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 6),
   /**
    * Date/time formatting symbols for locale sr.
    */
-  "sr" : new DateSymbols(
+  "sr": new DateSymbols(
       NAME: "sr",
       ERAS: const ['п. н. е.', 'н. е.'],
       ERANAMES: const ['Пре нове ере', 'Нове ере'],
-      NARROWMONTHS: const ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј', 'а', 'с',
-        'о', 'н', 'д'],
-      STANDALONENARROWMONTHS: const ['ј', 'ф', 'м', 'а', 'м', 'ј', 'ј',
-        'а', 'с', 'о', 'н', 'д'],
-      MONTHS: const ['јануар', 'фебруар', 'март', 'април',
-        'мај', 'јун', 'јул', 'август', 'септембар',
-        'октобар', 'новембар', 'децембар'],
-      STANDALONEMONTHS: const ['јануар', 'фебруар', 'март',
-        'април', 'мај', 'јун', 'јул', 'август',
-        'септембар', 'октобар', 'новембар',
-        'децембар'],
-      SHORTMONTHS: const ['јан', 'феб', 'мар', 'апр', 'мај',
-        'јун', 'јул', 'авг', 'сеп', 'окт', 'нов', 'дец'],
-      STANDALONESHORTMONTHS: const ['јан', 'феб', 'мар', 'апр',
-        'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'нов',
-        'дец'],
-      WEEKDAYS: const ['недеља', 'понедељак', 'уторак',
-        'среда', 'четвртак', 'петак', 'субота'],
-      STANDALONEWEEKDAYS: const ['недеља', 'понедељак',
-        'уторак', 'среда', 'четвртак', 'петак',
-        'субота'],
-      SHORTWEEKDAYS: const ['нед', 'пон', 'уто', 'сре', 'чет',
-        'пет', 'суб'],
-      STANDALONESHORTWEEKDAYS: const ['нед', 'пон', 'уто', 'сре',
-        'чет', 'пет', 'суб'],
+      NARROWMONTHS: const [
+    'ј',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ј',
+    'ј',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ј',
+    'ф',
+    'м',
+    'а',
+    'м',
+    'ј',
+    'ј',
+    'а',
+    'с',
+    'о',
+    'н',
+    'д'
+  ],
+      MONTHS: const [
+    'јануар',
+    'фебруар',
+    'март',
+    'април',
+    'мај',
+    'јун',
+    'јул',
+    'август',
+    'септембар',
+    'октобар',
+    'новембар',
+    'децембар'
+  ],
+      STANDALONEMONTHS: const [
+    'јануар',
+    'фебруар',
+    'март',
+    'април',
+    'мај',
+    'јун',
+    'јул',
+    'август',
+    'септембар',
+    'октобар',
+    'новембар',
+    'децембар'
+  ],
+      SHORTMONTHS: const [
+    'јан',
+    'феб',
+    'мар',
+    'апр',
+    'мај',
+    'јун',
+    'јул',
+    'авг',
+    'сеп',
+    'окт',
+    'нов',
+    'дец'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'јан',
+    'феб',
+    'мар',
+    'апр',
+    'мај',
+    'јун',
+    'јул',
+    'авг',
+    'сеп',
+    'окт',
+    'нов',
+    'дец'
+  ],
+      WEEKDAYS: const [
+    'недеља',
+    'понедељак',
+    'уторак',
+    'среда',
+    'четвртак',
+    'петак',
+    'субота'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'недеља',
+    'понедељак',
+    'уторак',
+    'среда',
+    'четвртак',
+    'петак',
+    'субота'
+  ],
+      SHORTWEEKDAYS: const ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],
+      STANDALONESHORTWEEKDAYS: const [
+    'нед',
+    'пон',
+    'уто',
+    'сре',
+    'чет',
+    'пет',
+    'суб'
+  ],
       NARROWWEEKDAYS: const ['н', 'п', 'у', 'с', 'ч', 'п', 'с'],
-      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'у', 'с', 'ч', 'п',
-        'с'],
+      STANDALONENARROWWEEKDAYS: const ['н', 'п', 'у', 'с', 'ч', 'п', 'с'],
       SHORTQUARTERS: const ['К1', 'К2', 'К3', 'К4'],
-      QUARTERS: const ['Прво тромесечје',
-        'Друго тромесечје', 'Треће тромесечје',
-        'Четврто тромесечје'],
+      QUARTERS: const [
+    'Прво тромесечје',
+    'Друго тромесечје',
+    'Треће тромесечје',
+    'Четврто тромесечје'
+  ],
       AMPMS: const ['пре подне', 'поподне'],
-      DATEFORMATS: const ['EEEE, dd. MMMM y.', 'dd. MMMM y.', 'dd.MM.y.',
-        'd.M.yy.'],
+      DATEFORMATS: const [
+    'EEEE, dd. MMMM y.',
+    'dd. MMMM y.',
+    'dd.MM.y.',
+    'd.M.yy.'
+  ],
       TIMEFORMATS: const ['HH.mm.ss zzzz', 'HH.mm.ss z', 'HH.mm.ss', 'HH.mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -3893,40 +12005,139 @@
   /**
    * Date/time formatting symbols for locale sv.
    */
-  "sv" : new DateSymbols(
+  "sv": new DateSymbols(
       NAME: "sv",
       ERAS: const ['f.Kr.', 'e.Kr.'],
       ERANAMES: const ['före Kristus', 'efter Kristus'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['januari', 'februari', 'mars', 'april', 'maj', 'juni',
-        'juli', 'augusti', 'september', 'oktober', 'november', 'december'],
-      STANDALONEMONTHS: const ['Januari', 'Februari', 'Mars', 'April', 'Maj',
-        'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November',
-        'December'],
-      SHORTMONTHS: const ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul',
-        'aug', 'sep', 'okt', 'nov', 'dec'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun',
-        'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
-      WEEKDAYS: const ['söndag', 'måndag', 'tisdag', 'onsdag', 'torsdag',
-        'fredag', 'lördag'],
-      STANDALONEWEEKDAYS: const ['Söndag', 'Måndag', 'Tisdag', 'Onsdag',
-        'Torsdag', 'Fredag', 'Lördag'],
-      SHORTWEEKDAYS: const ['sön', 'mån', 'tis', 'ons', 'tors', 'fre',
-        'lör'],
-      STANDALONESHORTWEEKDAYS: const ['Sön', 'Mån', 'Tis', 'Ons', 'Tor',
-        'Fre', 'Lör'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'januari',
+    'februari',
+    'mars',
+    'april',
+    'maj',
+    'juni',
+    'juli',
+    'augusti',
+    'september',
+    'oktober',
+    'november',
+    'december'
+  ],
+      STANDALONEMONTHS: const [
+    'Januari',
+    'Februari',
+    'Mars',
+    'April',
+    'Maj',
+    'Juni',
+    'Juli',
+    'Augusti',
+    'September',
+    'Oktober',
+    'November',
+    'December'
+  ],
+      SHORTMONTHS: const [
+    'jan',
+    'feb',
+    'mar',
+    'apr',
+    'maj',
+    'jun',
+    'jul',
+    'aug',
+    'sep',
+    'okt',
+    'nov',
+    'dec'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mar',
+    'Apr',
+    'Maj',
+    'Jun',
+    'Jul',
+    'Aug',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dec'
+  ],
+      WEEKDAYS: const [
+    'söndag',
+    'måndag',
+    'tisdag',
+    'onsdag',
+    'torsdag',
+    'fredag',
+    'lördag'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Söndag',
+    'Måndag',
+    'Tisdag',
+    'Onsdag',
+    'Torsdag',
+    'Fredag',
+    'Lördag'
+  ],
+      SHORTWEEKDAYS: const ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Sön',
+    'Mån',
+    'Tis',
+    'Ons',
+    'Tor',
+    'Fre',
+    'Lör'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
       SHORTQUARTERS: const ['K1', 'K2', 'K3', 'K4'],
-      QUARTERS: const ['1:a kvartalet', '2:a kvartalet', '3:e kvartalet',
-        '4:e kvartalet'],
+      QUARTERS: const [
+    '1:a kvartalet',
+    '2:a kvartalet',
+    '3:e kvartalet',
+    '4:e kvartalet'
+  ],
       AMPMS: const ['fm', 'em'],
       DATEFORMATS: const ['EEEE d MMMM y', 'd MMMM y', 'd MMM y', 'y-MM-dd'],
-      TIMEFORMATS: const ['\'kl\'. HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss',
-        'HH:mm'],
+      TIMEFORMATS: const [
+    '\'kl\'. HH:mm:ss zzzz',
+    'HH:mm:ss z',
+    'HH:mm:ss',
+    'HH:mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -3934,38 +12145,142 @@
   /**
    * Date/time formatting symbols for locale sw.
    */
-  "sw" : new DateSymbols(
+  "sw": new DateSymbols(
       NAME: "sw",
       ERAS: const ['KK', 'BK'],
       ERANAMES: const ['Kabla ya Kristo', 'Baada ya Kristo'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni',
-        'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
-      STANDALONEMONTHS: const ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei',
-        'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul',
-        'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun',
-        'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'],
-      WEEKDAYS: const ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano',
-        'Alhamisi', 'Ijumaa', 'Jumamosi'],
-      STANDALONEWEEKDAYS: const ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano',
-        'Alhamisi', 'Ijumaa', 'Jumamosi'],
-      SHORTWEEKDAYS: const ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano',
-        'Alhamisi', 'Ijumaa', 'Jumamosi'],
-      STANDALONESHORTWEEKDAYS: const ['Jumapili', 'Jumatatu', 'Jumanne',
-        'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januari',
+    'Februari',
+    'Machi',
+    'Aprili',
+    'Mei',
+    'Juni',
+    'Julai',
+    'Agosti',
+    'Septemba',
+    'Oktoba',
+    'Novemba',
+    'Desemba'
+  ],
+      STANDALONEMONTHS: const [
+    'Januari',
+    'Februari',
+    'Machi',
+    'Aprili',
+    'Mei',
+    'Juni',
+    'Julai',
+    'Agosti',
+    'Septemba',
+    'Oktoba',
+    'Novemba',
+    'Desemba'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mac',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Ago',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mac',
+    'Apr',
+    'Mei',
+    'Jun',
+    'Jul',
+    'Ago',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Des'
+  ],
+      WEEKDAYS: const [
+    'Jumapili',
+    'Jumatatu',
+    'Jumanne',
+    'Jumatano',
+    'Alhamisi',
+    'Ijumaa',
+    'Jumamosi'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Jumapili',
+    'Jumatatu',
+    'Jumanne',
+    'Jumatano',
+    'Alhamisi',
+    'Ijumaa',
+    'Jumamosi'
+  ],
+      SHORTWEEKDAYS: const [
+    'Jumapili',
+    'Jumatatu',
+    'Jumanne',
+    'Jumatano',
+    'Alhamisi',
+    'Ijumaa',
+    'Jumamosi'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'Jumapili',
+    'Jumatatu',
+    'Jumanne',
+    'Jumatano',
+    'Alhamisi',
+    'Ijumaa',
+    'Jumamosi'
+  ],
       NARROWWEEKDAYS: const ['2', '3', '4', '5', 'A', 'I', '1'],
       STANDALONENARROWWEEKDAYS: const ['2', '3', '4', '5', 'A', 'I', '1'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['Robo 1', 'Robo 2', 'Robo 3', 'Robo 4'],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, d MMMM y', 'd MMMM y', 'd MMM y', 'dd/MM/y'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
       WEEKENDRANGE: const [5, 6],
@@ -3973,57 +12288,131 @@
   /**
    * Date/time formatting symbols for locale ta.
    */
-  "ta" : new DateSymbols(
+  "ta": new DateSymbols(
       NAME: "ta",
       ERAS: const ['கி.மு.', 'கி.பி.'],
-      ERANAMES: const [
-        'கிறிஸ்துவுக்கு முன்',
-        'அனோ டோமினி'],
-      NARROWMONTHS: const ['ஜ', 'பி', 'மா', 'ஏ', 'மே', 'ஜூ',
-        'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'],
-      STANDALONENARROWMONTHS: const ['ஜ', 'பி', 'மா', 'ஏ', 'மே',
-        'ஜூ', 'ஜூ', 'ஆ', 'செ', 'அ', 'ந', 'டி'],
-      MONTHS: const ['ஜனவரி', 'பிப்ரவரி',
-        'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்',
-        'ஜூலை', 'ஆகஸ்ட்', 'செப்டம்பர்',
-        'அக்டோபர்', 'நவம்பர்',
-        'டிசம்பர்'],
-      STANDALONEMONTHS: const ['ஜனவரி', 'பிப்ரவரி',
-        'மார்ச்', 'ஏப்ரல்', 'மே', 'ஜூன்',
-        'ஜூலை', 'ஆகஸ்டு', 'செப்டம்பர்',
-        'அக்டோபர்', 'நவம்பர்',
-        'டிசம்பர்'],
-      SHORTMONTHS: const ['ஜன.', 'பிப்.', 'மார்.',
-        'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.',
-        'செப்.', 'அக்.', 'நவ.', 'டிச.'],
-      STANDALONESHORTMONTHS: const ['ஜன.', 'பிப்.', 'மார்.',
-        'ஏப்.', 'மே', 'ஜூன்', 'ஜூலை', 'ஆக.',
-        'செப்.', 'அக்.', 'நவ.', 'டிச.'],
-      WEEKDAYS: const ['ஞாயிறு', 'திங்கள்',
-        'செவ்வாய்', 'புதன்', 'வியாழன்',
-        'வெள்ளி', 'சனி'],
-      STANDALONEWEEKDAYS: const ['ஞாயிறு', 'திங்கள்',
-        'செவ்வாய்', 'புதன்', 'வியாழன்',
-        'வெள்ளி', 'சனி'],
-      SHORTWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி',
-        'வெ', 'ச'],
-      STANDALONESHORTWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு',
-        'வி', 'வெ', 'ச'],
-      NARROWWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி',
-        'வெ', 'ச'],
-      STANDALONENARROWWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு',
-        'வி', 'வெ', 'ச'],
-      SHORTQUARTERS: const ['காலாண்டு1',
-        'காலாண்டு2', 'காலாண்டு3',
-        'காலாண்டு4'],
-      QUARTERS: const ['முதல் காலாண்டு',
-        'இரண்டாம் காலாண்டு',
-        'மூன்றாம் காலாண்டு',
-        'நான்காம் காலாண்டு'],
+      ERANAMES: const ['கிறிஸ்துவுக்கு முன்', 'அனோ டோமினி'],
+      NARROWMONTHS: const [
+    'ஜ',
+    'பி',
+    'மா',
+    'ஏ',
+    'மே',
+    'ஜூ',
+    'ஜூ',
+    'ஆ',
+    'செ',
+    'அ',
+    'ந',
+    'டி'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ஜ',
+    'பி',
+    'மா',
+    'ஏ',
+    'மே',
+    'ஜூ',
+    'ஜூ',
+    'ஆ',
+    'செ',
+    'அ',
+    'ந',
+    'டி'
+  ],
+      MONTHS: const [
+    'ஜனவரி',
+    'பிப்ரவரி',
+    'மார்ச்',
+    'ஏப்ரல்',
+    'மே',
+    'ஜூன்',
+    'ஜூலை',
+    'ஆகஸ்ட்',
+    'செப்டம்பர்',
+    'அக்டோபர்',
+    'நவம்பர்',
+    'டிசம்பர்'
+  ],
+      STANDALONEMONTHS: const [
+    'ஜனவரி',
+    'பிப்ரவரி',
+    'மார்ச்',
+    'ஏப்ரல்',
+    'மே',
+    'ஜூன்',
+    'ஜூலை',
+    'ஆகஸ்டு',
+    'செப்டம்பர்',
+    'அக்டோபர்',
+    'நவம்பர்',
+    'டிசம்பர்'
+  ],
+      SHORTMONTHS: const [
+    'ஜன.',
+    'பிப்.',
+    'மார்.',
+    'ஏப்.',
+    'மே',
+    'ஜூன்',
+    'ஜூலை',
+    'ஆக.',
+    'செப்.',
+    'அக்.',
+    'நவ.',
+    'டிச.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ஜன.',
+    'பிப்.',
+    'மார்.',
+    'ஏப்.',
+    'மே',
+    'ஜூன்',
+    'ஜூலை',
+    'ஆக.',
+    'செப்.',
+    'அக்.',
+    'நவ.',
+    'டிச.'
+  ],
+      WEEKDAYS: const [
+    'ஞாயிறு',
+    'திங்கள்',
+    'செவ்வாய்',
+    'புதன்',
+    'வியாழன்',
+    'வெள்ளி',
+    'சனி'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ஞாயிறு',
+    'திங்கள்',
+    'செவ்வாய்',
+    'புதன்',
+    'வியாழன்',
+    'வெள்ளி',
+    'சனி'
+  ],
+      SHORTWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+      STANDALONESHORTWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+      NARROWWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+      STANDALONENARROWWEEKDAYS: const ['ஞா', 'தி', 'செ', 'பு', 'வி', 'வெ', 'ச'],
+      SHORTQUARTERS: const ['காலாண்டு1', 'காலாண்டு2', 'காலாண்டு3', 'காலாண்டு4'],
+      QUARTERS: const [
+    'முதல் காலாண்டு',
+    'இரண்டாம் காலாண்டு',
+    'மூன்றாம் காலாண்டு',
+    'நான்காம் காலாண்டு'
+  ],
       AMPMS: const ['முற்பகல்', 'பிற்பகல்'],
       DATEFORMATS: const ['EEEE, d MMMM, y', 'd MMMM, y', 'd MMM, y', 'd-M-yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -4031,57 +12420,147 @@
   /**
    * Date/time formatting symbols for locale te.
    */
-  "te" : new DateSymbols(
+  "te": new DateSymbols(
       NAME: "te",
       ERAS: const ['క్రీపూ', 'క్రీశ'],
       ERANAMES: const ['ఈసాపూర్వ.', 'సన్.'],
-      NARROWMONTHS: const ['జ', 'ఫి', 'మా', 'ఏ', 'మే', 'జూ',
-        'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'],
-      STANDALONENARROWMONTHS: const ['జ', 'ఫి', 'మా', 'ఏ', 'మే',
-        'జూ', 'జు', 'ఆ', 'సె', 'అ', 'న', 'డి'],
-      MONTHS: const ['జనవరి', 'ఫిబ్రవరి',
-        'మార్చి', 'ఎప్రిల్', 'మే', 'జూన్',
-        'జులై', 'ఆగస్టు', 'సెప్టెంబర్',
-        'అక్టోబర్', 'నవంబర్',
-        'డిసెంబర్'],
-      STANDALONEMONTHS: const ['జనవరి', 'ఫిబ్రవరి',
-        'మార్చి', 'ఎప్రిల్', 'మే', 'జూన్',
-        'జూలై', 'ఆగస్టు', 'సెప్టెంబర్',
-        'అక్టోబర్', 'నవంబర్',
-        'డిసెంబర్'],
-      SHORTMONTHS: const ['జన', 'ఫిబ్ర', 'మార్చి',
-        'ఏప్రి', 'మే', 'జూన్', 'జులై', 'ఆగ',
-        'సెప్టెం', 'అక్టో', 'నవం',
-        'డిసెం'],
-      STANDALONESHORTMONTHS: const ['జన', 'ఫిబ్ర',
-        'మార్చి', 'ఏప్రి', 'మే', 'జూన్',
-        'జులై', 'ఆగస్టు', 'సెప్టెం',
-        'అక్టో', 'నవం', 'డిసెం'],
-      WEEKDAYS: const ['ఆదివారం', 'సోమవారం',
-        'మంగళవారం', 'బుధవారం',
-        'గురువారం', 'శుక్రవారం',
-        'శనివారం'],
-      STANDALONEWEEKDAYS: const ['ఆదివారం',
-        'సోమవారం', 'మంగళవారం',
-        'బుధవారం', 'గురువారం',
-        'శుక్రవారం', 'శనివారం'],
-      SHORTWEEKDAYS: const ['ఆది', 'సోమ', 'మంగళ',
-        'బుధ', 'గురు', 'శుక్ర', 'శని'],
-      STANDALONESHORTWEEKDAYS: const ['ఆది', 'సోమ', 'మంగళ',
-        'బుధ', 'గురు', 'శుక్ర', 'శని'],
-      NARROWWEEKDAYS: const ['ఆ', 'సో', 'మ', 'బు', 'గు',
-        'శు', 'శ'],
-      STANDALONENARROWWEEKDAYS: const ['ఆ', 'సో', 'మ', 'బు',
-        'గు', 'శు', 'శ'],
-      SHORTQUARTERS: const ['త్రై1', 'త్రై2', 'త్రై3',
-        'త్రై4'],
-      QUARTERS: const ['1వ త్రైమాసం',
-        '2వ త్రైమాసం', '3వ త్రైమాసం',
-        '4వ త్రైమాసం'],
+      NARROWMONTHS: const [
+    'జ',
+    'ఫి',
+    'మా',
+    'ఏ',
+    'మే',
+    'జూ',
+    'జు',
+    'ఆ',
+    'సె',
+    'అ',
+    'న',
+    'డి'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'జ',
+    'ఫి',
+    'మా',
+    'ఏ',
+    'మే',
+    'జూ',
+    'జు',
+    'ఆ',
+    'సె',
+    'అ',
+    'న',
+    'డి'
+  ],
+      MONTHS: const [
+    'జనవరి',
+    'ఫిబ్రవరి',
+    'మార్చి',
+    'ఎప్రిల్',
+    'మే',
+    'జూన్',
+    'జులై',
+    'ఆగస్టు',
+    'సెప్టెంబర్',
+    'అక్టోబర్',
+    'నవంబర్',
+    'డిసెంబర్'
+  ],
+      STANDALONEMONTHS: const [
+    'జనవరి',
+    'ఫిబ్రవరి',
+    'మార్చి',
+    'ఎప్రిల్',
+    'మే',
+    'జూన్',
+    'జూలై',
+    'ఆగస్టు',
+    'సెప్టెంబర్',
+    'అక్టోబర్',
+    'నవంబర్',
+    'డిసెంబర్'
+  ],
+      SHORTMONTHS: const [
+    'జన',
+    'ఫిబ్ర',
+    'మార్చి',
+    'ఏప్రి',
+    'మే',
+    'జూన్',
+    'జులై',
+    'ఆగ',
+    'సెప్టెం',
+    'అక్టో',
+    'నవం',
+    'డిసెం'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'జన',
+    'ఫిబ్ర',
+    'మార్చి',
+    'ఏప్రి',
+    'మే',
+    'జూన్',
+    'జులై',
+    'ఆగస్టు',
+    'సెప్టెం',
+    'అక్టో',
+    'నవం',
+    'డిసెం'
+  ],
+      WEEKDAYS: const [
+    'ఆదివారం',
+    'సోమవారం',
+    'మంగళవారం',
+    'బుధవారం',
+    'గురువారం',
+    'శుక్రవారం',
+    'శనివారం'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'ఆదివారం',
+    'సోమవారం',
+    'మంగళవారం',
+    'బుధవారం',
+    'గురువారం',
+    'శుక్రవారం',
+    'శనివారం'
+  ],
+      SHORTWEEKDAYS: const [
+    'ఆది',
+    'సోమ',
+    'మంగళ',
+    'బుధ',
+    'గురు',
+    'శుక్ర',
+    'శని'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'ఆది',
+    'సోమ',
+    'మంగళ',
+    'బుధ',
+    'గురు',
+    'శుక్ర',
+    'శని'
+  ],
+      NARROWWEEKDAYS: const ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'],
+      STANDALONENARROWWEEKDAYS: const ['ఆ', 'సో', 'మ', 'బు', 'గు', 'శు', 'శ'],
+      SHORTQUARTERS: const ['త్రై1', 'త్రై2', 'త్రై3', 'త్రై4'],
+      QUARTERS: const [
+    '1వ త్రైమాసం',
+    '2వ త్రైమాసం',
+    '3వ త్రైమాసం',
+    '4వ త్రైమాసం'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['d MMMM y EEEE', 'd MMMM y', 'd MMM y', 'dd-MM-yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [6, 6],
@@ -4089,62 +12568,139 @@
   /**
    * Date/time formatting symbols for locale th.
    */
-  "th" : new DateSymbols(
+  "th": new DateSymbols(
       NAME: "th",
       ERAS: const ['ปีก่อน ค.ศ.', 'ค.ศ.'],
-      ERANAMES: const ['ปีก่อนคริสต์ศักราช',
-        'คริสต์ศักราช'],
-      NARROWMONTHS: const ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.',
-        'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.',
-        'ต.ค.', 'พ.ย.', 'ธ.ค.'],
-      STANDALONENARROWMONTHS: const ['ม.ค.', 'ก.พ.', 'มี.ค.',
-        'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.',
-        'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
-      MONTHS: const ['มกราคม', 'กุมภาพันธ์',
-        'มีนาคม', 'เมษายน', 'พฤษภาคม',
-        'มิถุนายน', 'กรกฎาคม',
-        'สิงหาคม', 'กันยายน', 'ตุลาคม',
-        'พฤศจิกายน', 'ธันวาคม'],
-      STANDALONEMONTHS: const ['มกราคม',
-        'กุมภาพันธ์', 'มีนาคม',
-        'เมษายน', 'พฤษภาคม',
-        'มิถุนายน', 'กรกฎาคม',
-        'สิงหาคม', 'กันยายน', 'ตุลาคม',
-        'พฤศจิกายน', 'ธันวาคม'],
-      SHORTMONTHS: const ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.',
-        'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.',
-        'ต.ค.', 'พ.ย.', 'ธ.ค.'],
-      STANDALONESHORTMONTHS: const ['ม.ค.', 'ก.พ.', 'มี.ค.',
-        'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.',
-        'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
-      WEEKDAYS: const ['วันอาทิตย์',
-        'วันจันทร์', 'วันอังคาร',
-        'วันพุธ', 'วันพฤหัสบดี',
-        'วันศุกร์', 'วันเสาร์'],
-      STANDALONEWEEKDAYS: const ['วันอาทิตย์',
-        'วันจันทร์', 'วันอังคาร',
-        'วันพุธ', 'วันพฤหัสบดี',
-        'วันศุกร์', 'วันเสาร์'],
-      SHORTWEEKDAYS: const ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.',
-        'ศ.', 'ส.'],
-      STANDALONESHORTWEEKDAYS: const ['อา.', 'จ.', 'อ.', 'พ.',
-        'พฤ.', 'ศ.', 'ส.'],
-      NARROWWEEKDAYS: const ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ',
-        'ส'],
-      STANDALONENARROWWEEKDAYS: const ['อา', 'จ', 'อ', 'พ', 'พฤ',
-        'ศ', 'ส'],
-      SHORTQUARTERS: const ['ไตรมาส 1', 'ไตรมาส 2',
-        'ไตรมาส 3', 'ไตรมาส 4'],
-      QUARTERS: const ['ไตรมาส 1', 'ไตรมาส 2',
-        'ไตรมาส 3', 'ไตรมาส 4'],
-      AMPMS: const ['ก่อนเที่ยง',
-        'หลังเที่ยง'],
-      DATEFORMATS: const ['EEEEที่ d MMMM G y', 'd MMMM y', 'd MMM y',
-        'd/M/yy'],
+      ERANAMES: const ['ปีก่อนคริสต์ศักราช', 'คริสต์ศักราช'],
+      NARROWMONTHS: const [
+    'ม.ค.',
+    'ก.พ.',
+    'มี.ค.',
+    'เม.ย.',
+    'พ.ค.',
+    'มิ.ย.',
+    'ก.ค.',
+    'ส.ค.',
+    'ก.ย.',
+    'ต.ค.',
+    'พ.ย.',
+    'ธ.ค.'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'ม.ค.',
+    'ก.พ.',
+    'มี.ค.',
+    'เม.ย.',
+    'พ.ค.',
+    'มิ.ย.',
+    'ก.ค.',
+    'ส.ค.',
+    'ก.ย.',
+    'ต.ค.',
+    'พ.ย.',
+    'ธ.ค.'
+  ],
+      MONTHS: const [
+    'มกราคม',
+    'กุมภาพันธ์',
+    'มีนาคม',
+    'เมษายน',
+    'พฤษภาคม',
+    'มิถุนายน',
+    'กรกฎาคม',
+    'สิงหาคม',
+    'กันยายน',
+    'ตุลาคม',
+    'พฤศจิกายน',
+    'ธันวาคม'
+  ],
+      STANDALONEMONTHS: const [
+    'มกราคม',
+    'กุมภาพันธ์',
+    'มีนาคม',
+    'เมษายน',
+    'พฤษภาคม',
+    'มิถุนายน',
+    'กรกฎาคม',
+    'สิงหาคม',
+    'กันยายน',
+    'ตุลาคม',
+    'พฤศจิกายน',
+    'ธันวาคม'
+  ],
+      SHORTMONTHS: const [
+    'ม.ค.',
+    'ก.พ.',
+    'มี.ค.',
+    'เม.ย.',
+    'พ.ค.',
+    'มิ.ย.',
+    'ก.ค.',
+    'ส.ค.',
+    'ก.ย.',
+    'ต.ค.',
+    'พ.ย.',
+    'ธ.ค.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'ม.ค.',
+    'ก.พ.',
+    'มี.ค.',
+    'เม.ย.',
+    'พ.ค.',
+    'มิ.ย.',
+    'ก.ค.',
+    'ส.ค.',
+    'ก.ย.',
+    'ต.ค.',
+    'พ.ย.',
+    'ธ.ค.'
+  ],
+      WEEKDAYS: const [
+    'วันอาทิตย์',
+    'วันจันทร์',
+    'วันอังคาร',
+    'วันพุธ',
+    'วันพฤหัสบดี',
+    'วันศุกร์',
+    'วันเสาร์'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'วันอาทิตย์',
+    'วันจันทร์',
+    'วันอังคาร',
+    'วันพุธ',
+    'วันพฤหัสบดี',
+    'วันศุกร์',
+    'วันเสาร์'
+  ],
+      SHORTWEEKDAYS: const ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],
+      STANDALONESHORTWEEKDAYS: const [
+    'อา.',
+    'จ.',
+    'อ.',
+    'พ.',
+    'พฤ.',
+    'ศ.',
+    'ส.'
+  ],
+      NARROWWEEKDAYS: const ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'],
+      STANDALONENARROWWEEKDAYS: const ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'],
+      SHORTQUARTERS: const ['ไตรมาส 1', 'ไตรมาส 2', 'ไตรมาส 3', 'ไตรมาส 4'],
+      QUARTERS: const ['ไตรมาส 1', 'ไตรมาส 2', 'ไตรมาส 3', 'ไตรมาส 4'],
+      AMPMS: const ['ก่อนเที่ยง', 'หลังเที่ยง'],
+      DATEFORMATS: const [
+    'EEEEที่ d MMMM G y',
+    'd MMMM y',
+    'd MMM y',
+    'd/M/yy'
+  ],
       TIMEFORMATS: const [
-        'H นาฬิกา mm นาที ss วินาที zzzz',
-        'H นาฬิกา mm นาที ss วินาที z',
-        'HH:mm:ss', 'HH:mm'],
+    'H นาฬิกา mm นาที ss วินาที zzzz',
+    'H นาฬิกา mm นาที ss วินาที z',
+    'HH:mm:ss',
+    'HH:mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -4152,70 +12708,267 @@
   /**
    * Date/time formatting symbols for locale tl.
    */
-  "tl" : new DateSymbols(
+  "tl": new DateSymbols(
       NAME: "tl",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['BC', 'AD'],
-      NARROWMONTHS: const ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['E', 'P', 'M', 'A', 'M', 'H', 'H', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo',
-        'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'],
-      STANDALONEMONTHS: const ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo',
-        'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre',
-        'Disyembre'],
-      SHORTMONTHS: const ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul',
-        'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
-      STANDALONESHORTMONTHS: const ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun',
-        'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'],
-      WEEKDAYS: const ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes',
-        'Biyernes', 'Sabado'],
-      STANDALONEWEEKDAYS: const ['Linggo', 'Lunes', 'Martes', 'Miyerkules',
-        'Huwebes', 'Biyernes', 'Sabado'],
+      NARROWMONTHS: const [
+    'E',
+    'P',
+    'M',
+    'A',
+    'M',
+    'H',
+    'H',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'E',
+    'P',
+    'M',
+    'A',
+    'M',
+    'H',
+    'H',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Enero',
+    'Pebrero',
+    'Marso',
+    'Abril',
+    'Mayo',
+    'Hunyo',
+    'Hulyo',
+    'Agosto',
+    'Setyembre',
+    'Oktubre',
+    'Nobyembre',
+    'Disyembre'
+  ],
+      STANDALONEMONTHS: const [
+    'Enero',
+    'Pebrero',
+    'Marso',
+    'Abril',
+    'Mayo',
+    'Hunyo',
+    'Hulyo',
+    'Agosto',
+    'Setyembre',
+    'Oktubre',
+    'Nobyembre',
+    'Disyembre'
+  ],
+      SHORTMONTHS: const [
+    'Ene',
+    'Peb',
+    'Mar',
+    'Abr',
+    'May',
+    'Hun',
+    'Hul',
+    'Ago',
+    'Set',
+    'Okt',
+    'Nob',
+    'Dis'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Ene',
+    'Peb',
+    'Mar',
+    'Abr',
+    'May',
+    'Hun',
+    'Hul',
+    'Ago',
+    'Set',
+    'Okt',
+    'Nob',
+    'Dis'
+  ],
+      WEEKDAYS: const [
+    'Linggo',
+    'Lunes',
+    'Martes',
+    'Miyerkules',
+    'Huwebes',
+    'Biyernes',
+    'Sabado'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Linggo',
+    'Lunes',
+    'Martes',
+    'Miyerkules',
+    'Huwebes',
+    'Biyernes',
+    'Sabado'
+  ],
       SHORTWEEKDAYS: const ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'],
-      STANDALONESHORTWEEKDAYS: const ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy',
-        'Sab'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Lin',
+    'Lun',
+    'Mar',
+    'Miy',
+    'Huw',
+    'Biy',
+    'Sab'
+  ],
       NARROWWEEKDAYS: const ['L', 'L', 'M', 'M', 'H', 'B', 'S'],
       STANDALONENARROWWEEKDAYS: const ['L', 'L', 'M', 'M', 'H', 'B', 'S'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['ika-1 quarter', 'ika-2 quarter', 'ika-3 quarter',
-        'ika-4 na quarter'],
+      QUARTERS: const [
+    'ika-1 quarter',
+    'ika-2 quarter',
+    'ika-3 quarter',
+    'ika-4 na quarter'
+  ],
       AMPMS: const ['AM', 'PM'],
       DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
-      DATETIMEFORMATS: const ['{1} \'ng\' {0}', '{1} \'ng\' {0}', '{1}, {0}',
-        '{1}, {0}'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
+      DATETIMEFORMATS: const [
+    '{1} \'ng\' {0}',
+    '{1} \'ng\' {0}',
+    '{1}, {0}',
+    '{1}, {0}'
+  ],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
       FIRSTWEEKCUTOFFDAY: 5),
   /**
    * Date/time formatting symbols for locale tr.
    */
-  "tr" : new DateSymbols(
+  "tr": new DateSymbols(
       NAME: "tr",
       ERAS: const ['MÖ', 'MS'],
       ERANAMES: const ['Milattan Önce', 'Milattan Sonra'],
-      NARROWMONTHS: const ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A', 'E', 'E',
-        'K', 'A'],
-      STANDALONENARROWMONTHS: const ['O', 'Ş', 'M', 'N', 'M', 'H', 'T', 'A',
-        'E', 'E', 'K', 'A'],
-      MONTHS: const ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran',
-        'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
-      STANDALONEMONTHS: const ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs',
-        'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
-      SHORTMONTHS: const ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem',
-        'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],
-      STANDALONESHORTMONTHS: const ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz',
-        'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],
-      WEEKDAYS: const ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe',
-        'Cuma', 'Cumartesi'],
-      STANDALONEWEEKDAYS: const ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba',
-        'Perşembe', 'Cuma', 'Cumartesi'],
+      NARROWMONTHS: const [
+    'O',
+    'Ş',
+    'M',
+    'N',
+    'M',
+    'H',
+    'T',
+    'A',
+    'E',
+    'E',
+    'K',
+    'A'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'O',
+    'Ş',
+    'M',
+    'N',
+    'M',
+    'H',
+    'T',
+    'A',
+    'E',
+    'E',
+    'K',
+    'A'
+  ],
+      MONTHS: const [
+    'Ocak',
+    'Şubat',
+    'Mart',
+    'Nisan',
+    'Mayıs',
+    'Haziran',
+    'Temmuz',
+    'Ağustos',
+    'Eylül',
+    'Ekim',
+    'Kasım',
+    'Aralık'
+  ],
+      STANDALONEMONTHS: const [
+    'Ocak',
+    'Şubat',
+    'Mart',
+    'Nisan',
+    'Mayıs',
+    'Haziran',
+    'Temmuz',
+    'Ağustos',
+    'Eylül',
+    'Ekim',
+    'Kasım',
+    'Aralık'
+  ],
+      SHORTMONTHS: const [
+    'Oca',
+    'Şub',
+    'Mar',
+    'Nis',
+    'May',
+    'Haz',
+    'Tem',
+    'Ağu',
+    'Eyl',
+    'Eki',
+    'Kas',
+    'Ara'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Oca',
+    'Şub',
+    'Mar',
+    'Nis',
+    'May',
+    'Haz',
+    'Tem',
+    'Ağu',
+    'Eyl',
+    'Eki',
+    'Kas',
+    'Ara'
+  ],
+      WEEKDAYS: const [
+    'Pazar',
+    'Pazartesi',
+    'Salı',
+    'Çarşamba',
+    'Perşembe',
+    'Cuma',
+    'Cumartesi'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Pazar',
+    'Pazartesi',
+    'Salı',
+    'Çarşamba',
+    'Perşembe',
+    'Cuma',
+    'Cumartesi'
+  ],
       SHORTWEEKDAYS: const ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'],
-      STANDALONESHORTWEEKDAYS: const ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum',
-        'Cmt'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Paz',
+    'Pzt',
+    'Sal',
+    'Çar',
+    'Per',
+    'Cum',
+    'Cmt'
+  ],
       NARROWWEEKDAYS: const ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],
       STANDALONENARROWWEEKDAYS: const ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],
       SHORTQUARTERS: const ['Ç1', 'Ç2', 'Ç3', 'Ç4'],
@@ -4230,46 +12983,125 @@
   /**
    * Date/time formatting symbols for locale uk.
    */
-  "uk" : new DateSymbols(
+  "uk": new DateSymbols(
       NAME: "uk",
       ERAS: const ['до н.е.', 'н.е.'],
       ERANAMES: const ['до нашої ери', 'нашої ери'],
-      NARROWMONTHS: const ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л', 'С', 'В',
-        'Ж', 'Л', 'Г'],
-      STANDALONENARROWMONTHS: const ['С', 'Л', 'Б', 'К', 'Т', 'Ч', 'Л',
-        'С', 'В', 'Ж', 'Л', 'Г'],
-      MONTHS: const ['січня', 'лютого', 'березня',
-        'квітня', 'травня', 'червня', 'липня',
-        'серпня', 'вересня', 'жовтня', 'листопада',
-        'грудня'],
-      STANDALONEMONTHS: const ['Січень', 'Лютий', 'Березень',
-        'Квітень', 'Травень', 'Червень', 'Липень',
-        'Серпень', 'Вересень', 'Жовтень',
-        'Листопад', 'Грудень'],
-      SHORTMONTHS: const ['січ.', 'лют.', 'бер.', 'квіт.',
-        'трав.', 'черв.', 'лип.', 'серп.', 'вер.',
-        'жовт.', 'лист.', 'груд.'],
-      STANDALONESHORTMONTHS: const ['Січ', 'Лют', 'Бер', 'Кві',
-        'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис',
-        'Гру'],
-      WEEKDAYS: const ['неділя', 'понеділок', 'вівторок',
-        'середа', 'четвер', 'пʼятниця', 'субота'],
-      STANDALONEWEEKDAYS: const ['Неділя', 'Понеділок',
-        'Вівторок', 'Середа', 'Четвер', 'Пʼятниця',
-        'Субота'],
-      SHORTWEEKDAYS: const ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт',
-        'Сб'],
-      STANDALONESHORTWEEKDAYS: const ['Нд', 'Пн', 'Вт', 'Ср', 'Чт',
-        'Пт', 'Сб'],
+      NARROWMONTHS: const [
+    'С',
+    'Л',
+    'Б',
+    'К',
+    'Т',
+    'Ч',
+    'Л',
+    'С',
+    'В',
+    'Ж',
+    'Л',
+    'Г'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'С',
+    'Л',
+    'Б',
+    'К',
+    'Т',
+    'Ч',
+    'Л',
+    'С',
+    'В',
+    'Ж',
+    'Л',
+    'Г'
+  ],
+      MONTHS: const [
+    'січня',
+    'лютого',
+    'березня',
+    'квітня',
+    'травня',
+    'червня',
+    'липня',
+    'серпня',
+    'вересня',
+    'жовтня',
+    'листопада',
+    'грудня'
+  ],
+      STANDALONEMONTHS: const [
+    'Січень',
+    'Лютий',
+    'Березень',
+    'Квітень',
+    'Травень',
+    'Червень',
+    'Липень',
+    'Серпень',
+    'Вересень',
+    'Жовтень',
+    'Листопад',
+    'Грудень'
+  ],
+      SHORTMONTHS: const [
+    'січ.',
+    'лют.',
+    'бер.',
+    'квіт.',
+    'трав.',
+    'черв.',
+    'лип.',
+    'серп.',
+    'вер.',
+    'жовт.',
+    'лист.',
+    'груд.'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Січ',
+    'Лют',
+    'Бер',
+    'Кві',
+    'Тра',
+    'Чер',
+    'Лип',
+    'Сер',
+    'Вер',
+    'Жов',
+    'Лис',
+    'Гру'
+  ],
+      WEEKDAYS: const [
+    'неділя',
+    'понеділок',
+    'вівторок',
+    'середа',
+    'четвер',
+    'пʼятниця',
+    'субота'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Неділя',
+    'Понеділок',
+    'Вівторок',
+    'Середа',
+    'Четвер',
+    'Пʼятниця',
+    'Субота'
+  ],
+      SHORTWEEKDAYS: const ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
+      STANDALONESHORTWEEKDAYS: const ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
       NARROWWEEKDAYS: const ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],
-      STANDALONENARROWWEEKDAYS: const ['Н', 'П', 'В', 'С', 'Ч', 'П',
-        'С'],
+      STANDALONENARROWWEEKDAYS: const ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],
       SHORTQUARTERS: const ['I кв.', 'II кв.', 'III кв.', 'IV кв.'],
-      QUARTERS: const ['I квартал', 'II квартал',
-        'III квартал', 'IV квартал'],
+      QUARTERS: const ['I квартал', 'II квартал', 'III квартал', 'IV квартал'],
       AMPMS: const ['дп', 'пп'],
-      DATEFORMATS: const ['EEEE, d MMMM y \'р\'.', 'd MMMM y \'р\'.',
-        'd MMM y', 'dd.MM.yy'],
+      DATEFORMATS: const [
+    'EEEE, d MMMM y \'р\'.',
+    'd MMMM y \'р\'.',
+    'd MMM y',
+    'dd.MM.yy'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 0,
@@ -4278,46 +13110,152 @@
   /**
    * Date/time formatting symbols for locale ur.
    */
-  "ur" : new DateSymbols(
+  "ur": new DateSymbols(
       NAME: "ur",
       ERAS: const ['ق م', 'عیسوی سن'],
       ERANAMES: const ['قبل مسیح', 'عیسوی سن'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['جنوری', 'فروری', 'مارچ', 'اپریل',
-        'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر',
-        'اکتوبر', 'نومبر', 'دسمبر'],
-      STANDALONEMONTHS: const ['جنوری', 'فروری', 'مارچ',
-        'اپریل', 'مئی', 'جون', 'جولائی', 'اگست',
-        'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
-      SHORTMONTHS: const ['جنوری', 'فروری', 'مارچ', 'اپریل',
-        'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر',
-        'اکتوبر', 'نومبر', 'دسمبر'],
-      STANDALONESHORTMONTHS: const ['جنوری', 'فروری', 'مارچ',
-        'اپریل', 'مئی', 'جون', 'جولائی', 'اگست',
-        'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],
-      WEEKDAYS: const ['اتوار', 'سوموار', 'منگل', 'بدھ',
-        'جمعرات', 'جمعہ', 'ہفتہ'],
-      STANDALONEWEEKDAYS: const ['اتوار', 'سوموار', 'منگل',
-        'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'],
-      SHORTWEEKDAYS: const ['اتوار', 'سوموار', 'منگل', 'بدھ',
-        'جمعرات', 'جمعہ', 'ہفتہ'],
-      STANDALONESHORTWEEKDAYS: const ['اتوار', 'سوموار', 'منگل',
-        'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر'
+  ],
+      STANDALONEMONTHS: const [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر'
+  ],
+      SHORTMONTHS: const [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر'
+  ],
+      WEEKDAYS: const [
+    'اتوار',
+    'سوموار',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'اتوار',
+    'سوموار',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ'
+  ],
+      SHORTWEEKDAYS: const [
+    'اتوار',
+    'سوموار',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'اتوار',
+    'سوموار',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
-      SHORTQUARTERS: const ['پہلی سہ ماہی',
-        'دوسری سہ ماہی', 'تیسری سہ ماہی',
-        'چوتهی سہ ماہی'],
-      QUARTERS: const ['پہلی سہ ماہی', 'دوسری سہ ماہی',
-        'تیسری سہ ماہی', 'چوتهی سہ ماہی'],
+      SHORTQUARTERS: const [
+    'پہلی سہ ماہی',
+    'دوسری سہ ماہی',
+    'تیسری سہ ماہی',
+    'چوتهی سہ ماہی'
+  ],
+      QUARTERS: const [
+    'پہلی سہ ماہی',
+    'دوسری سہ ماہی',
+    'تیسری سہ ماہی',
+    'چوتهی سہ ماہی'
+  ],
       AMPMS: const ['قبل دوپہر', 'بعد دوپہر'],
-      DATEFORMATS: const ['EEEE، d MMMM، y', 'd MMMM، y', 'd MMM، y',
-        'd/M/yy'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      DATEFORMATS: const ['EEEE، d MMMM، y', 'd MMMM، y', 'd MMM، y', 'd/M/yy'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -4325,30 +13263,130 @@
   /**
    * Date/time formatting symbols for locale uz.
    */
-  "uz" : new DateSymbols(
+  "uz": new DateSymbols(
       NAME: "uz",
       ERAS: const ['M.A.', 'E'],
       ERANAMES: const ['M.A.', 'E'],
-      NARROWMONTHS: const ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['Y', 'F', 'M', 'A', 'M', 'I', 'I', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul',
-        'Avgust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
-      STANDALONEMONTHS: const ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May',
-        'Iyun', 'Iyul', 'Avgust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'],
-      SHORTMONTHS: const ['Yanv', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul',
-        'Avg', 'Sen', 'Okt', 'Noya', 'Dek'],
-      STANDALONESHORTMONTHS: const ['Yanv', 'Fev', 'Mar', 'Apr', 'May', 'Iyun',
-        'Iyul', 'Avg', 'Sen', 'Okt', 'Noya', 'Dek'],
-      WEEKDAYS: const ['yakshanba', 'dushanba', 'seshanba', 'chorshanba',
-        'payshanba', 'juma', 'shanba'],
-      STANDALONEWEEKDAYS: const ['yakshanba', 'dushanba', 'seshanba',
-        'chorshanba', 'payshanba', 'juma', 'shanba'],
-      SHORTWEEKDAYS: const ['Yaksh', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum',
-        'Shan'],
-      STANDALONESHORTWEEKDAYS: const ['Yaksh', 'Dush', 'Sesh', 'Chor', 'Pay',
-        'Jum', 'Shan'],
+      NARROWMONTHS: const [
+    'Y',
+    'F',
+    'M',
+    'A',
+    'M',
+    'I',
+    'I',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'Y',
+    'F',
+    'M',
+    'A',
+    'M',
+    'I',
+    'I',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Yanvar',
+    'Fevral',
+    'Mart',
+    'Aprel',
+    'May',
+    'Iyun',
+    'Iyul',
+    'Avgust',
+    'Sentyabr',
+    'Oktyabr',
+    'Noyabr',
+    'Dekabr'
+  ],
+      STANDALONEMONTHS: const [
+    'Yanvar',
+    'Fevral',
+    'Mart',
+    'Aprel',
+    'May',
+    'Iyun',
+    'Iyul',
+    'Avgust',
+    'Sentyabr',
+    'Oktyabr',
+    'Noyabr',
+    'Dekabr'
+  ],
+      SHORTMONTHS: const [
+    'Yanv',
+    'Fev',
+    'Mar',
+    'Apr',
+    'May',
+    'Iyun',
+    'Iyul',
+    'Avg',
+    'Sen',
+    'Okt',
+    'Noya',
+    'Dek'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Yanv',
+    'Fev',
+    'Mar',
+    'Apr',
+    'May',
+    'Iyun',
+    'Iyul',
+    'Avg',
+    'Sen',
+    'Okt',
+    'Noya',
+    'Dek'
+  ],
+      WEEKDAYS: const [
+    'yakshanba',
+    'dushanba',
+    'seshanba',
+    'chorshanba',
+    'payshanba',
+    'juma',
+    'shanba'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'yakshanba',
+    'dushanba',
+    'seshanba',
+    'chorshanba',
+    'payshanba',
+    'juma',
+    'shanba'
+  ],
+      SHORTWEEKDAYS: const [
+    'Yaksh',
+    'Dush',
+    'Sesh',
+    'Chor',
+    'Pay',
+    'Jum',
+    'Shan'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'Yaksh',
+    'Dush',
+    'Sesh',
+    'Chor',
+    'Pay',
+    'Jum',
+    'Shan'
+  ],
       NARROWWEEKDAYS: const ['Y', 'D', 'S', 'C', 'P', 'J', 'S'],
       STANDALONENARROWWEEKDAYS: const ['Y', 'D', 'S', 'C', 'P', 'J', 'S'],
       SHORTQUARTERS: const ['1-ch', '2-ch', '3-ch', '4-ch'],
@@ -4363,40 +13401,149 @@
   /**
    * Date/time formatting symbols for locale vi.
    */
-  "vi" : new DateSymbols(
+  "vi": new DateSymbols(
       NAME: "vi",
       ERAS: const ['tr. CN', 'sau CN'],
       ERANAMES: const ['tr. CN', 'sau CN'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['tháng 1', 'tháng 2', 'tháng 3', 'tháng 4', 'tháng 5',
-        'tháng 6', 'tháng 7', 'tháng 8', 'tháng 9', 'tháng 10',
-        'tháng 11', 'tháng 12'],
-      STANDALONEMONTHS: const ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4',
-        'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10',
-        'Tháng 11', 'Tháng 12'],
-      SHORTMONTHS: const ['thg 1', 'thg 2', 'thg 3', 'thg 4', 'thg 5', 'thg 6',
-        'thg 7', 'thg 8', 'thg 9', 'thg 10', 'thg 11', 'thg 12'],
-      STANDALONESHORTMONTHS: const ['Thg 1', 'Thg 2', 'Thg 3', 'Thg 4', 'Thg 5',
-        'Thg 6', 'Thg 7', 'Thg 8', 'Thg 9', 'Thg 10', 'Thg 11', 'Thg 12'],
-      WEEKDAYS: const ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư',
-        'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],
-      STANDALONEWEEKDAYS: const ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba',
-        'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],
-      SHORTWEEKDAYS: const ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5', 'Th 6',
-        'Th 7'],
-      STANDALONESHORTWEEKDAYS: const ['CN', 'Th 2', 'Th 3', 'Th 4', 'Th 5',
-        'Th 6', 'Th 7'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    'tháng 1',
+    'tháng 2',
+    'tháng 3',
+    'tháng 4',
+    'tháng 5',
+    'tháng 6',
+    'tháng 7',
+    'tháng 8',
+    'tháng 9',
+    'tháng 10',
+    'tháng 11',
+    'tháng 12'
+  ],
+      STANDALONEMONTHS: const [
+    'Tháng 1',
+    'Tháng 2',
+    'Tháng 3',
+    'Tháng 4',
+    'Tháng 5',
+    'Tháng 6',
+    'Tháng 7',
+    'Tháng 8',
+    'Tháng 9',
+    'Tháng 10',
+    'Tháng 11',
+    'Tháng 12'
+  ],
+      SHORTMONTHS: const [
+    'thg 1',
+    'thg 2',
+    'thg 3',
+    'thg 4',
+    'thg 5',
+    'thg 6',
+    'thg 7',
+    'thg 8',
+    'thg 9',
+    'thg 10',
+    'thg 11',
+    'thg 12'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Thg 1',
+    'Thg 2',
+    'Thg 3',
+    'Thg 4',
+    'Thg 5',
+    'Thg 6',
+    'Thg 7',
+    'Thg 8',
+    'Thg 9',
+    'Thg 10',
+    'Thg 11',
+    'Thg 12'
+  ],
+      WEEKDAYS: const [
+    'Chủ Nhật',
+    'Thứ Hai',
+    'Thứ Ba',
+    'Thứ Tư',
+    'Thứ Năm',
+    'Thứ Sáu',
+    'Thứ Bảy'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Chủ Nhật',
+    'Thứ Hai',
+    'Thứ Ba',
+    'Thứ Tư',
+    'Thứ Năm',
+    'Thứ Sáu',
+    'Thứ Bảy'
+  ],
+      SHORTWEEKDAYS: const [
+    'CN',
+    'Th 2',
+    'Th 3',
+    'Th 4',
+    'Th 5',
+    'Th 6',
+    'Th 7'
+  ],
+      STANDALONESHORTWEEKDAYS: const [
+    'CN',
+    'Th 2',
+    'Th 3',
+    'Th 4',
+    'Th 5',
+    'Th 6',
+    'Th 7'
+  ],
       NARROWWEEKDAYS: const ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
-      STANDALONENARROWWEEKDAYS: const ['CN', 'T2', 'T3', 'T4', 'T5', 'T6',
-        'T7'],
+      STANDALONENARROWWEEKDAYS: const [
+    'CN',
+    'T2',
+    'T3',
+    'T4',
+    'T5',
+    'T6',
+    'T7'
+  ],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
       QUARTERS: const ['Quý 1', 'Quý 2', 'Quý 3', 'Quý 4'],
       AMPMS: const ['SA', 'CH'],
-      DATEFORMATS: const ['EEEE, \'ngày\' dd MMMM \'năm\' y',
-        '\'Ngày\' dd \'tháng\' MM \'năm\' y', 'dd-MM-y', 'dd/MM/y'],
+      DATEFORMATS: const [
+    'EEEE, \'ngày\' dd MMMM \'năm\' y',
+    '\'Ngày\' dd \'tháng\' MM \'năm\' y',
+    'dd-MM-y',
+    'dd/MM/y'
+  ],
       TIMEFORMATS: const ['HH:mm:ss zzzz', 'HH:mm:ss z', 'HH:mm:ss', 'HH:mm'],
       DATETIMEFORMATS: const ['{0} {1}', '{0} {1}', '{0} {1}', '{0} {1}'],
       FIRSTDAYOFWEEK: 0,
@@ -4405,40 +13552,112 @@
   /**
    * Date/time formatting symbols for locale zh.
    */
-  "zh" : new DateSymbols(
+  "zh": new DateSymbols(
       NAME: "zh",
       ERAS: const ['公元前', '公元'],
       ERANAMES: const ['公元前', '公元'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['一月', '二月', '三月', '四月', '五月', '六月',
-        '七月', '八月', '九月', '十月', '十一月', '十二月'],
-      STANDALONEMONTHS: const ['一月', '二月', '三月', '四月', '五月',
-        '六月', '七月', '八月', '九月', '十月', '十一月',
-        '十二月'],
-      SHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      STANDALONESHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月',
-        '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三',
-        '星期四', '星期五', '星期六'],
-      STANDALONEWEEKDAYS: const ['星期日', '星期一', '星期二',
-        '星期三', '星期四', '星期五', '星期六'],
-      SHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四',
-        '周五', '周六'],
-      STANDALONESHORTWEEKDAYS: const ['周日', '周一', '周二', '周三',
-        '周四', '周五', '周六'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    '一月',
+    '二月',
+    '三月',
+    '四月',
+    '五月',
+    '六月',
+    '七月',
+    '八月',
+    '九月',
+    '十月',
+    '十一月',
+    '十二月'
+  ],
+      STANDALONEMONTHS: const [
+    '一月',
+    '二月',
+    '三月',
+    '四月',
+    '五月',
+    '六月',
+    '七月',
+    '八月',
+    '九月',
+    '十月',
+    '十一月',
+    '十二月'
+  ],
+      SHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+      STANDALONEWEEKDAYS: const [
+    '星期日',
+    '星期一',
+    '星期二',
+    '星期三',
+    '星期四',
+    '星期五',
+    '星期六'
+  ],
+      SHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
+      STANDALONESHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
       NARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
-      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五',
-        '六'],
+      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
       SHORTQUARTERS: const ['1季度', '2季度', '3季度', '4季度'],
-      QUARTERS: const ['第一季度', '第二季度', '第三季度',
-        '第四季度'],
+      QUARTERS: const ['第一季度', '第二季度', '第三季度', '第四季度'],
       AMPMS: const ['上午', '下午'],
-      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日',
-        'yy/M/d'],
+      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'yy/M/d'],
       TIMEFORMATS: const ['zzzzah:mm:ss', 'zah:mm:ss', 'ah:mm:ss', 'ah:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -4450,40 +13669,112 @@
   /**
    * Date/time formatting symbols for locale zh_CN.
    */
-  "zh_CN" : new DateSymbols(
+  "zh_CN": new DateSymbols(
       NAME: "zh_CN",
       ERAS: const ['公元前', '公元'],
       ERANAMES: const ['公元前', '公元'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['一月', '二月', '三月', '四月', '五月', '六月',
-        '七月', '八月', '九月', '十月', '十一月', '十二月'],
-      STANDALONEMONTHS: const ['一月', '二月', '三月', '四月', '五月',
-        '六月', '七月', '八月', '九月', '十月', '十一月',
-        '十二月'],
-      SHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      STANDALONESHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月',
-        '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三',
-        '星期四', '星期五', '星期六'],
-      STANDALONEWEEKDAYS: const ['星期日', '星期一', '星期二',
-        '星期三', '星期四', '星期五', '星期六'],
-      SHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四',
-        '周五', '周六'],
-      STANDALONESHORTWEEKDAYS: const ['周日', '周一', '周二', '周三',
-        '周四', '周五', '周六'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    '一月',
+    '二月',
+    '三月',
+    '四月',
+    '五月',
+    '六月',
+    '七月',
+    '八月',
+    '九月',
+    '十月',
+    '十一月',
+    '十二月'
+  ],
+      STANDALONEMONTHS: const [
+    '一月',
+    '二月',
+    '三月',
+    '四月',
+    '五月',
+    '六月',
+    '七月',
+    '八月',
+    '九月',
+    '十月',
+    '十一月',
+    '十二月'
+  ],
+      SHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+      STANDALONEWEEKDAYS: const [
+    '星期日',
+    '星期一',
+    '星期二',
+    '星期三',
+    '星期四',
+    '星期五',
+    '星期六'
+  ],
+      SHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
+      STANDALONESHORTWEEKDAYS: const ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
       NARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
-      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五',
-        '六'],
+      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
       SHORTQUARTERS: const ['1季度', '2季度', '3季度', '4季度'],
-      QUARTERS: const ['第一季度', '第二季度', '第三季度',
-        '第四季度'],
+      QUARTERS: const ['第一季度', '第二季度', '第三季度', '第四季度'],
       AMPMS: const ['上午', '下午'],
-      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日',
-        'yy/M/d'],
+      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'yy/M/d'],
       TIMEFORMATS: const ['zzzzah:mm:ss', 'zah:mm:ss', 'ah:mm:ss', 'ah:mm'],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
@@ -4492,40 +13783,118 @@
   /**
    * Date/time formatting symbols for locale zh_HK.
    */
-  "zh_HK" : new DateSymbols(
+  "zh_HK": new DateSymbols(
       NAME: "zh_HK",
       ERAS: const ['西元前', '西元'],
       ERANAMES: const ['西元前', '西元'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月', '7月',
-        '8月', '9月', '10月', '11月', '12月'],
-      STANDALONEMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      SHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      STANDALONESHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月',
-        '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三',
-        '星期四', '星期五', '星期六'],
-      STANDALONEWEEKDAYS: const ['星期日', '星期一', '星期二',
-        '星期三', '星期四', '星期五', '星期六'],
-      SHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四',
-        '週五', '週六'],
-      STANDALONESHORTWEEKDAYS: const ['週日', '週一', '週二', '週三',
-        '週四', '週五', '週六'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONEMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      SHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+      STANDALONEWEEKDAYS: const [
+    '星期日',
+    '星期一',
+    '星期二',
+    '星期三',
+    '星期四',
+    '星期五',
+    '星期六'
+  ],
+      SHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
+      STANDALONESHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
       NARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
-      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五',
-        '六'],
+      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
       SHORTQUARTERS: const ['1季', '2季', '3季', '4季'],
       QUARTERS: const ['第1季', '第2季', '第3季', '第4季'],
       AMPMS: const ['上午', '下午'],
-      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日',
-        'd/M/yy'],
-      TIMEFORMATS: const ['ah:mm:ss [zzzz]', 'ah:mm:ss [z]', 'ah:mm:ss',
-        'ah:mm'],
+      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'd/M/yy'],
+      TIMEFORMATS: const [
+    'ah:mm:ss [zzzz]',
+    'ah:mm:ss [z]',
+    'ah:mm:ss',
+    'ah:mm'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1}{0}', '{1}{0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -4533,40 +13902,113 @@
   /**
    * Date/time formatting symbols for locale zh_TW.
    */
-  "zh_TW" : new DateSymbols(
+  "zh_TW": new DateSymbols(
       NAME: "zh_TW",
       ERAS: const ['西元前', '西元'],
       ERANAMES: const ['西元前', '西元'],
-      NARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
-        '11', '12'],
-      STANDALONENARROWMONTHS: const ['1', '2', '3', '4', '5', '6', '7', '8',
-        '9', '10', '11', '12'],
-      MONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月', '7月',
-        '8月', '9月', '10月', '11月', '12月'],
-      STANDALONEMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      SHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月', '6月',
-        '7月', '8月', '9月', '10月', '11月', '12月'],
-      STANDALONESHORTMONTHS: const ['1月', '2月', '3月', '4月', '5月',
-        '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三',
-        '星期四', '星期五', '星期六'],
-      STANDALONEWEEKDAYS: const ['星期日', '星期一', '星期二',
-        '星期三', '星期四', '星期五', '星期六'],
-      SHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四',
-        '週五', '週六'],
-      STANDALONESHORTWEEKDAYS: const ['週日', '週一', '週二', '週三',
-        '週四', '週五', '週六'],
+      NARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      STANDALONENARROWMONTHS: const [
+    '1',
+    '2',
+    '3',
+    '4',
+    '5',
+    '6',
+    '7',
+    '8',
+    '9',
+    '10',
+    '11',
+    '12'
+  ],
+      MONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONEMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      SHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      STANDALONESHORTMONTHS: const [
+    '1月',
+    '2月',
+    '3月',
+    '4月',
+    '5月',
+    '6月',
+    '7月',
+    '8月',
+    '9月',
+    '10月',
+    '11月',
+    '12月'
+  ],
+      WEEKDAYS: const ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+      STANDALONEWEEKDAYS: const [
+    '星期日',
+    '星期一',
+    '星期二',
+    '星期三',
+    '星期四',
+    '星期五',
+    '星期六'
+  ],
+      SHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
+      STANDALONESHORTWEEKDAYS: const ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
       NARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
-      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五',
-        '六'],
+      STANDALONENARROWWEEKDAYS: const ['日', '一', '二', '三', '四', '五', '六'],
       SHORTQUARTERS: const ['1季', '2季', '3季', '4季'],
       QUARTERS: const ['第1季', '第2季', '第3季', '第4季'],
       AMPMS: const ['上午', '下午'],
-      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日',
-        'y/M/d'],
-      TIMEFORMATS: const ['zzzzah時mm分ss秒', 'zah時mm分ss秒', 'ah:mm:ss',
-        'ah:mm'],
+      DATEFORMATS: const ['y年M月d日EEEE', 'y年M月d日', 'y年M月d日', 'y/M/d'],
+      TIMEFORMATS: const ['zzzzah時mm分ss秒', 'zah時mm分ss秒', 'ah:mm:ss', 'ah:mm'],
       DATETIMEFORMATS: const ['{1}{0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
@@ -4574,39 +14016,139 @@
   /**
    * Date/time formatting symbols for locale zu.
    */
-  "zu" : new DateSymbols(
+  "zu": new DateSymbols(
       NAME: "zu",
       ERAS: const ['BC', 'AD'],
       ERANAMES: const ['BC', 'AD'],
-      NARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-        'N', 'D'],
-      STANDALONENARROWMONTHS: const ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-        'S', 'O', 'N', 'D'],
-      MONTHS: const ['Januwari', 'Februwari', 'Mashi', 'Apreli', 'Meyi', 'Juni',
-        'Julayi', 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'],
-      STANDALONEMONTHS: const ['uJanuwari', 'uFebruwari', 'uMashi', 'u-Apreli',
-        'uMeyi', 'uJuni', 'uJulayi', 'uAgasti', 'uSepthemba', 'u-Okthoba',
-        'uNovemba', 'uDisemba'],
-      SHORTMONTHS: const ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun', 'Jul',
-        'Aga', 'Sep', 'Okt', 'Nov', 'Dis'],
-      STANDALONESHORTMONTHS: const ['Jan', 'Feb', 'Mas', 'Apr', 'Mey', 'Jun',
-        'Jul', 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'],
-      WEEKDAYS: const ['Sonto', 'Msombuluko', 'Lwesibili', 'Lwesithathu',
-        'Lwesine', 'Lwesihlanu', 'Mgqibelo'],
-      STANDALONEWEEKDAYS: const ['Sonto', 'Msombuluko', 'Lwesibili',
-        'Lwesithathu', 'Lwesine', 'Lwesihlanu', 'Mgqibelo'],
+      NARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      STANDALONENARROWMONTHS: const [
+    'J',
+    'F',
+    'M',
+    'A',
+    'M',
+    'J',
+    'J',
+    'A',
+    'S',
+    'O',
+    'N',
+    'D'
+  ],
+      MONTHS: const [
+    'Januwari',
+    'Februwari',
+    'Mashi',
+    'Apreli',
+    'Meyi',
+    'Juni',
+    'Julayi',
+    'Agasti',
+    'Septhemba',
+    'Okthoba',
+    'Novemba',
+    'Disemba'
+  ],
+      STANDALONEMONTHS: const [
+    'uJanuwari',
+    'uFebruwari',
+    'uMashi',
+    'u-Apreli',
+    'uMeyi',
+    'uJuni',
+    'uJulayi',
+    'uAgasti',
+    'uSepthemba',
+    'u-Okthoba',
+    'uNovemba',
+    'uDisemba'
+  ],
+      SHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mas',
+    'Apr',
+    'Mey',
+    'Jun',
+    'Jul',
+    'Aga',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dis'
+  ],
+      STANDALONESHORTMONTHS: const [
+    'Jan',
+    'Feb',
+    'Mas',
+    'Apr',
+    'Mey',
+    'Jun',
+    'Jul',
+    'Aga',
+    'Sep',
+    'Okt',
+    'Nov',
+    'Dis'
+  ],
+      WEEKDAYS: const [
+    'Sonto',
+    'Msombuluko',
+    'Lwesibili',
+    'Lwesithathu',
+    'Lwesine',
+    'Lwesihlanu',
+    'Mgqibelo'
+  ],
+      STANDALONEWEEKDAYS: const [
+    'Sonto',
+    'Msombuluko',
+    'Lwesibili',
+    'Lwesithathu',
+    'Lwesine',
+    'Lwesihlanu',
+    'Mgqibelo'
+  ],
       SHORTWEEKDAYS: const ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'],
-      STANDALONESHORTWEEKDAYS: const ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla',
-        'Mgq'],
+      STANDALONESHORTWEEKDAYS: const [
+    'Son',
+    'Mso',
+    'Bil',
+    'Tha',
+    'Sin',
+    'Hla',
+    'Mgq'
+  ],
       NARROWWEEKDAYS: const ['S', 'M', 'T', 'T', 'S', 'H', 'M'],
       STANDALONENARROWWEEKDAYS: const ['S', 'M', 'B', 'T', 'S', 'H', 'M'],
       SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
-      QUARTERS: const ['ikota engu-1', 'ikota engu-2', 'ikota engu-3',
-        'ikota engu-4'],
+      QUARTERS: const [
+    'ikota engu-1',
+    'ikota engu-2',
+    'ikota engu-3',
+    'ikota engu-4'
+  ],
       AMPMS: const ['Ekuseni', 'Ntambama'],
       DATEFORMATS: const ['EEEE dd MMMM y', 'd MMMM y', 'd MMM y', 'y-MM-dd'],
-      TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-        'h:mm a'],
+      TIMEFORMATS: const [
+    'h:mm:ss a zzzz',
+    'h:mm:ss a z',
+    'h:mm:ss a',
+    'h:mm a'
+  ],
       DATETIMEFORMATS: const ['{1} {0}', '{1} {0}', '{1} {0}', '{1} {0}'],
       FIRSTDAYOFWEEK: 6,
       WEEKENDRANGE: const [5, 6],
diff --git a/lib/date_symbols.dart b/lib/date_symbols.dart
index 6024328..bbded50 100644
--- a/lib/date_symbols.dart
+++ b/lib/date_symbols.dart
@@ -14,45 +14,44 @@
  */
 class DateSymbols {
   String NAME;
-  List<String> ERAS, ERANAMES, NARROWMONTHS, STANDALONENARROWMONTHS,
-      MONTHS, STANDALONEMONTHS, SHORTMONTHS, STANDALONESHORTMONTHS, WEEKDAYS,
-      STANDALONEWEEKDAYS, SHORTWEEKDAYS, STANDALONESHORTWEEKDAYS,
-      NARROWWEEKDAYS, STANDALONENARROWWEEKDAYS, SHORTQUARTERS,
-      QUARTERS, AMPMS, DATEFORMATS, TIMEFORMATS, DATETIMEFORMATS;
+  List<String> ERAS,
+      ERANAMES,
+      NARROWMONTHS,
+      STANDALONENARROWMONTHS,
+      MONTHS,
+      STANDALONEMONTHS,
+      SHORTMONTHS,
+      STANDALONESHORTMONTHS,
+      WEEKDAYS,
+      STANDALONEWEEKDAYS,
+      SHORTWEEKDAYS,
+      STANDALONESHORTWEEKDAYS,
+      NARROWWEEKDAYS,
+      STANDALONENARROWWEEKDAYS,
+      SHORTQUARTERS,
+      QUARTERS,
+      AMPMS,
+      DATEFORMATS,
+      TIMEFORMATS,
+      DATETIMEFORMATS;
   Map<String, String> AVAILABLEFORMATS;
   int FIRSTDAYOFWEEK;
   List<int> WEEKENDRANGE;
   int FIRSTWEEKCUTOFFDAY;
 
-  DateSymbols({this.NAME,
-               this.ERAS,
-               this.ERANAMES,
-               this.NARROWMONTHS,
-               this.STANDALONENARROWMONTHS,
-               this.MONTHS,
-               this.STANDALONEMONTHS,
-               this.SHORTMONTHS,
-               this.STANDALONESHORTMONTHS,
-               this.WEEKDAYS,
-               this.STANDALONEWEEKDAYS,
-               this.SHORTWEEKDAYS,
-               this.STANDALONESHORTWEEKDAYS,
-               this.NARROWWEEKDAYS,
-               this.STANDALONENARROWWEEKDAYS,
-               this.SHORTQUARTERS,
-               this.QUARTERS,
-               this.AMPMS,
-               // TODO(alanknight): These formats are taken from Closure,
-               // where there's only a fixed set of available formats.
-               // Here we have the patterns separately. These should
-               // either be used, or removed.
-               this.DATEFORMATS,
-               this.TIMEFORMATS,
-               this.AVAILABLEFORMATS,
-               this.FIRSTDAYOFWEEK,
-               this.WEEKENDRANGE,
-               this.FIRSTWEEKCUTOFFDAY,
-               this.DATETIMEFORMATS});
+  DateSymbols({this.NAME, this.ERAS, this.ERANAMES, this.NARROWMONTHS,
+      this.STANDALONENARROWMONTHS, this.MONTHS, this.STANDALONEMONTHS,
+      this.SHORTMONTHS, this.STANDALONESHORTMONTHS, this.WEEKDAYS,
+      this.STANDALONEWEEKDAYS, this.SHORTWEEKDAYS, this.STANDALONESHORTWEEKDAYS,
+      this.NARROWWEEKDAYS, this.STANDALONENARROWWEEKDAYS, this.SHORTQUARTERS,
+      this.QUARTERS, this.AMPMS,
+      // TODO(alanknight): These formats are taken from Closure,
+      // where there's only a fixed set of available formats.
+      // Here we have the patterns separately. These should
+      // either be used, or removed.
+      this.DATEFORMATS, this.TIMEFORMATS, this.AVAILABLEFORMATS,
+      this.FIRSTDAYOFWEEK, this.WEEKENDRANGE, this.FIRSTWEEKCUTOFFDAY,
+      this.DATETIMEFORMATS});
 
   // TODO(alanknight): Replace this with use of a more general serialization
   // facility once one is available. Issue 4926.
@@ -109,7 +108,7 @@
     "FIRSTDAYOFWEEK": FIRSTDAYOFWEEK,
     "WEEKENDRANGE": WEEKENDRANGE,
     "FIRSTWEEKCUTOFFDAY": FIRSTWEEKCUTOFFDAY,
-    "DATETIMEFORMATS" : DATETIMEFORMATS,
+    "DATETIMEFORMATS": DATETIMEFORMATS,
   };
 
   toString() => NAME;
@@ -121,43 +120,141 @@
  */
 var en_USSymbols = new DateSymbols(
     NAME: "en_US",
-    ERAS: const [ 'BC', 'AD'],
-    ERANAMES: const [ 'Before Christ', 'Anno Domini'],
-    NARROWMONTHS: const [ 'J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O',
-         'N', 'D'],
-    STANDALONENARROWMONTHS: const [ 'J', 'F', 'M', 'A', 'M', 'J', 'J', 'A',
-         'S', 'O', 'N', 'D'],
-    MONTHS: const [ 'January', 'February', 'March', 'April', 'May', 'June',
-         'July', 'August', 'September', 'October', 'November', 'December'],
-    STANDALONEMONTHS: const [ 'January', 'February', 'March', 'April', 'May',
-         'June', 'July', 'August', 'September', 'October', 'November',
-         'December'],
-    SHORTMONTHS: const [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
-         'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-    STANDALONESHORTMONTHS: const [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
-         'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
-    WEEKDAYS: const [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
-         'Friday', 'Saturday'],
-    STANDALONEWEEKDAYS: const [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
-         'Thursday', 'Friday', 'Saturday'],
-    SHORTWEEKDAYS: const [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
-    STANDALONESHORTWEEKDAYS: const [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri',
-         'Sat'],
-    NARROWWEEKDAYS: const [ 'S', 'M', 'T', 'W', 'T', 'F', 'S'],
-    STANDALONENARROWWEEKDAYS: const [ 'S', 'M', 'T', 'W', 'T', 'F', 'S'],
-    SHORTQUARTERS: const [ 'Q1', 'Q2', 'Q3', 'Q4'],
-    QUARTERS: const [ '1st quarter', '2nd quarter', '3rd quarter',
-         '4th quarter'],
-    AMPMS: const [ 'AM', 'PM'],
-    DATEFORMATS: const [ 'EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y',
-         'M/d/yy'],
-    TIMEFORMATS: const [ 'h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a',
-         'h:mm a'],
+    ERAS: const ['BC', 'AD'],
+    ERANAMES: const ['Before Christ', 'Anno Domini'],
+    NARROWMONTHS: const [
+  'J',
+  'F',
+  'M',
+  'A',
+  'M',
+  'J',
+  'J',
+  'A',
+  'S',
+  'O',
+  'N',
+  'D'
+],
+    STANDALONENARROWMONTHS: const [
+  'J',
+  'F',
+  'M',
+  'A',
+  'M',
+  'J',
+  'J',
+  'A',
+  'S',
+  'O',
+  'N',
+  'D'
+],
+    MONTHS: const [
+  'January',
+  'February',
+  'March',
+  'April',
+  'May',
+  'June',
+  'July',
+  'August',
+  'September',
+  'October',
+  'November',
+  'December'
+],
+    STANDALONEMONTHS: const [
+  'January',
+  'February',
+  'March',
+  'April',
+  'May',
+  'June',
+  'July',
+  'August',
+  'September',
+  'October',
+  'November',
+  'December'
+],
+    SHORTMONTHS: const [
+  'Jan',
+  'Feb',
+  'Mar',
+  'Apr',
+  'May',
+  'Jun',
+  'Jul',
+  'Aug',
+  'Sep',
+  'Oct',
+  'Nov',
+  'Dec'
+],
+    STANDALONESHORTMONTHS: const [
+  'Jan',
+  'Feb',
+  'Mar',
+  'Apr',
+  'May',
+  'Jun',
+  'Jul',
+  'Aug',
+  'Sep',
+  'Oct',
+  'Nov',
+  'Dec'
+],
+    WEEKDAYS: const [
+  'Sunday',
+  'Monday',
+  'Tuesday',
+  'Wednesday',
+  'Thursday',
+  'Friday',
+  'Saturday'
+],
+    STANDALONEWEEKDAYS: const [
+  'Sunday',
+  'Monday',
+  'Tuesday',
+  'Wednesday',
+  'Thursday',
+  'Friday',
+  'Saturday'
+],
+    SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+    STANDALONESHORTWEEKDAYS: const [
+  'Sun',
+  'Mon',
+  'Tue',
+  'Wed',
+  'Thu',
+  'Fri',
+  'Sat'
+],
+    NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
+    STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
+    SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'],
+    QUARTERS: const [
+  '1st quarter',
+  '2nd quarter',
+  '3rd quarter',
+  '4th quarter'
+],
+    AMPMS: const ['AM', 'PM'],
+    DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'],
+    TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'],
     FIRSTDAYOFWEEK: 6,
     WEEKENDRANGE: const [5, 6],
     FIRSTWEEKCUTOFFDAY: 5,
-    DATETIMEFORMATS: const ['{1} \'at\' {0}', '{1} \'at\' {0}', '{1}, {0}',
-        '{1}, {0}']);
+    DATETIMEFORMATS: const [
+  '{1} \'at\' {0}',
+  '{1} \'at\' {0}',
+  '{1}, {0}',
+  '{1}, {0}'
+]);
 
 var en_USPatterns = const {
   'd': 'd', // DAY
@@ -203,5 +300,5 @@
   'v': 'v', // ABBR_GENERIC_TZ
   'z': 'z', // ABBR_SPECIFIC_TZ
   'zzzz': 'zzzz', // SPECIFIC_TZ
-  'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+  'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
 };
diff --git a/lib/date_time_patterns.dart b/lib/date_time_patterns.dart
index dc3611d..e43c477 100644
--- a/lib/date_time_patterns.dart
+++ b/lib/date_time_patterns.dart
@@ -16,11 +16,12 @@
  * 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 {
+ **/
+Map dateTimePatternMap() => const {
   /**
    * Extended set of localized date/time patterns for locale af.
    */
-  'af' : const {
+  'af': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -64,13 +65,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale am.
    */
-  'am' : const {
+  'am': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -114,13 +115,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ar.
    */
-  'ar' : const {
+  'ar': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -164,13 +165,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale az.
    */
-  'az' : const {
+  'az': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -214,13 +215,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale bg.
    */
-  'bg' : const {
+  'bg': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -264,13 +265,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale bn.
    */
-  'bn' : const {
+  'bn': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -314,13 +315,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale br.
    */
-  'br' : const {
+  'br': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -364,13 +365,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ca.
    */
-  'ca' : const {
+  'ca': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -414,13 +415,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale chr.
    */
-  'chr' : const {
+  'chr': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -464,13 +465,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale cs.
    */
-  'cs' : const {
+  'cs': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -514,13 +515,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale cy.
    */
-  'cy' : const {
+  'cy': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -564,13 +565,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale da.
    */
-  'da' : const {
+  'da': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -614,13 +615,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale de.
    */
-  'de' : const {
+  'de': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -664,13 +665,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale de_AT.
    */
-  'de_AT' : const {
+  'de_AT': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -714,13 +715,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale de_CH.
    */
-  'de_CH' : const {
+  'de_CH': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -764,13 +765,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale el.
    */
-  'el' : const {
+  'el': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -814,13 +815,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en.
    */
-  'en' : const {
+  'en': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -864,13 +865,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_AU.
    */
-  'en_AU' : const {
+  'en_AU': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -914,13 +915,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_GB.
    */
-  'en_GB' : const {
+  'en_GB': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -964,13 +965,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_IE.
    */
-  'en_IE' : const {
+  'en_IE': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1014,13 +1015,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_IN.
    */
-  'en_IN' : const {
+  'en_IN': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1064,13 +1065,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_SG.
    */
-  'en_SG' : const {
+  'en_SG': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1114,13 +1115,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_US.
    */
-  'en_US' : const {
+  'en_US': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1164,13 +1165,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_ZA.
    */
-  'en_ZA' : const {
+  'en_ZA': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1214,13 +1215,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale es.
    */
-  'es' : const {
+  'es': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1264,13 +1265,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale es_419.
    */
-  'es_419' : const {
+  'es_419': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1314,13 +1315,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale es_ES.
    */
-  'es_ES' : const {
+  'es_ES': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1364,13 +1365,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale et.
    */
-  'et' : const {
+  'et': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1414,13 +1415,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale eu.
    */
-  'eu' : const {
+  'eu': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1464,13 +1465,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale fa.
    */
-  'fa' : const {
+  'fa': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1514,13 +1515,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale fi.
    */
-  'fi' : const {
+  'fi': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1564,13 +1565,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale fil.
    */
-  'fil' : const {
+  'fil': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1614,13 +1615,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale fr.
    */
-  'fr' : const {
+  'fr': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1664,13 +1665,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale fr_CA.
    */
-  'fr_CA' : const {
+  'fr_CA': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1714,13 +1715,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale gl.
    */
-  'gl' : const {
+  'gl': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1764,13 +1765,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale gsw.
    */
-  'gsw' : const {
+  'gsw': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1814,13 +1815,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale gu.
    */
-  'gu' : const {
+  'gu': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1864,13 +1865,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale haw.
    */
-  'haw' : const {
+  'haw': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1914,13 +1915,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale he.
    */
-  'he' : const {
+  'he': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -1964,13 +1965,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale hi.
    */
-  'hi' : const {
+  'hi': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2014,13 +2015,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale hr.
    */
-  'hr' : const {
+  'hr': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2064,13 +2065,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale hu.
    */
-  'hu' : const {
+  'hu': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2114,13 +2115,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale hy.
    */
-  'hy' : const {
+  'hy': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2164,13 +2165,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale id.
    */
-  'id' : const {
+  'id': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2214,13 +2215,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale in.
    */
-  'in' : const {
+  'in': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2264,13 +2265,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale is.
    */
-  'is' : const {
+  'is': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2314,13 +2315,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale it.
    */
-  'it' : const {
+  'it': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2364,13 +2365,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale iw.
    */
-  'iw' : const {
+  'iw': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2414,13 +2415,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ja.
    */
-  'ja' : const {
+  'ja': const {
     'd': 'd日', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2464,13 +2465,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ka.
    */
-  'ka' : const {
+  'ka': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2514,13 +2515,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale kk.
    */
-  'kk' : const {
+  'kk': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2564,13 +2565,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale km.
    */
-  'km' : const {
+  'km': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2614,13 +2615,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale kn.
    */
-  'kn' : const {
+  'kn': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2664,13 +2665,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ko.
    */
-  'ko' : const {
+  'ko': const {
     'd': 'd일', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2714,13 +2715,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ky.
    */
-  'ky' : const {
+  'ky': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2764,13 +2765,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ln.
    */
-  'ln' : const {
+  'ln': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2814,13 +2815,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale lo.
    */
-  'lo' : const {
+  'lo': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2864,13 +2865,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale lt.
    */
-  'lt' : const {
+  'lt': const {
     'd': 'dd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2914,13 +2915,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale lv.
    */
-  'lv' : const {
+  'lv': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -2964,13 +2965,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale mk.
    */
-  'mk' : const {
+  'mk': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3014,13 +3015,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ml.
    */
-  'ml' : const {
+  'ml': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3064,13 +3065,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale mn.
    */
-  'mn' : const {
+  'mn': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3097,7 +3098,7 @@
     'yMMMM': 'y MMMM', // YEAR_MONTH
     'yMMMMd': 'y \'оны\' MMMM \'сарын\' d', // YEAR_MONTH_DAY
     'yMMMMEEEEd': 'EEEE, y \'оны\' MMMM \'сарын\' d',
-            // YEAR_MONTH_WEEKDAY_DAY
+    // YEAR_MONTH_WEEKDAY_DAY
     'yQQQ': 'y QQQ', // YEAR_ABBR_QUARTER
     'yQQQQ': 'y \'оны\' QQQQ', // YEAR_QUARTER
     'H': 'HH', // HOUR24
@@ -3115,13 +3116,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale mo.
    */
-  'mo' : const {
+  'mo': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3165,13 +3166,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale mr.
    */
-  'mr' : const {
+  'mr': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3215,13 +3216,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ms.
    */
-  'ms' : const {
+  'ms': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3265,13 +3266,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale mt.
    */
-  'mt' : const {
+  'mt': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3315,13 +3316,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale my.
    */
-  'my' : const {
+  'my': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3365,13 +3366,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale nb.
    */
-  'nb' : const {
+  'nb': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3415,13 +3416,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ne.
    */
-  'ne' : const {
+  'ne': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3465,13 +3466,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale nl.
    */
-  'nl' : const {
+  'nl': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3515,13 +3516,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale no.
    */
-  'no' : const {
+  'no': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3565,13 +3566,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale no_NO.
    */
-  'no_NO' : const {
+  'no_NO': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3615,13 +3616,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale or.
    */
-  'or' : const {
+  'or': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3665,13 +3666,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale pa.
    */
-  'pa' : const {
+  'pa': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3715,13 +3716,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale pl.
    */
-  'pl' : const {
+  'pl': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3765,13 +3766,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale pt.
    */
-  'pt' : const {
+  'pt': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3815,13 +3816,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale pt_BR.
    */
-  'pt_BR' : const {
+  'pt_BR': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3865,13 +3866,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale pt_PT.
    */
-  'pt_PT' : const {
+  'pt_PT': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3915,13 +3916,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ro.
    */
-  'ro' : const {
+  'ro': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -3965,13 +3966,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ru.
    */
-  'ru' : const {
+  'ru': const {
     'd': 'd', // DAY
     'E': 'ccc', // ABBR_WEEKDAY
     'EEEE': 'cccc', // WEEKDAY
@@ -4015,13 +4016,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sh.
    */
-  'sh' : const {
+  'sh': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4065,13 +4066,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale si.
    */
-  'si' : const {
+  'si': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4115,13 +4116,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sk.
    */
-  'sk' : const {
+  'sk': const {
     'd': 'd.', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4165,13 +4166,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sl.
    */
-  'sl' : const {
+  'sl': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4215,13 +4216,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sq.
    */
-  'sq' : const {
+  'sq': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4265,13 +4266,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sr.
    */
-  'sr' : const {
+  'sr': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4315,13 +4316,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sv.
    */
-  'sv' : const {
+  'sv': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4365,13 +4366,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale sw.
    */
-  'sw' : const {
+  'sw': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4415,13 +4416,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ta.
    */
-  'ta' : const {
+  'ta': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4465,13 +4466,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale te.
    */
-  'te' : const {
+  'te': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4515,13 +4516,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale th.
    */
-  'th' : const {
+  'th': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4565,13 +4566,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale tl.
    */
-  'tl' : const {
+  'tl': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4615,13 +4616,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale tr.
    */
-  'tr' : const {
+  'tr': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4665,13 +4666,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale uk.
    */
-  'uk' : const {
+  'uk': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4715,13 +4716,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale ur.
    */
-  'ur' : const {
+  'ur': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4765,13 +4766,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale uz.
    */
-  'uz' : const {
+  'uz': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4815,13 +4816,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale vi.
    */
-  'vi' : const {
+  'vi': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4865,13 +4866,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale zh.
    */
-  'zh' : const {
+  'zh': const {
     'd': 'd日', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4915,13 +4916,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale zh_CN.
    */
-  'zh_CN' : const {
+  'zh_CN': const {
     'd': 'd日', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -4965,13 +4966,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale zh_HK.
    */
-  'zh_HK' : const {
+  'zh_HK': const {
     'd': 'd日', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -5015,13 +5016,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale zh_TW.
    */
-  'zh_TW' : const {
+  'zh_TW': const {
     'd': 'd日', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -5065,13 +5066,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale zu.
    */
-  'zu' : const {
+  'zu': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -5115,13 +5116,13 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   },
 
   /**
    * Extended set of localized date/time patterns for locale en_ISO.
    */
-  'en_ISO' : const {
+  'en_ISO': const {
     'd': 'd', // DAY
     'E': 'EEE', // ABBR_WEEKDAY
     'EEEE': 'EEEE', // WEEKDAY
@@ -5165,6 +5166,6 @@
     'v': 'v', // ABBR_GENERIC_TZ
     'z': 'z', // ABBR_SPECIFIC_TZ
     'zzzz': 'zzzz', // SPECIFIC_TZ
-    'ZZZZ': 'ZZZZ'  // ABBR_UTC_TZ
+    'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ
   }
-};
\ No newline at end of file
+};
diff --git a/lib/extract_messages.dart b/lib/extract_messages.dart
index 88045be..4f3fb19 100644
--- a/lib/extract_messages.dart
+++ b/lib/extract_messages.dart
@@ -107,7 +107,6 @@
  * the Intl.message invocation.
  */
 class MessageFindingVisitor extends GeneralizingAstVisitor {
-
   MessageFindingVisitor();
 
   /**
@@ -134,11 +133,16 @@
 
   Message _expectedInstance(String type) {
     switch (type) {
-      case 'message' : return new MainMessage();
-      case 'plural' : return new Plural();
-      case 'gender' : return new Gender();
-      case 'select' : return new Select();
-      default: return null;
+      case 'message':
+        return new MainMessage();
+      case 'plural':
+        return new Plural();
+      case 'gender':
+        return new Gender();
+      case 'select':
+        return new Select();
+      default:
+        return null;
     }
   }
 
@@ -206,8 +210,8 @@
     if (reason != null) {
       if (!suppressWarnings) {
         var err = new StringBuffer()
-            ..write("Skipping invalid Intl.message invocation\n    <$node>\n")
-            ..writeAll(["    reason: $reason\n", _reportErrorLocation(node)]);
+          ..write("Skipping invalid Intl.message invocation\n    <$node>\n")
+          ..writeAll(["    reason: $reason\n", _reportErrorLocation(node)]);
         warnings.add(err.toString());
         print(err);
       }
@@ -231,12 +235,12 @@
    * by calling [setAttribute]. This is the common parts between
    * [messageFromIntlMessageCall] and [messageFromDirectPluralOrGenderCall].
    */
-  MainMessage _messageFromNode(MethodInvocation node, Function extract,
-      Function setAttribute) {
+  MainMessage _messageFromNode(
+      MethodInvocation node, Function extract, Function setAttribute) {
     var message = new MainMessage();
     message.name = name;
-    message.arguments = parameters.parameters.map(
-        (x) => x.identifier.name).toList();
+    message.arguments =
+        parameters.parameters.map((x) => x.identifier.name).toList();
     var arguments = node.argumentList.arguments;
     var extractionResult = extract(message, arguments);
     if (extractionResult == null) return null;
@@ -246,8 +250,9 @@
       var exp = namedArgument.expression;
       var evaluator = new ConstantEvaluator();
       var basicValue = exp.accept(evaluator);
-      var value = basicValue == ConstantEvaluator.NOT_A_CONSTANT ?
-          exp.toString() : basicValue;
+      var value = basicValue == ConstantEvaluator.NOT_A_CONSTANT
+          ? exp.toString()
+          : basicValue;
       setAttribute(message, name, value);
     }
     return message;
@@ -259,7 +264,6 @@
    * and the parameters to the Intl.message call.
    */
   MainMessage messageFromIntlMessageCall(MethodInvocation node) {
-
     MainMessage extractFromIntlCall(MainMessage message, List arguments) {
       try {
         var interpolation = new InterpolationVisitor(message);
@@ -277,8 +281,8 @@
       } on IntlMessageExtractionException catch (e) {
         message = null;
         var err = new StringBuffer()
-            ..writeAll(["Error ", e, "\nProcessing <", node, ">\n"])
-            ..write(_reportErrorLocation(node));
+          ..writeAll(["Error ", e, "\nProcessing <", node, ">\n"])
+          ..write(_reportErrorLocation(node));
         print(err);
         warnings.add(err.toString());
       }
@@ -368,9 +372,9 @@
     node.accept(visitor);
     if (!visitor.foundPluralOrGender) {
       throw new IntlMessageExtractionException(
-        "Only simple identifiers and Intl.plural/gender/select expressions "
-        "are allowed in message "
-        "interpolation expressions.\nError at $node");
+          "Only simple identifiers and Intl.plural/gender/select expressions "
+          "are allowed in message "
+          "interpolation expressions.\nError at $node");
     }
   }
 
@@ -451,12 +455,19 @@
    */
   Message messageFromMethodInvocation(MethodInvocation node) {
     var message;
-    switch(node.methodName.name) {
-      case "gender" : message = new Gender(); break;
-      case "plural" : message = new Plural(); break;
-      case "select" : message = new Select(); break;
-      default: throw new IntlMessageExtractionException(
-          "Invalid plural/gender/select message");
+    switch (node.methodName.name) {
+      case "gender":
+        message = new Gender();
+        break;
+      case "plural":
+        message = new Plural();
+        break;
+      case "select":
+        message = new Select();
+        break;
+      default:
+        throw new IntlMessageExtractionException(
+            "Invalid plural/gender/select message");
     }
     message.parent = parent;
 
@@ -469,14 +480,14 @@
       } on IntlMessageExtractionException catch (e) {
         message = null;
         var err = new StringBuffer()
-            ..writeAll(["Error ", e, "\nProcessing <", node, ">"])
-            ..write(_reportErrorLocation(node));
+          ..writeAll(["Error ", e, "\nProcessing <", node, ">"])
+          ..write(_reportErrorLocation(node));
         print(err);
         warnings.add(err.toString());
       }
     });
-    var mainArg = node.argumentList.arguments.firstWhere(
-        (each) => each is! NamedExpression);
+    var mainArg = node.argumentList.arguments
+        .firstWhere((each) => each is! NamedExpression);
     if (mainArg is SimpleStringLiteral) {
       message.mainArgument = mainArg.toString();
     } else {
diff --git a/lib/generate_localized.dart b/lib/generate_localized.dart
index 71bbd8d..071dd12 100644
--- a/lib/generate_localized.dart
+++ b/lib/generate_localized.dart
@@ -109,13 +109,14 @@
 void generateIndividualMessageFile(String basicLocale,
     Iterable<TranslatedMessage> translations, String targetDir) {
   var result = new StringBuffer();
-  var locale = new MainMessage().escapeAndValidateString(
-      Intl.canonicalizedLocale(basicLocale));
+  var locale = new MainMessage()
+      .escapeAndValidateString(Intl.canonicalizedLocale(basicLocale));
   result.write(prologue(locale));
   // Exclude messages with no translation and translations with no matching
   // original message (e.g. if we're using some messages from a larger catalog)
-  var usableTranslations =  translations.where(
-      (each) => each.originalMessages != null && each.message != null).toList();
+  var usableTranslations = translations
+      .where((each) => each.originalMessages != null && each.message != null)
+      .toList();
   for (var each in usableTranslations) {
     for (var original in each.originalMessages) {
       original.addTranslation(locale, each.message);
@@ -126,9 +127,9 @@
   for (var translation in usableTranslations) {
     for (var original in translation.originalMessages) {
       result
-          ..write("  ")
-          ..write(original.toCodeForLocale(locale))
-          ..write("\n\n");
+        ..write("  ")
+        ..write(original.toCodeForLocale(locale))
+        ..write("\n\n");
     }
   }
   result.write("\n  final messages = const {\n");
@@ -137,13 +138,13 @@
       .map((original) => original.name)
       .map((name) => "    \"$name\" : $name");
   result
-      ..write(entries.join(",\n"))
-      ..write("\n  };\n}");
+    ..write(entries.join(",\n"))
+    ..write("\n  };\n}");
 
   // To preserve compatibility, we don't use the canonical version of the locale
   // in the file name.
   var filename =
-      path.join(targetDir,"${generatedFilePrefix}messages_$basicLocale.dart");
+      path.join(targetDir, "${generatedFilePrefix}messages_$basicLocale.dart");
   new File(filename).writeAsStringSync(result.toString());
 }
 
@@ -171,7 +172,6 @@
   get localeName => '$locale';
 """;
 
-
 _deferredName(locale) => "lazy_${_libraryName(locale)}";
 
 /**
@@ -198,9 +198,8 @@
     output.write(loadOperation);
   }
   output.write("};\n");
-  output.write(
-    "\nMessageLookupByLibrary _findExact(localeName) {\n"
-    "  switch (localeName) {\n");
+  output.write("\nMessageLookupByLibrary _findExact(localeName) {\n"
+      "  switch (localeName) {\n");
   for (var rawLocale in allLocales) {
     var locale = Intl.canonicalizedLocale(rawLocale);
     output.write(
diff --git a/lib/intl.dart b/lib/intl.dart
index 6ebb568..bb9298e 100644
--- a/lib/intl.dart
+++ b/lib/intl.dart
@@ -80,7 +80,7 @@
  *
  * See `tests/message_format_test.dart` for more examples.
  */
- //TODO(efortuna): documentation example involving the offset parameter?
+//TODO(efortuna): documentation example involving the offset parameter?
 
 class Intl {
   /**
@@ -100,7 +100,7 @@
    */
   static String get defaultLocale {
     var zoneLocale = Zone.current[#Intl.locale];
-    return zoneLocale == null ? _defaultLocale: zoneLocale;
+    return zoneLocale == null ? _defaultLocale : zoneLocale;
   }
   static set defaultLocale(String newLocale) => _defaultLocale = newLocale;
   static String _defaultLocale;
@@ -203,7 +203,7 @@
    * [newLocale] is null it will be returned.
    */
   static String verifiedLocale(String newLocale, Function localeExists,
-                               {Function onFailure: _throwLocaleError}) {
+      {Function onFailure: _throwLocaleError}) {
     // TODO(alanknight): Previously we kept a single verified locale on the Intl
     // object, but with different verification for different uses, that's more
     // difficult. As a result, we call this more often. Consider keeping
@@ -260,8 +260,7 @@
     var region = aLocale.substring(3);
     // If it's longer than three it's something odd, so don't touch it.
     if (region.length <= 3) region = region.toUpperCase();
-    return
-        '${aLocale[0]}${aLocale[1]}_$region';
+    return '${aLocale[0]}${aLocale[1]}_$region';
   }
 
   /**
@@ -277,22 +276,26 @@
     // top-level message, so look up our translation by calling Intl.message
     // with ourselves as an argument.
     if (name != null) {
-      return message(
-        plural(howMany,
-            zero: zero, one: one, two: two, few: few, many: many, other: other),
-        name: name,
-        args: args,
-        locale: locale,
-        meaning: meaning);
+      return message(plural(howMany,
+              zero: zero,
+              one: one,
+              two: two,
+              few: few,
+              many: many,
+              other: other),
+          name: name, args: args, locale: locale, meaning: meaning);
     }
     if (other == null) {
       throw new ArgumentError("The 'other' named argument must be provided");
     }
     // TODO(alanknight): This algorithm needs to be locale-dependent.
     switch (howMany) {
-      case 0 : return (zero == null) ? other : zero;
-      case 1 : return (one == null) ? other : one;
-      case 2: return (two == null) ? ((few == null) ? other : few) : two;
+      case 0:
+        return (zero == null) ? other : zero;
+      case 1:
+        return (one == null) ? other : one;
+      case 2:
+        return (two == null) ? ((few == null) ? other : few) : two;
       default:
         if ((howMany == 3 || howMany == 4) && few != null) return few;
         if (howMany > 10 && howMany < 100 && many != null) return many;
@@ -305,29 +308,28 @@
    * Format a message differently depending on [targetGender]. Normally used as
    * part of an Intl.message message that is to be translated.
    */
-  static String gender(String targetGender,
-      {String male, String female, String other,
-       String desc, Map<String, String> examples, String locale, String name,
-       List<String>args, String meaning}) {
+  static String gender(String targetGender, {String male, String female,
+      String other, String desc, Map<String, String> examples, String locale,
+      String name, List<String> args, String meaning}) {
     // If we are passed a name and arguments, then we are operating as a
     // top-level message, so look up our translation by calling Intl.message
     // with ourselves as an argument.
     if (name != null) {
       return message(
-        gender(targetGender, male: male, female: female, other: other),
-        name: name,
-        args: args,
-        locale: locale,
-        meaning: meaning);
+          gender(targetGender, male: male, female: female, other: other),
+          name: name, args: args, locale: locale, meaning: meaning);
     }
 
     if (other == null) {
       throw new ArgumentError("The 'other' named argument must be specified");
     }
-    switch(targetGender) {
-      case "female" : return female == null ? other : female;
-      case "male" : return male == null ? other : male;
-      default: return other;
+    switch (targetGender) {
+      case "female":
+        return female == null ? other : female;
+      case "male":
+        return male == null ? other : male;
+      default:
+        return other;
     }
   }
 
@@ -337,24 +339,21 @@
    * it is not found. Normally used as part
    * of an Intl.message message that is to be translated.
    */
-  static String select(String choice, Map<String, String> cases,
-       {String desc, Map<String, String> examples, String locale, String name,
-       List<String>args, String meaning}) {
+  static String select(String choice, Map<String, String> cases, {String desc,
+      Map<String, String> examples, String locale, String name,
+      List<String> args, String meaning}) {
     // If we are passed a name and arguments, then we are operating as a
     // top-level message, so look up our translation by calling Intl.message
     // with ourselves as an argument.
     if (name != null) {
-      return message(
-          select(choice, cases),
-          name: name,
-          args: args,
-          locale: locale);
+      return message(select(choice, cases),
+          name: name, args: args, locale: locale);
     }
     var exact = cases[choice];
     if (exact != null) return exact;
     var other = cases["other"];
-    if (other == null)
-      throw new ArgumentError("The 'other' case must be specified");
+    if (other ==
+        null) throw new ArgumentError("The 'other' case must be specified");
     return other;
   }
 
@@ -385,7 +384,7 @@
    */
   static withLocale(String locale, function()) {
     var canonical = Intl.canonicalizedLocale(locale);
-    return runZoned(function, zoneValues: {#Intl.locale : canonical});
+    return runZoned(function, zoneValues: {#Intl.locale: canonical});
   }
 
   /**
diff --git a/lib/intl_standalone.dart b/lib/intl_standalone.dart
index fe70ccf..9c58880 100644
--- a/lib/intl_standalone.dart
+++ b/lib/intl_standalone.dart
@@ -63,7 +63,8 @@
 String _checkEnvironmentVariable() {
   try {
     return Platform.environment['LANG'];
-  } catch (e) {};
+  } catch (e) {}
+  ;
   return null;
 }
 
diff --git a/lib/message_lookup_by_library.dart b/lib/message_lookup_by_library.dart
index 62e8255..341cbf5 100644
--- a/lib/message_lookup_by_library.dart
+++ b/lib/message_lookup_by_library.dart
@@ -32,21 +32,18 @@
    * If nothing is found, return [message_str]. The [desc] and [examples]
    * parameters are ignored
    */
-  String lookupMessage(String message_str, [final String desc='',
-      final Map examples=const {}, String locale,
-      String name, List<String> args, String meaning]) {
+  String lookupMessage(String message_str, [final String desc = '',
+      final Map examples = const {}, String locale, String name,
+      List<String> args, String meaning]) {
     var actualLocale = (locale == null) ? Intl.getCurrentLocale() : locale;
-      // For this usage, if the locale doesn't exist for messages, just return
-      // it and we'll fall back to the original version.
-    var verifiedLocale =
-        Intl.verifiedLocale(
-            actualLocale,
-            localeExists,
-            onFailure: (locale)=>locale);
+    // For this usage, if the locale doesn't exist for messages, just return
+    // it and we'll fall back to the original version.
+    var verifiedLocale = Intl.verifiedLocale(actualLocale, localeExists,
+        onFailure: (locale) => locale);
     var messages = availableMessages[verifiedLocale];
     if (messages == null) return message_str;
-    return messages.
-        lookupMessage(message_str, desc, examples, locale, name, args, meaning);
+    return messages.lookupMessage(
+        message_str, desc, examples, locale, name, args, meaning);
   }
 
   /**
@@ -96,12 +93,12 @@
    * will be extracted automatically but for the time being it must be passed
    * explicitly in the [name] and [args] arguments.
    */
-  String lookupMessage(String message_str, [final String desc='',
-      final Map examples=const {}, String locale,
-      String name, List<String> args, String meaning]) {
+  String lookupMessage(String message_str, [final String desc = '',
+      final Map examples = const {}, String locale, String name,
+      List<String> args, String meaning]) {
     if (name == null) return message_str;
     var function = this[name];
-    return function == null ? message_str :  Function.apply(function, args);
+    return function == null ? message_str : Function.apply(function, args);
   }
 
   /** Return our message with the given name */
diff --git a/lib/number_symbols.dart b/lib/number_symbols.dart
index 1f389f1..3eece39 100644
--- a/lib/number_symbols.dart
+++ b/lib/number_symbols.dart
@@ -11,26 +11,27 @@
  */
 class NumberSymbols {
   final String NAME;
-  final String DECIMAL_SEP, GROUP_SEP, PERCENT, ZERO_DIGIT, PLUS_SIGN,
-      MINUS_SIGN, EXP_SYMBOL, PERMILL, INFINITY, NAN, DECIMAL_PATTERN,
-      SCIENTIFIC_PATTERN, PERCENT_PATTERN, CURRENCY_PATTERN, DEF_CURRENCY_CODE;
+  final String DECIMAL_SEP,
+      GROUP_SEP,
+      PERCENT,
+      ZERO_DIGIT,
+      PLUS_SIGN,
+      MINUS_SIGN,
+      EXP_SYMBOL,
+      PERMILL,
+      INFINITY,
+      NAN,
+      DECIMAL_PATTERN,
+      SCIENTIFIC_PATTERN,
+      PERCENT_PATTERN,
+      CURRENCY_PATTERN,
+      DEF_CURRENCY_CODE;
 
-  const NumberSymbols({this.NAME,
-                       this.DECIMAL_SEP,
-                       this.GROUP_SEP,
-                       this.PERCENT,
-                       this.ZERO_DIGIT,
-                       this.PLUS_SIGN,
-                       this.MINUS_SIGN,
-                       this.EXP_SYMBOL,
-                       this.PERMILL,
-                       this.INFINITY,
-                       this.NAN,
-                       this.DECIMAL_PATTERN,
-                       this.SCIENTIFIC_PATTERN,
-                       this.PERCENT_PATTERN,
-                       this.CURRENCY_PATTERN,
-                       this.DEF_CURRENCY_CODE});
+  const NumberSymbols({this.NAME, this.DECIMAL_SEP, this.GROUP_SEP,
+      this.PERCENT, this.ZERO_DIGIT, this.PLUS_SIGN, this.MINUS_SIGN,
+      this.EXP_SYMBOL, this.PERMILL, this.INFINITY, this.NAN,
+      this.DECIMAL_PATTERN, this.SCIENTIFIC_PATTERN, this.PERCENT_PATTERN,
+      this.CURRENCY_PATTERN, this.DEF_CURRENCY_CODE});
 
   toString() => NAME;
 }
diff --git a/lib/number_symbols_data.dart b/lib/number_symbols_data.dart
index e30719a..a1f6821 100644
--- a/lib/number_symbols_data.dart
+++ b/lib/number_symbols_data.dart
@@ -17,13 +17,14 @@
  */
 
 library number_symbol_data;
+
 import "number_symbols.dart";
 
 Map numberFormatSymbols = const {
   /**
    * Number formatting symbols for locale af.
    */
-  "af" : const NumberSymbols(
+  "af": const NumberSymbols(
       NAME: "af",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -39,12 +40,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'ZAR'
-),
+      DEF_CURRENCY_CODE: 'ZAR'),
   /**
    * Number formatting symbols for locale am.
    */
-  "am" : const NumberSymbols(
+  "am": const NumberSymbols(
       NAME: "am",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -60,12 +60,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'ETB'
-),
+      DEF_CURRENCY_CODE: 'ETB'),
   /**
    * Number formatting symbols for locale ar.
    */
-  "ar" : const NumberSymbols(
+  "ar": const NumberSymbols(
       NAME: "ar",
       DECIMAL_SEP: '\u066B',
       GROUP_SEP: '\u066C',
@@ -81,12 +80,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'EGP'
-),
+      DEF_CURRENCY_CODE: 'EGP'),
   /**
    * Number formatting symbols for locale az.
    */
-  "az" : const NumberSymbols(
+  "az": const NumberSymbols(
       NAME: "az",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -102,12 +100,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'AZN'
-),
+      DEF_CURRENCY_CODE: 'AZN'),
   /**
    * Number formatting symbols for locale bg.
    */
-  "bg" : const NumberSymbols(
+  "bg": const NumberSymbols(
       NAME: "bg",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -123,12 +120,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'BGN'
-),
+      DEF_CURRENCY_CODE: 'BGN'),
   /**
    * Number formatting symbols for locale bn.
    */
-  "bn" : const NumberSymbols(
+  "bn": const NumberSymbols(
       NAME: "bn",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -144,12 +140,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '#,##,##0.00\u00A4',
-      DEF_CURRENCY_CODE: 'BDT'
-),
+      DEF_CURRENCY_CODE: 'BDT'),
   /**
    * Number formatting symbols for locale br.
    */
-  "br" : const NumberSymbols(
+  "br": const NumberSymbols(
       NAME: "br",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -165,12 +160,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale ca.
    */
-  "ca" : const NumberSymbols(
+  "ca": const NumberSymbols(
       NAME: "ca",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -186,12 +180,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale chr.
    */
-  "chr" : const NumberSymbols(
+  "chr": const NumberSymbols(
       NAME: "chr",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -207,12 +200,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'USD'
-),
+      DEF_CURRENCY_CODE: 'USD'),
   /**
    * Number formatting symbols for locale cs.
    */
-  "cs" : const NumberSymbols(
+  "cs": const NumberSymbols(
       NAME: "cs",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -228,12 +220,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'CZK'
-),
+      DEF_CURRENCY_CODE: 'CZK'),
   /**
    * Number formatting symbols for locale cy.
    */
-  "cy" : const NumberSymbols(
+  "cy": const NumberSymbols(
       NAME: "cy",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -249,12 +240,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'GBP'
-),
+      DEF_CURRENCY_CODE: 'GBP'),
   /**
    * Number formatting symbols for locale da.
    */
-  "da" : const NumberSymbols(
+  "da": const NumberSymbols(
       NAME: "da",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -270,12 +260,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'DKK'
-),
+      DEF_CURRENCY_CODE: 'DKK'),
   /**
    * Number formatting symbols for locale de.
    */
-  "de" : const NumberSymbols(
+  "de": const NumberSymbols(
       NAME: "de",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -291,12 +280,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale de_AT.
    */
-  "de_AT" : const NumberSymbols(
+  "de_AT": const NumberSymbols(
       NAME: "de_AT",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -312,12 +300,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale de_CH.
    */
-  "de_CH" : const NumberSymbols(
+  "de_CH": const NumberSymbols(
       NAME: "de_CH",
       DECIMAL_SEP: '.',
       GROUP_SEP: '\'',
@@ -333,12 +320,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00;\u00A4-#,##0.00',
-      DEF_CURRENCY_CODE: 'CHF'
-),
+      DEF_CURRENCY_CODE: 'CHF'),
   /**
    * Number formatting symbols for locale el.
    */
-  "el" : const NumberSymbols(
+  "el": const NumberSymbols(
       NAME: "el",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -354,12 +340,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale en.
    */
-  "en" : const NumberSymbols(
+  "en": const NumberSymbols(
       NAME: "en",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -375,12 +360,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'USD'
-),
+      DEF_CURRENCY_CODE: 'USD'),
   /**
    * Number formatting symbols for locale en_AU.
    */
-  "en_AU" : const NumberSymbols(
+  "en_AU": const NumberSymbols(
       NAME: "en_AU",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -396,12 +380,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'AUD'
-),
+      DEF_CURRENCY_CODE: 'AUD'),
   /**
    * Number formatting symbols for locale en_GB.
    */
-  "en_GB" : const NumberSymbols(
+  "en_GB": const NumberSymbols(
       NAME: "en_GB",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -417,12 +400,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'GBP'
-),
+      DEF_CURRENCY_CODE: 'GBP'),
   /**
    * Number formatting symbols for locale en_IE.
    */
-  "en_IE" : const NumberSymbols(
+  "en_IE": const NumberSymbols(
       NAME: "en_IE",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -438,12 +420,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale en_IN.
    */
-  "en_IN" : const NumberSymbols(
+  "en_IN": const NumberSymbols(
       NAME: "en_IN",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -459,12 +440,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale en_SG.
    */
-  "en_SG" : const NumberSymbols(
+  "en_SG": const NumberSymbols(
       NAME: "en_SG",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -480,12 +460,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'SGD'
-),
+      DEF_CURRENCY_CODE: 'SGD'),
   /**
    * Number formatting symbols for locale en_US.
    */
-  "en_US" : const NumberSymbols(
+  "en_US": const NumberSymbols(
       NAME: "en_US",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -501,12 +480,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'USD'
-),
+      DEF_CURRENCY_CODE: 'USD'),
   /**
    * Number formatting symbols for locale en_ZA.
    */
-  "en_ZA" : const NumberSymbols(
+  "en_ZA": const NumberSymbols(
       NAME: "en_ZA",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -522,12 +500,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'ZAR'
-),
+      DEF_CURRENCY_CODE: 'ZAR'),
   /**
    * Number formatting symbols for locale es.
    */
-  "es" : const NumberSymbols(
+  "es": const NumberSymbols(
       NAME: "es",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -543,12 +520,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale es_419.
    */
-  "es_419" : const NumberSymbols(
+  "es_419": const NumberSymbols(
       NAME: "es_419",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -564,12 +540,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'MXN'
-),
+      DEF_CURRENCY_CODE: 'MXN'),
   /**
    * Number formatting symbols for locale es_ES.
    */
-  "es_ES" : const NumberSymbols(
+  "es_ES": const NumberSymbols(
       NAME: "es_ES",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -585,12 +560,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale et.
    */
-  "et" : const NumberSymbols(
+  "et": const NumberSymbols(
       NAME: "et",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -606,12 +580,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale eu.
    */
-  "eu" : const NumberSymbols(
+  "eu": const NumberSymbols(
       NAME: "eu",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -627,12 +600,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '%\u00A0#,##0',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale fa.
    */
-  "fa" : const NumberSymbols(
+  "fa": const NumberSymbols(
       NAME: "fa",
       DECIMAL_SEP: '\u066B',
       GROUP_SEP: '\u066C',
@@ -648,12 +620,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u200E\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'IRR'
-),
+      DEF_CURRENCY_CODE: 'IRR'),
   /**
    * Number formatting symbols for locale fi.
    */
-  "fi" : const NumberSymbols(
+  "fi": const NumberSymbols(
       NAME: "fi",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -669,12 +640,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale fil.
    */
-  "fil" : const NumberSymbols(
+  "fil": const NumberSymbols(
       NAME: "fil",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -690,12 +660,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'PHP'
-),
+      DEF_CURRENCY_CODE: 'PHP'),
   /**
    * Number formatting symbols for locale fr.
    */
-  "fr" : const NumberSymbols(
+  "fr": const NumberSymbols(
       NAME: "fr",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -711,12 +680,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale fr_CA.
    */
-  "fr_CA" : const NumberSymbols(
+  "fr_CA": const NumberSymbols(
       NAME: "fr_CA",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -732,12 +700,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'CAD'
-),
+      DEF_CURRENCY_CODE: 'CAD'),
   /**
    * Number formatting symbols for locale ga.
    */
-  "ga" : const NumberSymbols(
+  "ga": const NumberSymbols(
       NAME: "ga",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -753,12 +720,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale gl.
    */
-  "gl" : const NumberSymbols(
+  "gl": const NumberSymbols(
       NAME: "gl",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -774,12 +740,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale gsw.
    */
-  "gsw" : const NumberSymbols(
+  "gsw": const NumberSymbols(
       NAME: "gsw",
       DECIMAL_SEP: '.',
       GROUP_SEP: '\u2019',
@@ -795,12 +760,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'CHF'
-),
+      DEF_CURRENCY_CODE: 'CHF'),
   /**
    * Number formatting symbols for locale gu.
    */
-  "gu" : const NumberSymbols(
+  "gu": const NumberSymbols(
       NAME: "gu",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -816,12 +780,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale haw.
    */
-  "haw" : const NumberSymbols(
+  "haw": const NumberSymbols(
       NAME: "haw",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -837,12 +800,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'USD'
-),
+      DEF_CURRENCY_CODE: 'USD'),
   /**
    * Number formatting symbols for locale he.
    */
-  "he" : const NumberSymbols(
+  "he": const NumberSymbols(
       NAME: "he",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -858,12 +820,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'ILS'
-),
+      DEF_CURRENCY_CODE: 'ILS'),
   /**
    * Number formatting symbols for locale hi.
    */
-  "hi" : const NumberSymbols(
+  "hi": const NumberSymbols(
       NAME: "hi",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -879,12 +840,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale hr.
    */
-  "hr" : const NumberSymbols(
+  "hr": const NumberSymbols(
       NAME: "hr",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -900,12 +860,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'HRK'
-),
+      DEF_CURRENCY_CODE: 'HRK'),
   /**
    * Number formatting symbols for locale hu.
    */
-  "hu" : const NumberSymbols(
+  "hu": const NumberSymbols(
       NAME: "hu",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -921,12 +880,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'HUF'
-),
+      DEF_CURRENCY_CODE: 'HUF'),
   /**
    * Number formatting symbols for locale hy.
    */
-  "hy" : const NumberSymbols(
+  "hy": const NumberSymbols(
       NAME: "hy",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -942,12 +900,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#0%',
       CURRENCY_PATTERN: '#0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'AMD'
-),
+      DEF_CURRENCY_CODE: 'AMD'),
   /**
    * Number formatting symbols for locale id.
    */
-  "id" : const NumberSymbols(
+  "id": const NumberSymbols(
       NAME: "id",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -963,12 +920,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'IDR'
-),
+      DEF_CURRENCY_CODE: 'IDR'),
   /**
    * Number formatting symbols for locale in.
    */
-  "in" : const NumberSymbols(
+  "in": const NumberSymbols(
       NAME: "in",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -984,12 +940,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'IDR'
-),
+      DEF_CURRENCY_CODE: 'IDR'),
   /**
    * Number formatting symbols for locale is.
    */
-  "is" : const NumberSymbols(
+  "is": const NumberSymbols(
       NAME: "is",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1005,12 +960,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'ISK'
-),
+      DEF_CURRENCY_CODE: 'ISK'),
   /**
    * Number formatting symbols for locale it.
    */
-  "it" : const NumberSymbols(
+  "it": const NumberSymbols(
       NAME: "it",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1026,12 +980,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale iw.
    */
-  "iw" : const NumberSymbols(
+  "iw": const NumberSymbols(
       NAME: "iw",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1047,12 +1000,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'ILS'
-),
+      DEF_CURRENCY_CODE: 'ILS'),
   /**
    * Number formatting symbols for locale ja.
    */
-  "ja" : const NumberSymbols(
+  "ja": const NumberSymbols(
       NAME: "ja",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1068,12 +1020,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'JPY'
-),
+      DEF_CURRENCY_CODE: 'JPY'),
   /**
    * Number formatting symbols for locale ka.
    */
-  "ka" : const NumberSymbols(
+  "ka": const NumberSymbols(
       NAME: "ka",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1084,18 +1035,16 @@
       EXP_SYMBOL: 'E',
       PERMILL: '\u2030',
       INFINITY: '\u221E',
-      NAN:
-      '\u10D0\u10E0\u00A0\u10D0\u10E0\u10D8\u10E1\u00A0\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8',
+      NAN: '\u10D0\u10E0\u00A0\u10D0\u10E0\u10D8\u10E1\u00A0\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8',
       DECIMAL_PATTERN: '#,##0.###',
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'GEL'
-),
+      DEF_CURRENCY_CODE: 'GEL'),
   /**
    * Number formatting symbols for locale kk.
    */
-  "kk" : const NumberSymbols(
+  "kk": const NumberSymbols(
       NAME: "kk",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1111,12 +1060,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'KZT'
-),
+      DEF_CURRENCY_CODE: 'KZT'),
   /**
    * Number formatting symbols for locale km.
    */
-  "km" : const NumberSymbols(
+  "km": const NumberSymbols(
       NAME: "km",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1132,12 +1080,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'KHR'
-),
+      DEF_CURRENCY_CODE: 'KHR'),
   /**
    * Number formatting symbols for locale kn.
    */
-  "kn" : const NumberSymbols(
+  "kn": const NumberSymbols(
       NAME: "kn",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1153,12 +1100,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale ko.
    */
-  "ko" : const NumberSymbols(
+  "ko": const NumberSymbols(
       NAME: "ko",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1174,12 +1120,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'KRW'
-),
+      DEF_CURRENCY_CODE: 'KRW'),
   /**
    * Number formatting symbols for locale ky.
    */
-  "ky" : const NumberSymbols(
+  "ky": const NumberSymbols(
       NAME: "ky",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1195,12 +1140,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'KGS'
-),
+      DEF_CURRENCY_CODE: 'KGS'),
   /**
    * Number formatting symbols for locale ln.
    */
-  "ln" : const NumberSymbols(
+  "ln": const NumberSymbols(
       NAME: "ln",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1216,12 +1160,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'CDF'
-),
+      DEF_CURRENCY_CODE: 'CDF'),
   /**
    * Number formatting symbols for locale lo.
    */
-  "lo" : const NumberSymbols(
+  "lo": const NumberSymbols(
       NAME: "lo",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1232,18 +1175,16 @@
       EXP_SYMBOL: 'E',
       PERMILL: '\u2030',
       INFINITY: '\u221E',
-      NAN:
-      '\u0E9A\u0ECD\u0EC8\u0EC1\u0EA1\u0EC8\u0E99\u0EC2\u0E95\u0EC0\u0EA5\u0E81',
+      NAN: '\u0E9A\u0ECD\u0EC8\u0EC1\u0EA1\u0EC8\u0E99\u0EC2\u0E95\u0EC0\u0EA5\u0E81',
       DECIMAL_PATTERN: '#,##0.###',
       SCIENTIFIC_PATTERN: '#',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00;\u00A4-#,##0.00',
-      DEF_CURRENCY_CODE: 'LAK'
-),
+      DEF_CURRENCY_CODE: 'LAK'),
   /**
    * Number formatting symbols for locale lt.
    */
-  "lt" : const NumberSymbols(
+  "lt": const NumberSymbols(
       NAME: "lt",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1259,12 +1200,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'LTL'
-),
+      DEF_CURRENCY_CODE: 'LTL'),
   /**
    * Number formatting symbols for locale lv.
    */
-  "lv" : const NumberSymbols(
+  "lv": const NumberSymbols(
       NAME: "lv",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1280,12 +1220,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale mk.
    */
-  "mk" : const NumberSymbols(
+  "mk": const NumberSymbols(
       NAME: "mk",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1301,12 +1240,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'MKD'
-),
+      DEF_CURRENCY_CODE: 'MKD'),
   /**
    * Number formatting symbols for locale ml.
    */
-  "ml" : const NumberSymbols(
+  "ml": const NumberSymbols(
       NAME: "ml",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1322,12 +1260,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '#,##,##0.00\u00A4',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale mn.
    */
-  "mn" : const NumberSymbols(
+  "mn": const NumberSymbols(
       NAME: "mn",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1343,12 +1280,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'MNT'
-),
+      DEF_CURRENCY_CODE: 'MNT'),
   /**
    * Number formatting symbols for locale mr.
    */
-  "mr" : const NumberSymbols(
+  "mr": const NumberSymbols(
       NAME: "mr",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1364,12 +1300,11 @@
       SCIENTIFIC_PATTERN: '[#E0]',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale ms.
    */
-  "ms" : const NumberSymbols(
+  "ms": const NumberSymbols(
       NAME: "ms",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1385,12 +1320,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'MYR'
-),
+      DEF_CURRENCY_CODE: 'MYR'),
   /**
    * Number formatting symbols for locale mt.
    */
-  "mt" : const NumberSymbols(
+  "mt": const NumberSymbols(
       NAME: "mt",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1406,12 +1340,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale my.
    */
-  "my" : const NumberSymbols(
+  "my": const NumberSymbols(
       NAME: "my",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1422,18 +1355,16 @@
       EXP_SYMBOL: 'E',
       PERMILL: '\u2030',
       INFINITY: '\u221E',
-      NAN:
-      '\u1002\u100F\u1014\u103A\u1038\u1019\u101F\u102F\u1010\u103A\u101E\u1031\u102C',
+      NAN: '\u1002\u100F\u1014\u103A\u1038\u1019\u101F\u102F\u1010\u103A\u101E\u1031\u102C',
       DECIMAL_PATTERN: '#,##0.###',
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'MMK'
-),
+      DEF_CURRENCY_CODE: 'MMK'),
   /**
    * Number formatting symbols for locale nb.
    */
-  "nb" : const NumberSymbols(
+  "nb": const NumberSymbols(
       NAME: "nb",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1449,12 +1380,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'NOK'
-),
+      DEF_CURRENCY_CODE: 'NOK'),
   /**
    * Number formatting symbols for locale ne.
    */
-  "ne" : const NumberSymbols(
+  "ne": const NumberSymbols(
       NAME: "ne",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1470,12 +1400,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'NPR'
-),
+      DEF_CURRENCY_CODE: 'NPR'),
   /**
    * Number formatting symbols for locale nl.
    */
-  "nl" : const NumberSymbols(
+  "nl": const NumberSymbols(
       NAME: "nl",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1491,12 +1420,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00;\u00A4\u00A0#,##0.00-',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale no.
    */
-  "no" : const NumberSymbols(
+  "no": const NumberSymbols(
       NAME: "no",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1512,12 +1440,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'NOK'
-),
+      DEF_CURRENCY_CODE: 'NOK'),
   /**
    * Number formatting symbols for locale no_NO.
    */
-  "no_NO" : const NumberSymbols(
+  "no_NO": const NumberSymbols(
       NAME: "no_NO",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1533,12 +1460,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'NOK'
-),
+      DEF_CURRENCY_CODE: 'NOK'),
   /**
    * Number formatting symbols for locale or.
    */
-  "or" : const NumberSymbols(
+  "or": const NumberSymbols(
       NAME: "or",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1554,12 +1480,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale pa.
    */
-  "pa" : const NumberSymbols(
+  "pa": const NumberSymbols(
       NAME: "pa",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1575,12 +1500,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale pl.
    */
-  "pl" : const NumberSymbols(
+  "pl": const NumberSymbols(
       NAME: "pl",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1596,12 +1520,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'PLN'
-),
+      DEF_CURRENCY_CODE: 'PLN'),
   /**
    * Number formatting symbols for locale pt.
    */
-  "pt" : const NumberSymbols(
+  "pt": const NumberSymbols(
       NAME: "pt",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1617,12 +1540,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'BRL'
-),
+      DEF_CURRENCY_CODE: 'BRL'),
   /**
    * Number formatting symbols for locale pt_BR.
    */
-  "pt_BR" : const NumberSymbols(
+  "pt_BR": const NumberSymbols(
       NAME: "pt_BR",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1638,12 +1560,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'BRL'
-),
+      DEF_CURRENCY_CODE: 'BRL'),
   /**
    * Number formatting symbols for locale pt_PT.
    */
-  "pt_PT" : const NumberSymbols(
+  "pt_PT": const NumberSymbols(
       NAME: "pt_PT",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1659,12 +1580,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale ro.
    */
-  "ro" : const NumberSymbols(
+  "ro": const NumberSymbols(
       NAME: "ro",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1680,12 +1600,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'RON'
-),
+      DEF_CURRENCY_CODE: 'RON'),
   /**
    * Number formatting symbols for locale ru.
    */
-  "ru" : const NumberSymbols(
+  "ru": const NumberSymbols(
       NAME: "ru",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1701,12 +1620,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'RUB'
-),
+      DEF_CURRENCY_CODE: 'RUB'),
   /**
    * Number formatting symbols for locale si.
    */
-  "si" : const NumberSymbols(
+  "si": const NumberSymbols(
       NAME: "si",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1722,12 +1640,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'LKR'
-),
+      DEF_CURRENCY_CODE: 'LKR'),
   /**
    * Number formatting symbols for locale sk.
    */
-  "sk" : const NumberSymbols(
+  "sk": const NumberSymbols(
       NAME: "sk",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1743,12 +1660,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale sl.
    */
-  "sl" : const NumberSymbols(
+  "sl": const NumberSymbols(
       NAME: "sl",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1764,12 +1680,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'EUR'
-),
+      DEF_CURRENCY_CODE: 'EUR'),
   /**
    * Number formatting symbols for locale sq.
    */
-  "sq" : const NumberSymbols(
+  "sq": const NumberSymbols(
       NAME: "sq",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1785,12 +1700,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'ALL'
-),
+      DEF_CURRENCY_CODE: 'ALL'),
   /**
    * Number formatting symbols for locale sr.
    */
-  "sr" : const NumberSymbols(
+  "sr": const NumberSymbols(
       NAME: "sr",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1806,12 +1720,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'RSD'
-),
+      DEF_CURRENCY_CODE: 'RSD'),
   /**
    * Number formatting symbols for locale sv.
    */
-  "sv" : const NumberSymbols(
+  "sv": const NumberSymbols(
       NAME: "sv",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1827,12 +1740,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0\u00A0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'SEK'
-),
+      DEF_CURRENCY_CODE: 'SEK'),
   /**
    * Number formatting symbols for locale sw.
    */
-  "sw" : const NumberSymbols(
+  "sw": const NumberSymbols(
       NAME: "sw",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1848,12 +1760,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'TZS'
-),
+      DEF_CURRENCY_CODE: 'TZS'),
   /**
    * Number formatting symbols for locale ta.
    */
-  "ta" : const NumberSymbols(
+  "ta": const NumberSymbols(
       NAME: "ta",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1869,12 +1780,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale te.
    */
-  "te" : const NumberSymbols(
+  "te": const NumberSymbols(
       NAME: "te",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1890,12 +1800,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'INR'
-),
+      DEF_CURRENCY_CODE: 'INR'),
   /**
    * Number formatting symbols for locale th.
    */
-  "th" : const NumberSymbols(
+  "th": const NumberSymbols(
       NAME: "th",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1911,12 +1820,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'THB'
-),
+      DEF_CURRENCY_CODE: 'THB'),
   /**
    * Number formatting symbols for locale tl.
    */
-  "tl" : const NumberSymbols(
+  "tl": const NumberSymbols(
       NAME: "tl",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1932,12 +1840,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'PHP'
-),
+      DEF_CURRENCY_CODE: 'PHP'),
   /**
    * Number formatting symbols for locale tr.
    */
-  "tr" : const NumberSymbols(
+  "tr": const NumberSymbols(
       NAME: "tr",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -1953,12 +1860,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '%#,##0',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'TRY'
-),
+      DEF_CURRENCY_CODE: 'TRY'),
   /**
    * Number formatting symbols for locale uk.
    */
-  "uk" : const NumberSymbols(
+  "uk": const NumberSymbols(
       NAME: "uk",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -1974,12 +1880,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'UAH'
-),
+      DEF_CURRENCY_CODE: 'UAH'),
   /**
    * Number formatting symbols for locale ur.
    */
-  "ur" : const NumberSymbols(
+  "ur": const NumberSymbols(
       NAME: "ur",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -1995,12 +1900,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00\u200E',
-      DEF_CURRENCY_CODE: 'PKR'
-),
+      DEF_CURRENCY_CODE: 'PKR'),
   /**
    * Number formatting symbols for locale uz.
    */
-  "uz" : const NumberSymbols(
+  "uz": const NumberSymbols(
       NAME: "uz",
       DECIMAL_SEP: ',',
       GROUP_SEP: '\u00A0',
@@ -2016,12 +1920,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'UZS'
-),
+      DEF_CURRENCY_CODE: 'UZS'),
   /**
    * Number formatting symbols for locale vi.
    */
-  "vi" : const NumberSymbols(
+  "vi": const NumberSymbols(
       NAME: "vi",
       DECIMAL_SEP: ',',
       GROUP_SEP: '.',
@@ -2037,12 +1940,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '#,##0.00\u00A0\u00A4',
-      DEF_CURRENCY_CODE: 'VND'
-),
+      DEF_CURRENCY_CODE: 'VND'),
   /**
    * Number formatting symbols for locale zh.
    */
-  "zh" : const NumberSymbols(
+  "zh": const NumberSymbols(
       NAME: "zh",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -2058,12 +1960,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'CNY'
-),
+      DEF_CURRENCY_CODE: 'CNY'),
   /**
    * Number formatting symbols for locale zh_CN.
    */
-  "zh_CN" : const NumberSymbols(
+  "zh_CN": const NumberSymbols(
       NAME: "zh_CN",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -2079,12 +1980,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4\u00A0#,##0.00',
-      DEF_CURRENCY_CODE: 'CNY'
-),
+      DEF_CURRENCY_CODE: 'CNY'),
   /**
    * Number formatting symbols for locale zh_HK.
    */
-  "zh_HK" : const NumberSymbols(
+  "zh_HK": const NumberSymbols(
       NAME: "zh_HK",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -2100,12 +2000,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'HKD'
-),
+      DEF_CURRENCY_CODE: 'HKD'),
   /**
    * Number formatting symbols for locale zh_TW.
    */
-  "zh_TW" : const NumberSymbols(
+  "zh_TW": const NumberSymbols(
       NAME: "zh_TW",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -2121,12 +2020,11 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'TWD'
-),
+      DEF_CURRENCY_CODE: 'TWD'),
   /**
    * Number formatting symbols for locale zu.
    */
-  "zu" : const NumberSymbols(
+  "zu": const NumberSymbols(
       NAME: "zu",
       DECIMAL_SEP: '.',
       GROUP_SEP: ',',
@@ -2142,6 +2040,5 @@
       SCIENTIFIC_PATTERN: '#E0',
       PERCENT_PATTERN: '#,##0%',
       CURRENCY_PATTERN: '\u00A4#,##0.00',
-      DEF_CURRENCY_CODE: 'ZAR'
-)
-};
\ No newline at end of file
+      DEF_CURRENCY_CODE: 'ZAR')
+};
diff --git a/lib/src/data/dates/locale_list.dart b/lib/src/data/dates/locale_list.dart
index bc7e9e6..2c55f28 100644
--- a/lib/src/data/dates/locale_list.dart
+++ b/lib/src/data/dates/locale_list.dart
@@ -3,104 +3,106 @@
 // BSD-style license that can be found in the LICENSE file.
 
 /// Hard-coded list of all available locales for dates.
-final availableLocalesForDateFormatting = const ["en_ISO",
-    "af",
-    "am",
-    "ar",
-    "az",
-    "bg",
-    "bn",
-    "br",
-    "ca",
-    "chr",
-    "cs",
-    "cy",
-    "da",
-    "de",
-    "de_AT",
-    "de_CH",
-    "el",
-    "en",
-    "en_AU",
-    "en_GB",
-    "en_IE",
-    "en_IN",
-    "en_SG",
-    "en_US",
-    "en_ZA",
-    "es",
-    "es_419",
-    "es_ES",
-    "et",
-    "eu",
-    "fa",
-    "fi",
-    "fil",
-    "fr",
-    "fr_CA",
-    "gl",
-    "gsw",
-    "gu",
-    "haw",
-    "he",
-    "hi",
-    "hr",
-    "hu",
-    "hy",
-    "id",
-    "in",
-    "is",
-    "it",
-    "iw",
-    "ja",
-    "ka",
-    "kk",
-    "km",
-    "kn",
-    "ko",
-    "ky",
-    "ln",
-    "lo",
-    "lt",
-    "lv",
-    "mk",
-    "ml",
-    "mn",
-    "mr",
-    "ms",
-    "mt",
-    "my",
-    "nb",
-    "ne",
-    "nl",
-    "no",
-    "no_NO",
-    "or",
-    "pa",
-    "pl",
-    "pt",
-    "pt_BR",
-    "pt_PT",
-    "ro",
-    "ru",
-    "si",
-    "sk",
-    "sl",
-    "sq",
-    "sr",
-    "sv",
-    "sw",
-    "ta",
-    "te",
-    "th",
-    "tl",
-    "tr",
-    "uk",
-    "ur",
-    "uz",
-    "vi",
-    "zh",
-    "zh_CN",
-    "zh_HK",
-    "zh_TW",
-    "zu"];
\ No newline at end of file
+final availableLocalesForDateFormatting = const [
+  "en_ISO",
+  "af",
+  "am",
+  "ar",
+  "az",
+  "bg",
+  "bn",
+  "br",
+  "ca",
+  "chr",
+  "cs",
+  "cy",
+  "da",
+  "de",
+  "de_AT",
+  "de_CH",
+  "el",
+  "en",
+  "en_AU",
+  "en_GB",
+  "en_IE",
+  "en_IN",
+  "en_SG",
+  "en_US",
+  "en_ZA",
+  "es",
+  "es_419",
+  "es_ES",
+  "et",
+  "eu",
+  "fa",
+  "fi",
+  "fil",
+  "fr",
+  "fr_CA",
+  "gl",
+  "gsw",
+  "gu",
+  "haw",
+  "he",
+  "hi",
+  "hr",
+  "hu",
+  "hy",
+  "id",
+  "in",
+  "is",
+  "it",
+  "iw",
+  "ja",
+  "ka",
+  "kk",
+  "km",
+  "kn",
+  "ko",
+  "ky",
+  "ln",
+  "lo",
+  "lt",
+  "lv",
+  "mk",
+  "ml",
+  "mn",
+  "mr",
+  "ms",
+  "mt",
+  "my",
+  "nb",
+  "ne",
+  "nl",
+  "no",
+  "no_NO",
+  "or",
+  "pa",
+  "pl",
+  "pt",
+  "pt_BR",
+  "pt_PT",
+  "ro",
+  "ru",
+  "si",
+  "sk",
+  "sl",
+  "sq",
+  "sr",
+  "sv",
+  "sw",
+  "ta",
+  "te",
+  "th",
+  "tl",
+  "tr",
+  "uk",
+  "ur",
+  "uz",
+  "vi",
+  "zh",
+  "zh_CN",
+  "zh_HK",
+  "zh_TW",
+  "zu"
+];
diff --git a/lib/src/date_format_internal.dart b/lib/src/date_format_internal.dart
index a5f4811..ddb7aad 100644
--- a/lib/src/date_format_internal.dart
+++ b/lib/src/date_format_internal.dart
@@ -13,6 +13,7 @@
  */
 
 library date_format_internal;
+
 import 'dart:async';
 import 'intl_helpers.dart';
 import '../date_symbols.dart';
@@ -24,9 +25,8 @@
  * to an instance of UninitializedLocaleData, so any attempt to use it will
  * result in an informative error message.
  */
-var dateTimeSymbols =
-    new UninitializedLocaleData('initializeDateFormatting(<locale>)',
-        en_USSymbols);
+var dateTimeSymbols = new UninitializedLocaleData(
+    'initializeDateFormatting(<locale>)', en_USSymbols);
 
 /**
  * This holds the patterns used for date/time formatting, indexed
@@ -35,9 +35,8 @@
  * to an instance of UninitializedLocaleData, so any attempt to use it will
  * result in an informative error message.
  */
-var dateTimePatterns =
-    new UninitializedLocaleData('initializeDateFormatting(<locale>)',
-        en_USPatterns);
+var dateTimePatterns = new UninitializedLocaleData(
+    'initializeDateFormatting(<locale>)', en_USPatterns);
 
 /**
  * Initialize the symbols dictionary. This should be passed a function that
diff --git a/lib/src/http_request_data_reader.dart b/lib/src/http_request_data_reader.dart
index ce63870..cbe214d 100644
--- a/lib/src/http_request_data_reader.dart
+++ b/lib/src/http_request_data_reader.dart
@@ -26,7 +26,7 @@
     var request = new HttpRequest();
     request.timeout = 5000;
     return _getString('$url$locale.json?cacheBlocker=$someNumber', request)
-      .then((r) => r.responseText);
+        .then((r) => r.responseText);
   }
 
   /// Read a string with the given request. This is a stripped down copy
@@ -38,7 +38,8 @@
     xhr.onLoad.listen((e) {
       // Note: file:// URIs have status of 0.
       if ((xhr.status >= 200 && xhr.status < 300) ||
-          xhr.status == 0 || xhr.status == 304) {
+          xhr.status == 0 ||
+          xhr.status == 304) {
         completer.complete(xhr);
       } else {
         completer.completeError(e);
diff --git a/lib/src/icu_parser.dart b/lib/src/icu_parser.dart
index 0565ce0..c07934a 100644
--- a/lib/src/icu_parser.dart
+++ b/lib/src/icu_parser.dart
@@ -29,8 +29,7 @@
   get icuText => notAllowedInIcuText.neg();
   get notAllowedInNormalText => char("{");
   get normalText => notAllowedInNormalText.neg();
-  get messageText => (icuEscapedText | icuText)
-      .plus().map((x) => x.join());
+  get messageText => (icuEscapedText | icuText).plus().map((x) => x.join());
   get nonIcuMessageText => normalText.plus().map((x) => x.join());
   get twoSingleQuotes => string("''").map((x) => "'");
   get number => digit().plus().flatten().trim().map(int.parse);
@@ -45,8 +44,7 @@
 
   get pluralKeyword => asKeywords(
       ["=0", "=1", "=2", "zero", "one", "two", "few", "many", "other"]);
-  get genderKeyword => asKeywords(
-      ["female", "male", "other"]);
+  get genderKeyword => asKeywords(["female", "male", "other"]);
 
   var interiorText = undefined();
 
@@ -54,7 +52,8 @@
 
   get pluralLiteral => string("plural");
   get pluralClause => (pluralKeyword & openCurly & interiorText & closeCurly)
-      .trim().map((result) => [result[0], result[2]]);
+      .trim()
+      .map((result) => [result[0], result[2]]);
   get plural =>
       preface & pluralLiteral & comma & pluralClause.plus() & closeCurly;
   get intlPlural =>
@@ -62,17 +61,18 @@
 
   get selectLiteral => string("select");
   get genderClause => (genderKeyword & openCurly & interiorText & closeCurly)
-      .trim().map((result) => [result[0], result[2]]);
+      .trim()
+      .map((result) => [result[0], result[2]]);
   get gender =>
       preface & selectLiteral & comma & genderClause.plus() & closeCurly;
   get intlGender =>
       gender.map((values) => new Gender.from(values.first, values[3], null));
-  get selectClause => (id & openCurly & interiorText & closeCurly).map(
-      (x) => [x.first, x[2]]);
-  get generalSelect => preface & selectLiteral & comma &
-      selectClause.plus() & closeCurly;
-  get intlSelect => generalSelect.map(
-      (values) => new Select.from(values.first, values[3], null));
+  get selectClause =>
+      (id & openCurly & interiorText & closeCurly).map((x) => [x.first, x[2]]);
+  get generalSelect =>
+      preface & selectLiteral & comma & selectClause.plus() & closeCurly;
+  get intlSelect => generalSelect
+      .map((values) => new Select.from(values.first, values[3], null));
 
   get pluralOrGenderOrSelect => intlPlural | intlGender | intlSelect;
 
@@ -80,29 +80,29 @@
   get simpleText => (nonIcuMessageText | parameter | openCurly).plus();
   get empty => epsilon().map((_) => '');
 
-  get parameter => (openCurly & id & closeCurly).map(
-      (param) => new VariableSubstitution.named(param[1], null));
+  get parameter => (openCurly & id & closeCurly)
+      .map((param) => new VariableSubstitution.named(param[1], null));
 
   /**
    * The primary entry point for parsing. Accepts a string and produces
    * a parsed representation of it as a Message.
    */
-  get message => (pluralOrGenderOrSelect | empty).map((chunk) =>
-      Message.from(chunk, null));
+  get message => (pluralOrGenderOrSelect | empty)
+      .map((chunk) => Message.from(chunk, null));
 
   /**
    * Represents an ordinary message, i.e. not a plural/gender/select, although
    * it may have parameters.
    */
-  get nonIcuMessage => (simpleText | empty).map((chunk) =>
-      Message.from(chunk, null));
+  get nonIcuMessage =>
+      (simpleText | empty).map((chunk) => Message.from(chunk, null));
 
-  get stuff => (pluralOrGenderOrSelect | empty).map(
-      (chunk) => Message.from(chunk, null));
+  get stuff => (pluralOrGenderOrSelect | empty)
+      .map((chunk) => Message.from(chunk, null));
 
   IcuParser() {
     // There is a cycle here, so we need the explicit set to avoid
     // infinite recursion.
     interiorText.set(contents.plus() | empty);
   }
-}
\ No newline at end of file
+}
diff --git a/lib/src/intl/bidi_formatter.dart b/lib/src/intl/bidi_formatter.dart
index 5f23d3f..9f9495c 100644
--- a/lib/src/intl/bidi_formatter.dart
+++ b/lib/src/intl/bidi_formatter.dart
@@ -71,12 +71,15 @@
    * neutral or matches the context, so that the DOM structure of the output
    * does not depend on the combination of directionalities.
    */
-  BidiFormatter.LTR([alwaysSpan=false]) : contextDirection = TextDirection.LTR,
-      _alwaysSpan = alwaysSpan;
-  BidiFormatter.RTL([alwaysSpan=false]) : contextDirection = TextDirection.RTL,
-      _alwaysSpan = alwaysSpan;
-  BidiFormatter.UNKNOWN([alwaysSpan=false]) :
-      contextDirection = TextDirection.UNKNOWN, _alwaysSpan = alwaysSpan;
+  BidiFormatter.LTR([alwaysSpan = false])
+      : contextDirection = TextDirection.LTR,
+        _alwaysSpan = alwaysSpan;
+  BidiFormatter.RTL([alwaysSpan = false])
+      : contextDirection = TextDirection.RTL,
+        _alwaysSpan = alwaysSpan;
+  BidiFormatter.UNKNOWN([alwaysSpan = false])
+      : contextDirection = TextDirection.UNKNOWN,
+        _alwaysSpan = alwaysSpan;
 
   /** Is true if the known context direction for this formatter is RTL. */
   bool get isRTL => contextDirection == TextDirection.RTL;
@@ -97,8 +100,8 @@
    * a trailing unicode BiDi mark matching the context directionality is
    * appended (LRM or RLM). If [isHtml] is false, we HTML-escape the [text].
    */
-  String wrapWithSpan(String text, {bool isHtml: false, bool resetDir: true,
-                      TextDirection direction}) {
+  String wrapWithSpan(String text,
+      {bool isHtml: false, bool resetDir: true, TextDirection direction}) {
     if (direction == null) direction = estimateDirection(text, isHtml: isHtml);
     var result;
     if (!isHtml) text = HTML_ESCAPE.convert(text);
@@ -134,14 +137,13 @@
    * [isHtml]. [isHtml] is used to designate if the text contains HTML (escaped
    * or unescaped).
    */
-  String wrapWithUnicode(String text, {bool isHtml: false, bool resetDir: true,
-                         TextDirection direction}) {
+  String wrapWithUnicode(String text,
+      {bool isHtml: false, bool resetDir: true, TextDirection direction}) {
     if (direction == null) direction = estimateDirection(text, isHtml: isHtml);
     var result = text;
     if (contextDirection.isDirectionChange(direction)) {
       var marker = direction == TextDirection.RTL ? Bidi.RLE : Bidi.LRE;
       result = "${marker}$text${Bidi.PDF}";
-
     }
     return result + (resetDir ? _resetDir(text, direction, isHtml) : '');
   }
@@ -167,11 +169,11 @@
   String _resetDir(String text, TextDirection direction, bool isHtml) {
     // endsWithRtl and endsWithLtr are called only if needed (short-circuit).
     if ((contextDirection == TextDirection.LTR &&
-          (direction == TextDirection.RTL ||
-           Bidi.endsWithRtl(text, isHtml))) ||
+            (direction == TextDirection.RTL ||
+                Bidi.endsWithRtl(text, isHtml))) ||
         (contextDirection == TextDirection.RTL &&
-          (direction == TextDirection.LTR ||
-           Bidi.endsWithLtr(text, isHtml)))) {
+            (direction == TextDirection.LTR ||
+                Bidi.endsWithLtr(text, isHtml)))) {
       return contextDirection == TextDirection.LTR ? Bidi.LRM : Bidi.RLM;
     } else {
       return '';
diff --git a/lib/src/intl/bidi_utils.dart b/lib/src/intl/bidi_utils.dart
index 3ef2c80..378e0cc 100644
--- a/lib/src/intl/bidi_utils.dart
+++ b/lib/src/intl/bidi_utils.dart
@@ -106,18 +106,18 @@
    * Determines if the first character in [text] with strong directionality is
    * LTR. If [isHtml] is true, the text is HTML or HTML-escaped.
    */
-  static bool startsWithLtr(String text, [isHtml=false]) {
-    return new RegExp('^[^$_RTL_CHARS]*[$_LTR_CHARS]').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool startsWithLtr(String text, [isHtml = false]) {
+    return new RegExp('^[^$_RTL_CHARS]*[$_LTR_CHARS]')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
    * Determines if the first character in [text] with strong directionality is
    * RTL. If [isHtml] is true, the text is HTML or HTML-escaped.
    */
-  static bool startsWithRtl(String text, [isHtml=false]) {
-    return new RegExp('^[^$_LTR_CHARS]*[$_RTL_CHARS]').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool startsWithRtl(String text, [isHtml = false]) {
+    return new RegExp('^[^$_LTR_CHARS]*[$_RTL_CHARS]')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
@@ -125,9 +125,9 @@
    * character in [text] is LTR. If [isHtml] is true, the text is HTML or
    * HTML-escaped.
    */
-  static bool endsWithLtr(String text, [isHtml=false]) {
-    return new RegExp('[$_LTR_CHARS][^$_RTL_CHARS]*\$').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool endsWithLtr(String text, [isHtml = false]) {
+    return new RegExp('[$_LTR_CHARS][^$_RTL_CHARS]*\$')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
@@ -135,27 +135,27 @@
    * character in [text] is RTL. If [isHtml] is true, the text is HTML or
    * HTML-escaped.
    */
-  static bool endsWithRtl(String text, [isHtml=false]) {
-    return new RegExp('[$_RTL_CHARS][^$_LTR_CHARS]*\$').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool endsWithRtl(String text, [isHtml = false]) {
+    return new RegExp('[$_RTL_CHARS][^$_LTR_CHARS]*\$')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
    * Determines if the given [text] has any LTR characters in it.
    * If [isHtml] is true, the text is HTML or HTML-escaped.
    */
-  static bool hasAnyLtr(String text, [isHtml=false]) {
-    return new RegExp(r'[' '$_LTR_CHARS' r']').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool hasAnyLtr(String text, [isHtml = false]) {
+    return new RegExp(r'[' '$_LTR_CHARS' r']')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
    * Determines if the given [text] has any RTL characters in it.
    * If [isHtml] is true, the text is HTML or HTML-escaped.
    */
-  static bool hasAnyRtl(String text, [isHtml=false]) {
-    return new RegExp(r'[' '$_RTL_CHARS' r']').hasMatch(
-        isHtml? stripHtmlIfNeeded(text) : text);
+  static bool hasAnyRtl(String text, [isHtml = false]) {
+    return new RegExp(r'[' '$_RTL_CHARS' r']')
+        .hasMatch(isHtml ? stripHtmlIfNeeded(text) : text);
   }
 
   /**
@@ -237,8 +237,9 @@
       var startIndex = 0;
       Match match = new RegExp('<\\w+').firstMatch(html);
       if (match != null) {
-        buffer..write(html.substring(startIndex, match.end))
-              ..write(' dir=$direction');
+        buffer
+          ..write(html.substring(startIndex, match.end))
+          ..write(' dir=$direction');
         startIndex = match.end;
       }
       return (buffer..write(html.substring(startIndex))).toString();
@@ -285,15 +286,16 @@
    */
   // TODO(efortuna): Get rid of this once this is implemented in Dart.
   // See Issue 2979.
-  static String _guardBracketHelper(String str, RegExp regexp, [String before,
-      String after]) {
+  static String _guardBracketHelper(String str, RegExp regexp,
+      [String before, String after]) {
     var buffer = new StringBuffer();
     var startIndex = 0;
     regexp.allMatches(str).forEach((match) {
-      buffer..write(str.substring(startIndex, match.start))
-            ..write(before)
-            ..write(str.substring(match.start, match.end))
-            ..write(after);
+      buffer
+        ..write(str.substring(startIndex, match.start))
+        ..write(before)
+        ..write(str.substring(match.start, match.end))
+        ..write(after);
       startIndex = match.end;
     });
     return (buffer..write(str.substring(startIndex))).toString();
@@ -312,8 +314,8 @@
    * Numbers and URLs are counted as weakly LTR.
    */
   static TextDirection estimateDirectionOfText(String text,
-                                               {bool isHtml: false}) {
-    text = isHtml? stripHtmlIfNeeded(text) : text;
+      {bool isHtml: false}) {
+    text = isHtml ? stripHtmlIfNeeded(text) : text;
     var rtlCount = 0;
     var total = 0;
     var hasWeaklyLtr = false;
@@ -356,11 +358,11 @@
     // Start at 1 because we're looking for the patterns [\u0591-\u05f2])" or
     // [\u0591-\u05f2]'.
     for (int i = 1; i < str.length; i++) {
-      if (str.substring(i, i+1) == '"'
-          && new RegExp('[\u0591-\u05f2]').hasMatch(str.substring(i-1, i))) {
+      if (str.substring(i, i + 1) == '"' &&
+          new RegExp('[\u0591-\u05f2]').hasMatch(str.substring(i - 1, i))) {
         buf.write('\u05f4');
-      } else if (str.substring(i, i+1) == "'"
-          && new RegExp('[\u0591-\u05f2]').hasMatch(str.substring(i-1, i))) {
+      } else if (str.substring(i, i + 1) == "'" &&
+          new RegExp('[\u0591-\u05f2]').hasMatch(str.substring(i - 1, i))) {
         buf.write('\u05f3');
       } else {
         buf.write(str.substring(i, i + 1));
diff --git a/lib/src/intl/date_format.dart b/lib/src/intl/date_format.dart
index 86402c9..8f023fc 100644
--- a/lib/src/intl/date_format.dart
+++ b/lib/src/intl/date_format.dart
@@ -325,7 +325,7 @@
   DateTime parseStrict(String inputString, [utc = false]) =>
       _parse(inputString, utc: utc, strict: true);
 
-  DateTime _parse(String inputString, {utc : false, strict : false}) {
+  DateTime _parse(String inputString, {utc: false, strict: false}) {
     // TODO(alanknight): The Closure code refers to special parsing of numeric
     // values with no delimiters, which we currently don't do. Should we?
     var dateFields = new _DateBuilder();
@@ -564,18 +564,18 @@
    * component fields.
    */
   static List<RegExp> _matchers = [
-      // Quoted String - anything between single quotes, with escaping
-      //   of single quotes by doubling them.
-      // e.g. in the pattern "hh 'o''clock'" will match 'o''clock'
-      new RegExp("^\'(?:[^\']|\'\')*\'"),
-      // Fields - any sequence of 1 or more of the same field characters.
-      // e.g. in "hh:mm:ss" will match hh, mm, and ss. But in "hms" would
-      // match each letter individually.
-      new RegExp(
+    // Quoted String - anything between single quotes, with escaping
+    //   of single quotes by doubling them.
+    // e.g. in the pattern "hh 'o''clock'" will match 'o''clock'
+    new RegExp("^\'(?:[^\']|\'\')*\'"),
+    // Fields - any sequence of 1 or more of the same field characters.
+    // e.g. in "hh:mm:ss" will match hh, mm, and ss. But in "hms" would
+    // match each letter individually.
+    new RegExp(
         "^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|D+|m+|s+|v+|z+|Z+)"),
-      // Everything else - A sequence that is not quotes or field characters.
-      // e.g. in "hh:mm:ss" will match the colons.
-      new RegExp("^[^\'GyMkSEahKHcLQdDmsvzZ]+")
+    // Everything else - A sequence that is not quotes or field characters.
+    // e.g. in "hh:mm:ss" will match the colons.
+    new RegExp("^[^\'GyMkSEahKHcLQdDmsvzZ]+")
   ];
 
   /**
@@ -583,9 +583,8 @@
    * space to separate the two.
    */
   _appendPattern(String inputPattern, [String separator = ' ']) {
-    _pattern = _pattern == null ?
-      inputPattern :
-      "$_pattern$separator$inputPattern";
+    _pattern =
+        _pattern == null ? inputPattern : "$_pattern$separator$inputPattern";
   }
 
   /**
@@ -646,9 +645,10 @@
   }
 
   static List get _fieldConstructors => [
-      (pattern, parent) => new _DateFormatQuotedField(pattern, parent),
-      (pattern, parent) => new _DateFormatPatternField(pattern, parent),
-      (pattern, parent) => new _DateFormatLiteralField(pattern, parent)];
+    (pattern, parent) => new _DateFormatQuotedField(pattern, parent),
+    (pattern, parent) => new _DateFormatPatternField(pattern, parent),
+    (pattern, parent) => new _DateFormatLiteralField(pattern, parent)
+  ];
 
   /** Parse the template pattern and return a list of field objects.*/
   List parsePattern(String pattern) {
@@ -663,8 +663,8 @@
     var matched = _match(pattern);
     if (matched == null) return [];
 
-    var parsed = _parsePatternHelper(
-        pattern.substring(matched.fullPattern().length));
+    var parsed =
+        _parsePatternHelper(pattern.substring(matched.fullPattern().length));
     parsed.add(matched);
     return parsed;
   }
diff --git a/lib/src/intl/date_format_field.dart b/lib/src/intl/date_format_field.dart
index 4b8b12e..8df1154 100644
--- a/lib/src/intl/date_format_field.dart
+++ b/lib/src/intl/date_format_field.dart
@@ -81,15 +81,14 @@
  * is extremely simple.
  */
 class _DateFormatLiteralField extends _DateFormatField {
-
-  _DateFormatLiteralField(pattern, parent): super(pattern, parent);
+  _DateFormatLiteralField(pattern, parent) : super(pattern, parent);
 
   parse(_Stream input, _DateBuilder dateFields) {
     parseLiteral(input);
   }
 
   parseLoose(_Stream input, _DateBuilder dateFields) =>
-    parseLiteralLoose(input);
+      parseLiteralLoose(input);
 }
 
 /**
@@ -97,12 +96,11 @@
  * only slightly more complex than a _DateFormatLiteralField.
  */
 class _DateFormatQuotedField extends _DateFormatField {
-
   String _fullPattern;
 
   String fullPattern() => _fullPattern;
 
-  _DateFormatQuotedField(pattern, parent): super(pattern, parent) {
+  _DateFormatQuotedField(pattern, parent) : super(pattern, parent) {
     _fullPattern = pattern;
     patchQuotes();
   }
@@ -112,7 +110,7 @@
   }
 
   parseLoose(_Stream input, _DateBuilder dateFields) =>
-    parseLiteralLoose(input);
+      parseLiteralLoose(input);
 
   void patchQuotes() {
     if (pattern == "''") {
@@ -134,20 +132,19 @@
 class _LoosePatternField extends _DateFormatPatternField {
   _LoosePatternField(String pattern, parent) : super(pattern, parent);
 
-   /**
+  /**
     * Parse from a list of possibilities, but case-insensitively.
     * Assumes that input is lower case.
     */
-   int parseEnumeratedString(_Stream input, List possibilities) {
-     var lowercasePossibilities = possibilities
-         .map((x) => x.toLowerCase())
-         .toList();
-     try {
-       return super.parseEnumeratedString(input, lowercasePossibilities);
-     } on FormatException {
-       return -1;
-     }
-   }
+  int parseEnumeratedString(_Stream input, List possibilities) {
+    var lowercasePossibilities =
+        possibilities.map((x) => x.toLowerCase()).toList();
+    try {
+      return super.parseEnumeratedString(input, lowercasePossibilities);
+    } on FormatException {
+      return -1;
+    }
+  }
 
   /**
    * Parse a month name, case-insensitively, and set it in [dateFields].
@@ -158,8 +155,7 @@
       handleNumericField(input, dateFields.setMonth);
       return;
     }
-    var possibilities =
-        [symbols.MONTHS, symbols.SHORTMONTHS];
+    var possibilities = [symbols.MONTHS, symbols.SHORTMONTHS];
     for (var monthNames in possibilities) {
       var month = parseEnumeratedString(input, monthNames);
       if (month != -1) {
@@ -179,14 +175,16 @@
       handleNumericField(input, (x) => x);
       return;
     }
-    var possibilities =
-        [symbols.STANDALONEWEEKDAYS, symbols.STANDALONESHORTWEEKDAYS];
+    var possibilities = [
+      symbols.STANDALONEWEEKDAYS,
+      symbols.STANDALONESHORTWEEKDAYS
+    ];
     for (var dayNames in possibilities) {
-       var day = parseEnumeratedString(input, dayNames);
-       if (day != -1) {
-         return;
-       }
-     }
+      var day = parseEnumeratedString(input, dayNames);
+      if (day != -1) {
+        return;
+      }
+    }
   }
 
   /**
@@ -198,8 +196,10 @@
       handleNumericField(input, (x) => x);
       return;
     }
-    var possibilities =
-        [symbols.STANDALONEMONTHS, symbols.STANDALONESHORTMONTHS];
+    var possibilities = [
+      symbols.STANDALONEMONTHS,
+      symbols.STANDALONESHORTMONTHS
+    ];
     for (var monthNames in possibilities) {
       var month = parseEnumeratedString(input, monthNames);
       if (month != -1) {
@@ -221,11 +221,11 @@
     }
     var possibilities = [symbols.WEEKDAYS, symbols.SHORTWEEKDAYS];
     for (var dayNames in possibilities) {
-       var day = parseEnumeratedString(input, dayNames);
-       if (day != -1) {
-         return;
-       }
-     }
+      var day = parseEnumeratedString(input, dayNames);
+      if (day != -1) {
+        return;
+      }
+    }
   }
 }
 
@@ -235,8 +235,7 @@
  * to determine what to do.
  */
 class _DateFormatPatternField extends _DateFormatField {
-
-  _DateFormatPatternField(pattern, parent): super(pattern,  parent);
+  _DateFormatPatternField(pattern, parent) : super(pattern, parent);
 
   /** Format date according to our specification and return the result. */
   String format(DateTime date) {
@@ -251,7 +250,6 @@
     parseField(input, dateFields);
   }
 
-
   /**
    * Parse the date according to our specification and put the result
    * into the correct place in dateFields. Allow looser parsing, accepting
@@ -266,58 +264,117 @@
    * return a value, but rather build up the result in [builder].
    */
   void parseField(_Stream input, _DateBuilder builder) {
-   try {
-     switch(pattern[0]) {
-       case 'a': parseAmPm(input, builder); break;
-       case 'c': parseStandaloneDay(input); break;
-       case 'd': handleNumericField(input, builder.setDay); break; // day
-       // Day of year. Setting month=January with any day of the year works
-       case 'D': handleNumericField(input, builder.setDay); break; // dayofyear
-       case 'E': parseDayOfWeek(input); break;
-       case 'G': break; // era
-       case 'h': parse1To12Hours(input, builder); break;
-       case 'H': handleNumericField(input, builder.setHour); break; // hour 0-23
-       case 'K': handleNumericField(input, builder.setHour); break; //hour 0-11
-       case 'k': handleNumericField(input, builder.setHour,-1); break; //hr 1-24
-       case 'L': parseStandaloneMonth(input, builder); break;
-       case 'M': parseMonth(input, builder); break;
-       case 'm': handleNumericField(input, builder.setMinute); break; // minutes
-       case 'Q': break; // quarter
-       case 'S': handleNumericField(input, builder.setFractionalSecond); break;
-       case 's': handleNumericField(input, builder.setSecond); break;
-       case 'v': break; // time zone id
-       case 'y': handleNumericField(input, builder.setYear); break;
-       case 'z': break; // time zone
-       case 'Z': break; // time zone RFC
-       default: return;
-     }
-   } catch (e) { throwFormatException(input); }
- }
+    try {
+      switch (pattern[0]) {
+        case 'a':
+          parseAmPm(input, builder);
+          break;
+        case 'c':
+          parseStandaloneDay(input);
+          break;
+        case 'd':
+          handleNumericField(input, builder.setDay);
+          break; // day
+        // Day of year. Setting month=January with any day of the year works
+        case 'D':
+          handleNumericField(input, builder.setDay);
+          break; // dayofyear
+        case 'E':
+          parseDayOfWeek(input);
+          break;
+        case 'G':
+          break; // era
+        case 'h':
+          parse1To12Hours(input, builder);
+          break;
+        case 'H':
+          handleNumericField(input, builder.setHour);
+          break; // hour 0-23
+        case 'K':
+          handleNumericField(input, builder.setHour);
+          break; //hour 0-11
+        case 'k':
+          handleNumericField(input, builder.setHour, -1);
+          break; //hr 1-24
+        case 'L':
+          parseStandaloneMonth(input, builder);
+          break;
+        case 'M':
+          parseMonth(input, builder);
+          break;
+        case 'm':
+          handleNumericField(input, builder.setMinute);
+          break; // minutes
+        case 'Q':
+          break; // quarter
+        case 'S':
+          handleNumericField(input, builder.setFractionalSecond);
+          break;
+        case 's':
+          handleNumericField(input, builder.setSecond);
+          break;
+        case 'v':
+          break; // time zone id
+        case 'y':
+          handleNumericField(input, builder.setYear);
+          break;
+        case 'z':
+          break; // time zone
+        case 'Z':
+          break; // time zone RFC
+        default:
+          return;
+      }
+    } catch (e) {
+      throwFormatException(input);
+    }
+  }
 
   /** Formatting logic if we are of type FIELD */
   String formatField(DateTime date) {
-     switch (pattern[0]) {
-      case 'a': return formatAmPm(date);
-      case 'c': return formatStandaloneDay(date);
-      case 'd': return formatDayOfMonth(date);
-      case 'D': return formatDayOfYear(date);
-      case 'E': return formatDayOfWeek(date);
-      case 'G': return formatEra(date);
-      case 'h': return format1To12Hours(date);
-      case 'H': return format0To23Hours(date);
-      case 'K': return format0To11Hours(date);
-      case 'k': return format24Hours(date);
-      case 'L': return formatStandaloneMonth(date);
-      case 'M': return formatMonth(date);
-      case 'm': return formatMinutes(date);
-      case 'Q': return formatQuarter(date);
-      case 'S': return formatFractionalSeconds(date);
-      case 's': return formatSeconds(date);
-      case 'v': return formatTimeZoneId(date);
-      case 'y': return formatYear(date);
-      case 'z': return formatTimeZone(date);
-      case 'Z': return formatTimeZoneRFC(date);
-      default: return '';
+    switch (pattern[0]) {
+      case 'a':
+        return formatAmPm(date);
+      case 'c':
+        return formatStandaloneDay(date);
+      case 'd':
+        return formatDayOfMonth(date);
+      case 'D':
+        return formatDayOfYear(date);
+      case 'E':
+        return formatDayOfWeek(date);
+      case 'G':
+        return formatEra(date);
+      case 'h':
+        return format1To12Hours(date);
+      case 'H':
+        return format0To23Hours(date);
+      case 'K':
+        return format0To11Hours(date);
+      case 'k':
+        return format24Hours(date);
+      case 'L':
+        return formatStandaloneMonth(date);
+      case 'M':
+        return formatMonth(date);
+      case 'm':
+        return formatMinutes(date);
+      case 'Q':
+        return formatQuarter(date);
+      case 'S':
+        return formatFractionalSeconds(date);
+      case 's':
+        return formatSeconds(date);
+      case 'v':
+        return formatTimeZoneId(date);
+      case 'y':
+        return formatYear(date);
+      case 'z':
+        return formatTimeZone(date);
+      case 'Z':
+        return formatTimeZoneRFC(date);
+      default:
+        return '';
     }
   }
 
@@ -326,8 +383,7 @@
 
   formatEra(DateTime date) {
     var era = date.year > 0 ? 1 : 0;
-    return width >= 4 ? symbols.ERANAMES[era] :
-                        symbols.ERAS[era];
+    return width >= 4 ? symbols.ERANAMES[era] : symbols.ERAS[era];
   }
 
   formatYear(DateTime date) {
@@ -362,22 +418,25 @@
    * then after all parsing is done we construct a date from the arguments.
    * This method handles reading any of string fields from an enumerated set.
    */
-   int parseEnumeratedString(_Stream input, List possibilities) {
-     var results = new _Stream(possibilities).findIndexes(
-       (each) => input.peek(each.length) == each);
-     if (results.isEmpty) throwFormatException(input);
-     results.sort(
-       (a, b) => possibilities[a].length.compareTo(possibilities[b].length));
-     var longestResult = results.last;
-     input.read(possibilities[longestResult].length);
-     return longestResult;
-     }
+  int parseEnumeratedString(_Stream input, List possibilities) {
+    var results = new _Stream(possibilities)
+        .findIndexes((each) => input.peek(each.length) == each);
+    if (results.isEmpty) throwFormatException(input);
+    results.sort(
+        (a, b) => possibilities[a].length.compareTo(possibilities[b].length));
+    var longestResult = results.last;
+    input.read(possibilities[longestResult].length);
+    return longestResult;
+  }
 
   String formatMonth(DateTime date) {
     switch (width) {
-      case 5: return symbols.NARROWMONTHS[date.month-1];
-      case 4: return symbols.MONTHS[date.month-1];
-      case 3: return symbols.SHORTMONTHS[date.month-1];
+      case 5:
+        return symbols.NARROWMONTHS[date.month - 1];
+      case 4:
+        return symbols.MONTHS[date.month - 1];
+      case 3:
+        return symbols.SHORTMONTHS[date.month - 1];
       default:
         return padTo(width, date.month);
     }
@@ -385,11 +444,18 @@
 
   void parseMonth(input, dateFields) {
     var possibilities;
-    switch(width) {
-      case 5: possibilities = symbols.NARROWMONTHS; break;
-      case 4: possibilities = symbols.MONTHS; break;
-      case 3: possibilities = symbols.SHORTMONTHS; break;
-      default: return handleNumericField(input, dateFields.setMonth);
+    switch (width) {
+      case 5:
+        possibilities = symbols.NARROWMONTHS;
+        break;
+      case 4:
+        possibilities = symbols.MONTHS;
+        break;
+      case 3:
+        possibilities = symbols.SHORTMONTHS;
+        break;
+      default:
+        return handleNumericField(input, dateFields.setMonth);
     }
     dateFields.month = parseEnumeratedString(input, possibilities) + 1;
   }
@@ -444,9 +510,12 @@
 
   String formatStandaloneDay(DateTime date) {
     switch (width) {
-      case 5: return symbols.STANDALONENARROWWEEKDAYS[date.weekday % 7];
-      case 4: return symbols.STANDALONEWEEKDAYS[date.weekday % 7];
-      case 3: return symbols.STANDALONESHORTWEEKDAYS[date.weekday % 7];
+      case 5:
+        return symbols.STANDALONENARROWWEEKDAYS[date.weekday % 7];
+      case 4:
+        return symbols.STANDALONEWEEKDAYS[date.weekday % 7];
+      case 3:
+        return symbols.STANDALONESHORTWEEKDAYS[date.weekday % 7];
       default:
         return padTo(1, date.day);
     }
@@ -455,35 +524,49 @@
   void parseStandaloneDay(_Stream input) {
     // This is ignored, but we still have to skip over it the correct amount.
     var possibilities;
-    switch(width) {
-      case 5: possibilities = symbols.STANDALONENARROWWEEKDAYS; break;
-      case 4: possibilities = symbols.STANDALONEWEEKDAYS; break;
-      case 3: possibilities = symbols.STANDALONESHORTWEEKDAYS; break;
-      default: return handleNumericField(input, (x)=>x);
+    switch (width) {
+      case 5:
+        possibilities = symbols.STANDALONENARROWWEEKDAYS;
+        break;
+      case 4:
+        possibilities = symbols.STANDALONEWEEKDAYS;
+        break;
+      case 3:
+        possibilities = symbols.STANDALONESHORTWEEKDAYS;
+        break;
+      default:
+        return handleNumericField(input, (x) => x);
     }
     parseEnumeratedString(input, possibilities);
   }
 
   String formatStandaloneMonth(DateTime date) {
-  switch (width) {
-    case 5:
-      return symbols.STANDALONENARROWMONTHS[date.month-1];
-    case 4:
-      return symbols.STANDALONEMONTHS[date.month-1];
-    case 3:
-      return symbols.STANDALONESHORTMONTHS[date.month-1];
-    default:
-      return padTo(width, date.month);
+    switch (width) {
+      case 5:
+        return symbols.STANDALONENARROWMONTHS[date.month - 1];
+      case 4:
+        return symbols.STANDALONEMONTHS[date.month - 1];
+      case 3:
+        return symbols.STANDALONESHORTMONTHS[date.month - 1];
+      default:
+        return padTo(width, date.month);
     }
   }
 
   void parseStandaloneMonth(input, dateFields) {
     var possibilities;
-    switch(width) {
-      case 5: possibilities = symbols.STANDALONENARROWMONTHS; break;
-      case 4: possibilities = symbols.STANDALONEMONTHS; break;
-      case 3: possibilities = symbols.STANDALONESHORTMONTHS; break;
-      default: return handleNumericField(input, dateFields.setMonth);
+    switch (width) {
+      case 5:
+        possibilities = symbols.STANDALONENARROWMONTHS;
+        break;
+      case 4:
+        possibilities = symbols.STANDALONEMONTHS;
+        break;
+      case 3:
+        possibilities = symbols.STANDALONESHORTMONTHS;
+        break;
+      default:
+        return handleNumericField(input, dateFields.setMonth);
     }
     dateFields.month = parseEnumeratedString(input, possibilities) + 1;
   }
@@ -528,8 +611,9 @@
 
   String formatDayOfWeek(DateTime date) {
     // Note that Dart's weekday returns 1 for Monday and 7 for Sunday.
-    return (width >= 4 ? symbols.WEEKDAYS :
-                        symbols.SHORTWEEKDAYS)[(date.weekday) % 7];
+    return (width >= 4
+        ? symbols.WEEKDAYS
+        : symbols.SHORTWEEKDAYS)[(date.weekday) % 7];
   }
 
   void parseDayOfWeek(_Stream input) {
diff --git a/lib/src/intl/date_format_helpers.dart b/lib/src/intl/date_format_helpers.dart
index 13b3801..6a6e68c 100644
--- a/lib/src/intl/date_format_helpers.dart
+++ b/lib/src/intl/date_format_helpers.dart
@@ -2,7 +2,6 @@
 // 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.
 
-
 part of intl;
 
 /**
@@ -24,13 +23,27 @@
 
   // Functions that exist just to be closurized so we can pass them to a general
   // method.
-  void setYear(x) { year = x; }
-  void setMonth(x) { month = x; }
-  void setDay(x) { day = x; }
-  void setHour(x) { hour = x; }
-  void setMinute(x) { minute = x; }
-  void setSecond(x) { second = x; }
-  void setFractionalSecond(x) { fractionalSecond = x; }
+  void setYear(x) {
+    year = x;
+  }
+  void setMonth(x) {
+    month = x;
+  }
+  void setDay(x) {
+    day = x;
+  }
+  void setHour(x) {
+    hour = x;
+  }
+  void setMinute(x) {
+    minute = x;
+  }
+  void setSecond(x) {
+    second = x;
+  }
+  void setFractionalSecond(x) {
+    fractionalSecond = x;
+  }
 
   get hour24 => pm ? hour + 12 : hour;
 
@@ -39,29 +52,29 @@
    * range values, even if the DateTime constructor would accept them. An
    * invalid message will result in throwing a [FormatException].
    */
-   verify(String s) {
-     _verify(month, 1, 12, "month", s);
-     _verify(hour24, 0, 23, "hour", s);
-     _verify(minute, 0, 59, "minute", s);
-     _verify(second, 0, 59, "second", s);
-     _verify(fractionalSecond, 0, 999, "fractional second", s);
-     // Verifying the day is tricky, because it depends on the month. Create
-     // our resulting date and then verify that our values agree with it
-     // as an additional verification. And since we're doing that, also
-     // check the year, which we otherwise can't verify, and the hours,
-     // which will catch cases like "14:00:00 PM".
-     var date = asDate();
-     _verify(hour24, date.hour, date.hour, "hour", s);
-     _verify(day, date.day, date.day, "day", s);
-     _verify(year, date.year, date.year, "year", s);
-   }
+  verify(String s) {
+    _verify(month, 1, 12, "month", s);
+    _verify(hour24, 0, 23, "hour", s);
+    _verify(minute, 0, 59, "minute", s);
+    _verify(second, 0, 59, "second", s);
+    _verify(fractionalSecond, 0, 999, "fractional second", s);
+    // Verifying the day is tricky, because it depends on the month. Create
+    // our resulting date and then verify that our values agree with it
+    // as an additional verification. And since we're doing that, also
+    // check the year, which we otherwise can't verify, and the hours,
+    // which will catch cases like "14:00:00 PM".
+    var date = asDate();
+    _verify(hour24, date.hour, date.hour, "hour", s);
+    _verify(day, date.day, date.day, "day", s);
+    _verify(year, date.year, date.year, "year", s);
+  }
 
-   _verify(int value, int min, int max, String desc, String originalInput) {
-     if (value < min || value > max) {
-       throw new FormatException(
-           "Error parsing $originalInput, invalid $desc value: $value");
-     }
-   }
+  _verify(int value, int min, int max, String desc, String originalInput) {
+    if (value < min || value > max) {
+      throw new FormatException(
+          "Error parsing $originalInput, invalid $desc value: $value");
+    }
+  }
 
   /**
    * Return a date built using our values. If no date portion is set,
@@ -73,22 +86,10 @@
     var result;
     if (utc) {
       result = new DateTime.utc(
-          year,
-          month,
-          day,
-          hour24,
-          minute,
-          second,
-          fractionalSecond);
+          year, month, day, hour24, minute, second, fractionalSecond);
     } else {
       result = new DateTime(
-          year,
-          month,
-          day,
-          hour24,
-          minute,
-          second,
-          fractionalSecond);
+          year, month, day, hour24, minute, second, fractionalSecond);
       // TODO(alanknight): Issue 15560 means non-UTC dates occasionally come
       // out in UTC. If that happens, retry once. This will always happen if
       // the local time zone is UTC, but that's ok.
@@ -146,9 +147,7 @@
   peek([int howMany = 1]) {
     var result;
     if (contents is String) {
-      result = contents.substring(
-          index,
-          min(index + howMany, contents.length));
+      result = contents.substring(index, min(index + howMany, contents.length));
     } else {
       // Assume List
       result = contents.sublist(index, index + howMany);
diff --git a/lib/src/intl/number_format.dart b/lib/src/intl/number_format.dart
index 5d9cf08..9e0de51 100644
--- a/lib/src/intl/number_format.dart
+++ b/lib/src/intl/number_format.dart
@@ -3,6 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 part of intl;
+
 /**
  * Provides the ability to format a number in a locale-specific way. The
  * format is specified as a pattern using a subset of the ICU formatting
@@ -117,16 +118,16 @@
       new NumberFormat._forPattern(locale, (x) => newPattern);
 
   /** Create a number format that prints as DECIMAL_PATTERN. */
-  NumberFormat.decimalPattern([String locale]) : this._forPattern(locale,
-      (x) => x.DECIMAL_PATTERN);
+  NumberFormat.decimalPattern([String locale])
+      : this._forPattern(locale, (x) => x.DECIMAL_PATTERN);
 
   /** Create a number format that prints as PERCENT_PATTERN. */
-  NumberFormat.percentPattern([String locale]) : this._forPattern(locale,
-      (x) => x.PERCENT_PATTERN);
+  NumberFormat.percentPattern([String locale])
+      : this._forPattern(locale, (x) => x.PERCENT_PATTERN);
 
   /** Create a number format that prints as SCIENTIFIC_PATTERN. */
-  NumberFormat.scientificPattern([String locale]) : this._forPattern(locale,
-      (x) => x.SCIENTIFIC_PATTERN);
+  NumberFormat.scientificPattern([String locale])
+      : this._forPattern(locale, (x) => x.SCIENTIFIC_PATTERN);
 
   /**
    * Create a number format that prints as CURRENCY_PATTERN. If provided,
@@ -134,16 +135,16 @@
    *        var eurosInCurrentLocale = new NumberFormat
    *            .currencyPattern(Intl.defaultLocale, "€");
    */
-  NumberFormat.currencyPattern([String locale, String nameOrSymbol]) :
-      this._forPattern(locale, (x) => x.CURRENCY_PATTERN, nameOrSymbol);
+  NumberFormat.currencyPattern([String locale, String nameOrSymbol])
+      : this._forPattern(locale, (x) => x.CURRENCY_PATTERN, nameOrSymbol);
 
   /**
    * Create a number format that prints in a pattern we get from
    * the [getPattern] function using the locale [locale].
    */
   NumberFormat._forPattern(String locale, Function getPattern,
-      [this.currencyName]) :
-        _locale = Intl.verifiedLocale(locale, localeExists) {
+      [this.currencyName])
+      : _locale = Intl.verifiedLocale(locale, localeExists) {
     _symbols = numberFormatSymbols[_locale];
     if (currencyName == null) {
       currencyName = _symbols.DEF_CURRENCY_CODE;
@@ -216,8 +217,8 @@
     var mantissa = number / pow(10.0, exponent);
 
     var minIntDigits = minimumIntegerDigits;
-    if (maximumIntegerDigits > 1 && maximumIntegerDigits > minimumIntegerDigits)
-        {
+    if (maximumIntegerDigits > 1 &&
+        maximumIntegerDigits > minimumIntegerDigits) {
       // A repeating range is defined; adjust to it as follows.
       // If repeat == 3, we have 6,5,4=>3; 3,2,1=>0; 0,-1,-2=>-3;
       // -3,-4,-5=>-6, etc. This takes into account that the
@@ -396,10 +397,18 @@
   /** A group of methods that provide support for writing digits and other
    * required characters into [_buffer] easily.
    */
-  void _add(String x) { _buffer.write(x);}
-  void _addCharCode(int x) { _buffer.writeCharCode(x);}
-  void _addZero() { _buffer.write(symbols.ZERO_DIGIT);}
-  void _addDigit(int x) { _buffer.writeCharCode(_localeZero + x - _zero);}
+  void _add(String x) {
+    _buffer.write(x);
+  }
+  void _addCharCode(int x) {
+    _buffer.writeCharCode(x);
+  }
+  void _addZero() {
+    _buffer.write(symbols.ZERO_DIGIT);
+  }
+  void _addDigit(int x) {
+    _buffer.writeCharCode(_localeZero + x - _zero);
+  }
 
   /** Print padding up to [numberOfDigits] above what's included in [basic]. */
   void _pad(int numberOfDigits, [String basic = '']) {
@@ -533,8 +542,9 @@
   /**
    *  Create a new [_NumberParser] on which we can call parse().
    */
-  _NumberParser(this.format, text) : this.text = text,
-      this.input = new _Stream(text) {
+  _NumberParser(this.format, text)
+      : this.text = text,
+        this.input = new _Stream(text) {
     value = parse();
   }
 
@@ -545,28 +555,29 @@
    * [symbols.PERCENT] might be " %", and we must handle that before we
    * look at an individual space.
    */
-  Map<String, Function> get replacements => _replacements == null ?
-      _replacements = _initializeReplacements() : _replacements;
+  Map<String, Function> get replacements => _replacements == null
+      ? _replacements = _initializeReplacements()
+      : _replacements;
 
   var _replacements;
 
   Map _initializeReplacements() => {
-      symbols.DECIMAL_SEP: () => '.',
-      symbols.EXP_SYMBOL: () => 'E',
-      symbols.GROUP_SEP: handleSpace,
-      symbols.PERCENT: () {
-        scale = _NumberFormatParser._PERCENT_SCALE;
-        return '';
-      },
-      symbols.PERMILL: () {
-        scale = _NumberFormatParser._PER_MILLE_SCALE;
-        return '';
-      },
-      ' ' : handleSpace,
-      '\u00a0' : handleSpace,
-      '+': () => '+',
-      '-': () => '-',
-    };
+    symbols.DECIMAL_SEP: () => '.',
+    symbols.EXP_SYMBOL: () => 'E',
+    symbols.GROUP_SEP: handleSpace,
+    symbols.PERCENT: () {
+      scale = _NumberFormatParser._PERCENT_SCALE;
+      return '';
+    },
+    symbols.PERMILL: () {
+      scale = _NumberFormatParser._PER_MILLE_SCALE;
+      return '';
+    },
+    ' ': handleSpace,
+    '\u00a0': handleSpace,
+    '+': () => '+',
+    '-': () => '-',
+  };
 
   invalidFormat() =>
       throw new FormatException("Invalid number: ${input.contents}");
@@ -609,9 +620,9 @@
    */
   void checkPrefixes({bool skip: false}) {
     bool checkPrefix(String prefix, skip) {
-        var matched = prefix.isNotEmpty && input.startsWith(prefix);
-        if (skip && matched) input.read(prefix.length);
-        return matched;
+      var matched = prefix.isNotEmpty && input.startsWith(prefix);
+      if (skip && matched) input.read(prefix.length);
+      return matched;
     }
 
     // TODO(alanknight): There's a faint possibility of a bug here where
@@ -755,8 +766,8 @@
    * Create a new [_NumberFormatParser] for a particular [NumberFormat] and
    * [input] pattern.
    */
-  _NumberFormatParser(this.format, input, this.currencyName) :
-      pattern = _iterator(input) {
+  _NumberFormatParser(this.format, input, this.currencyName)
+      : pattern = _iterator(input) {
     pattern.moveNext();
   }
 
@@ -890,9 +901,10 @@
 
     // Do syntax checking on the digits.
     if (decimalPos < 0 && digitRightCount > 0 ||
-        decimalPos >= 0 && (decimalPos < digitLeftCount ||
-            decimalPos > digitLeftCount + zeroDigitCount) ||
-            groupingCount == 0) {
+        decimalPos >= 0 &&
+            (decimalPos < digitLeftCount ||
+                decimalPos > digitLeftCount + zeroDigitCount) ||
+        groupingCount == 0) {
       throw new FormatException('Malformed pattern "${pattern.input}"');
     }
     var totalDigits = digitLeftCount + zeroDigitCount + digitRightCount;
@@ -913,8 +925,8 @@
     var effectiveDecimalPos = decimalPos >= 0 ? decimalPos : totalDigits;
     format.minimumIntegerDigits = effectiveDecimalPos - digitLeftCount;
     if (format._useExponentialNotation) {
-      format.maximumIntegerDigits = digitLeftCount +
-          format.minimumIntegerDigits;
+      format.maximumIntegerDigits =
+          digitLeftCount + format.minimumIntegerDigits;
 
       // In exponential display, we need to at least show something.
       if (format.maximumFractionDigits == 0 &&
@@ -927,8 +939,8 @@
     if (!format._groupingSizeSetExplicitly) {
       format._groupingSize = format._finalGroupingSize;
     }
-    format._decimalSeparatorAlwaysShown = decimalPos == 0 ||
-        decimalPos == totalDigits;
+    format._decimalSeparatorAlwaysShown =
+        decimalPos == 0 || decimalPos == totalDigits;
 
     return trunk.toString();
   }
@@ -953,8 +965,8 @@
         break;
       case _PATTERN_ZERO_DIGIT:
         if (digitRightCount > 0) {
-          throw new FormatException('Unexpected "0" in pattern "' +
-              pattern.input + '"');
+          throw new FormatException(
+              'Unexpected "0" in pattern "' + pattern.input + '"');
         }
         zeroDigitCount++;
         if (groupingCount >= 0 && decimalPos < 0) {
@@ -1066,5 +1078,4 @@
     if (input is! String) throw new ArgumentError(input);
     return input;
   }
-
 }
diff --git a/lib/src/intl_helpers.dart b/lib/src/intl_helpers.dart
index e6ef5c5..f88ff8e 100644
--- a/lib/src/intl_helpers.dart
+++ b/lib/src/intl_helpers.dart
@@ -24,9 +24,9 @@
   operator [](String key) =>
       (key == 'en_US') ? fallbackData : _throwException();
 
-  String lookupMessage(String message_str, [final String desc='',
-      final Map examples=const {}, String locale,
-      String name, List<String> args, String meaning]) => message_str;
+  String lookupMessage(String message_str, [final String desc = '',
+      final Map examples = const {}, String locale, String name,
+      List<String> args, String meaning]) => message_str;
 
   List get keys => _throwException();
 
@@ -56,8 +56,8 @@
  * by the implementing package so that we're not dependent on its
  * implementation.
  */
-var messageLookup = const
-    UninitializedLocaleData('initializeMessages(<locale>)', null);
+var messageLookup =
+    const UninitializedLocaleData('initializeMessages(<locale>)', null);
 
 /**
  * Initialize the message lookup mechanism. This is for internal use only.
diff --git a/lib/src/intl_message.dart b/lib/src/intl_message.dart
index 8bb9fdb..28a118a 100644
--- a/lib/src/intl_message.dart
+++ b/lib/src/intl_message.dart
@@ -74,8 +74,8 @@
    */
   String get name => parent == null ? '<unnamed>' : parent.name;
 
-  String checkValidity(MethodInvocation node, List arguments,
-                       String outerName, FormalParameterList outerArgs) {
+  String checkValidity(MethodInvocation node, List arguments, String outerName,
+      FormalParameterList outerArgs) {
     var hasArgs = arguments.any(
         (each) => each is NamedExpression && each.name.label.name == 'args');
     var hasParameters = !outerArgs.parameters.isEmpty;
@@ -83,9 +83,8 @@
       return "The 'args' argument for Intl.message must be specified";
     }
 
-    var messageName = arguments.firstWhere(
-        (eachArg) => eachArg is NamedExpression &&
-            eachArg.name.label.name == 'name',
+    var messageName = arguments.firstWhere((eachArg) =>
+            eachArg is NamedExpression && eachArg.name.label.name == 'name',
         orElse: () => null);
     if (messageName == null) {
       return "The 'name' argument for Intl.message must be specified";
@@ -99,13 +98,12 @@
           "the name of the containing function ("
           "'${messageName.expression.value}' vs. '$outerName')";
     }
-    var simpleArguments = arguments.where(
-        (each) => each is NamedExpression
-        && ["desc", "name"].contains(each.name.label.name));
+    var simpleArguments = arguments.where((each) => each is NamedExpression &&
+        ["desc", "name"].contains(each.name.label.name));
     var values = simpleArguments.map((each) => each.expression).toList();
     for (var arg in values) {
       if (arg is! StringLiteral) {
-        return( "Intl.message arguments must be string literals: $arg");
+        return ("Intl.message arguments must be string literals: $arg");
       }
     }
     return null;
@@ -147,15 +145,15 @@
    */
   String escapeAndValidateString(String value) {
     const escapes = const {
-      r"\" : r"\\",
-      '"' : r'\"',
-      "\b" : r"\b",
-      "\f" : r"\f",
-      "\n" : r"\n",
-      "\r" : r"\r",
-      "\t" : r"\t",
-      "\v" : r"\v",
-      "'"  : r"\'",
+      r"\": r"\\",
+      '"': r'\"',
+      "\b": r"\b",
+      "\f": r"\f",
+      "\n": r"\n",
+      "\r": r"\r",
+      "\t": r"\t",
+      "\v": r"\v",
+      "'": r"\'",
     };
 
     _escape(String s) => (escapes[s] == null) ? s : escapes[s];
@@ -192,7 +190,6 @@
  * main Intl.message call, plurals, and genders.
  */
 abstract class ComplexMessage extends Message {
-
   ComplexMessage(parent) : super(parent);
 
   /**
@@ -265,8 +262,7 @@
    * save it separately and look it up case-insensitively once the parent
    * (and its arguments) are definitely available.
    */
-  VariableSubstitution.named(String name, Message parent)
-      : super(parent) {
+  VariableSubstitution.named(String name, Message parent) : super(parent) {
     _variableNameUpper = name.toUpperCase();
   }
 
@@ -277,7 +273,9 @@
     if (arguments.isEmpty) return null;
     // We may have been given an all-uppercase version of the name, so compare
     // case-insensitive.
-    _index = arguments.map((x) => x.toUpperCase()).toList()
+    _index = arguments
+        .map((x) => x.toUpperCase())
+        .toList()
         .indexOf(_variableNameUpper);
     if (_index == -1) {
       throw new ArgumentError(
@@ -310,7 +308,6 @@
 }
 
 class MainMessage extends ComplexMessage {
-
   MainMessage() : super(null);
 
   /**
@@ -321,8 +318,8 @@
   List<Message> messagePieces = [];
 
   /** Verify that this looks like a correct Intl.message invocation. */
-  String checkValidity(MethodInvocation node, List arguments,
-      String outerName, FormalParameterList outerArgs) {
+  String checkValidity(MethodInvocation node, List arguments, String outerName,
+      FormalParameterList outerArgs) {
     if (arguments.first is! StringLiteral) {
       return "Intl.message messages must be string literals";
     }
@@ -375,7 +372,9 @@
    * the name.
    */
   String get name => _name == null ? computeName() : _name;
-  set name(String newName) { _name = newName; }
+  set name(String newName) {
+    _name = newName;
+  }
 
   String computeName() => name = expanded((msg, chunk) => "");
 
@@ -394,12 +393,12 @@
    * suitably escaping it.
    */
   void addTranslation(String locale, Message translated) {
-      translated.parent = this;
-      translations[locale] = translated.toCode();
+    translated.parent = this;
+    translations[locale] = translated.toCode();
   }
 
-  toCode() => throw
-      new UnsupportedError("MainMessage.toCode requires a locale");
+  toCode() =>
+      throw new UnsupportedError("MainMessage.toCode requires a locale");
 
   /**
    * Generate code for this message, expecting it to be part of a map
@@ -421,14 +420,24 @@
    */
   void operator []=(attributeName, value) {
     switch (attributeName) {
-      case "desc" : description = value; return;
-      case "examples" : examples = value; return;
-      case "name" : name = value; return;
+      case "desc":
+        description = value;
+        return;
+      case "examples":
+        examples = value;
+        return;
+      case "name":
+        name = value;
+        return;
       // We use the actual args from the parser rather than what's given in the
       // arguments to Intl.message.
-      case "args" : return;
-      case "meaning" : meaning = value; return;
-      default: return;
+      case "args":
+        return;
+      case "meaning":
+        meaning = value;
+        return;
+      default:
+        return;
     }
   }
 
@@ -438,14 +447,20 @@
    */
   operator [](attributeName) {
     switch (attributeName) {
-      case "desc" : return description;
-      case "examples" : return examples;
-      case "name" : return name;
+      case "desc":
+        return description;
+      case "examples":
+        return examples;
+      case "name":
+        return name;
       // We use the actual args from the parser rather than what's given in the
       // arguments to Intl.message.
-      case "args" : return [];
-      case "meaning" : return meaning;
-      default: return null;
+      case "args":
+        return [];
+      case "meaning":
+        return meaning;
+      default:
+        return null;
     }
   }
 
@@ -466,7 +481,6 @@
  * plurals and genders.
  */
 abstract class SubMessage extends ComplexMessage {
-
   SubMessage() : super(null);
 
   /**
@@ -508,11 +522,12 @@
   List<String> get codeAttributeNames;
 
   String expanded([Function transform = _nullTransform]) {
-    fullMessageForClause(key) => key + '{' +
-        transform(parent, this[key]).toString() + '}';
+    fullMessageForClause(key) =>
+        key + '{' + transform(parent, this[key]).toString() + '}';
     var clauses = attributeNames
         .where((key) => this[key] != null)
-        .map(fullMessageForClause).toList();
+        .map(fullMessageForClause)
+        .toList();
     return "{$mainArgument,$icuMessageName, ${clauses.join("")}}";
   }
 
@@ -522,10 +537,9 @@
     out.write(dartMessageName);
     out.write('(');
     out.write(mainArgument);
-    var args = codeAttributeNames.where(
-        (attribute) => this[attribute] != null);
-    args.fold(out, (buffer, arg) => buffer..write(
-        ", $arg: '${this[arg].toCode()}'"));
+    var args = codeAttributeNames.where((attribute) => this[attribute] != null);
+    args.fold(
+        out, (buffer, arg) => buffer..write(", $arg: '${this[arg].toCode()}'"));
     out.write(")}");
     return out.toString();
   }
@@ -537,7 +551,6 @@
  * with "male", "female", and "other" as the possible options.
  */
 class Gender extends SubMessage {
-
   Gender();
   /**
    * Create a new Gender providing [mainArgument] and the list of possible
@@ -545,8 +558,8 @@
    * variable name and whose second element is either a [String] or
    * a list of strings and [Message] or [VariableSubstitution].
    */
-  Gender.from(String mainArgument, List clauses, Message parent) :
-      super.from(mainArgument, clauses, parent);
+  Gender.from(String mainArgument, List clauses, Message parent)
+      : super.from(mainArgument, clauses, parent);
 
   Message female;
   Message male;
@@ -565,75 +578,114 @@
   void operator []=(attributeName, rawValue) {
     var value = Message.from(rawValue, this);
     switch (attributeName) {
-      case "female" : female = value; return;
-      case "male" : male = value; return;
-      case "other" : other = value; return;
-      default: return;
+      case "female":
+        female = value;
+        return;
+      case "male":
+        male = value;
+        return;
+      case "other":
+        other = value;
+        return;
+      default:
+        return;
     }
   }
   Message operator [](String attributeName) {
     switch (attributeName) {
-      case "female" : return female;
-      case "male" : return male;
-      case "other" : return other;
-      default: return other;
+      case "female":
+        return female;
+      case "male":
+        return male;
+      case "other":
+        return other;
+      default:
+        return other;
     }
   }
 }
 
 class Plural extends SubMessage {
+  Plural();
+  Plural.from(String mainArgument, List clauses, Message parent)
+      : super.from(mainArgument, clauses, parent);
 
-   Plural();
-   Plural.from(String mainArgument, List clauses, Message parent) :
-     super.from(mainArgument, clauses, parent);
+  Message zero;
+  Message one;
+  Message two;
+  Message few;
+  Message many;
+  Message other;
 
-   Message zero;
-   Message one;
-   Message two;
-   Message few;
-   Message many;
-   Message other;
+  String get icuMessageName => "plural";
+  String get dartMessageName => "Intl.plural";
 
-   String get icuMessageName => "plural";
-   String get dartMessageName => "Intl.plural";
+  get attributeNames => ["=0", "=1", "=2", "few", "many", "other"];
+  get codeAttributeNames => ["zero", "one", "two", "few", "many", "other"];
 
-   get attributeNames => ["=0", "=1", "=2", "few", "many", "other"];
-   get codeAttributeNames => ["zero", "one", "two", "few", "many", "other"];
-
-   /**
+  /**
     * The node will have the attribute names as strings, so we translate
     * between those and the fields of the class.
     */
-   void operator []=(String attributeName, rawValue) {
-     var value = Message.from(rawValue, this);
-     switch (attributeName) {
-       case "zero" : zero = value; return;
-       case "=0" : zero = value; return;
-       case "one" : one = value; return;
-       case "=1" : one = value; return;
-       case "two" : two = value; return;
-       case "=2" : two = value; return;
-       case "few" : few = value; return;
-       case "many" : many = value; return;
-       case "other" : other = value; return;
-       default: return;
-     }
-   }
+  void operator []=(String attributeName, rawValue) {
+    var value = Message.from(rawValue, this);
+    switch (attributeName) {
+      case "zero":
+        zero = value;
+        return;
+      case "=0":
+        zero = value;
+        return;
+      case "one":
+        one = value;
+        return;
+      case "=1":
+        one = value;
+        return;
+      case "two":
+        two = value;
+        return;
+      case "=2":
+        two = value;
+        return;
+      case "few":
+        few = value;
+        return;
+      case "many":
+        many = value;
+        return;
+      case "other":
+        other = value;
+        return;
+      default:
+        return;
+    }
+  }
 
-   Message operator [](String attributeName) {
-     switch (attributeName) {
-       case "zero" : return zero;
-       case "=0" : return zero;
-       case "one" : return one;
-       case "=1" : return one;
-       case "two" : return two;
-       case "=2" : return two;
-       case "few" : return few;
-       case "many" : return many;
-       case "other" : return other;
-       default: return other;
-     }
-   }
+  Message operator [](String attributeName) {
+    switch (attributeName) {
+      case "zero":
+        return zero;
+      case "=0":
+        return zero;
+      case "one":
+        return one;
+      case "=1":
+        return one;
+      case "two":
+        return two;
+      case "=2":
+        return two;
+      case "few":
+        return few;
+      case "many":
+        return many;
+      case "other":
+        return other;
+      default:
+        return other;
+    }
+  }
 }
 
 /**
@@ -642,7 +694,6 @@
  * with arbitrary options.
  */
 class Select extends SubMessage {
-
   Select();
   /**
    * Create a new [Select] providing [mainArgument] and the list of possible
@@ -650,8 +701,8 @@
    * variable name and whose second element is either a String or
    * a list of strings and [Message]s or [VariableSubstitution]s.
    */
-  Select.from(String mainArgument, List clauses, Message parent) :
-      super.from(mainArgument, clauses, parent);
+  Select.from(String mainArgument, List clauses, Message parent)
+      : super.from(mainArgument, clauses, parent);
 
   Map<String, Message> cases = new Map<String, Message>();
 
@@ -679,8 +730,7 @@
   Map argumentsOfInterestFor(MethodInvocation node) {
     var casesArgument = node.argumentList.arguments[1];
     return new Map.fromIterable(casesArgument.entries,
-      key: (node) => node.key.value,
-      value: (node) => node.value);
+        key: (node) => node.key.value, value: (node) => node.value);
   }
 
   /**
@@ -696,8 +746,8 @@
     out.write(mainArgument);
     var args = codeAttributeNames;
     out.write(", {");
-    args.fold(out, (buffer, arg) => buffer..write(
-        "'$arg': '${this[arg].toCode()}', "));
+    args.fold(out,
+        (buffer, arg) => buffer..write("'$arg': '${this[arg].toCode()}', "));
     out.write("})}");
     return out.toString();
   }
diff --git a/lib/src/lazy_locale_data.dart b/lib/src/lazy_locale_data.dart
index ecef1ab..9be1c0d 100644
--- a/lib/src/lazy_locale_data.dart
+++ b/lib/src/lazy_locale_data.dart
@@ -9,6 +9,7 @@
  */
 
 library lazy_locale_data;
+
 import 'dart:async';
 import 'dart:convert';
 import 'intl_helpers.dart';
@@ -90,8 +91,9 @@
    * Throw an exception indicating that the locale has no data available,
    * either locally or remotely.
    */
-  unsupportedLocale(localeName) { throw new LocaleDataException(
-      'Locale $localeName has no data available');}
+  unsupportedLocale(localeName) {
+    throw new LocaleDataException('Locale $localeName has no data available');
+  }
 
   /**
    * Initialize for locale. Internal use only. As a user, call
@@ -99,8 +101,9 @@
    */
   Future initLocale(String localeName) {
     var data = _reader.read(localeName);
-    return jsonData(data).then( (input) {
-        map[localeName] = _creationFunction(input);});
+    return jsonData(data).then((input) {
+      map[localeName] = _creationFunction(input);
+    });
   }
 
   /**
@@ -108,6 +111,6 @@
    * return another future that parses the JSON into a usable format.
    */
   Future jsonData(Future input) {
-    return input.then( (response) => JSON.decode(response));
+    return input.then((response) => JSON.decode(response));
   }
 }
diff --git a/test/bidi_format_test.dart b/test/bidi_format_test.dart
index b4de2ad..53d3d7b 100644
--- a/test/bidi_format_test.dart
+++ b/test/bidi_format_test.dart
@@ -2,7 +2,6 @@
 // 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.
 
-
 library bidi_format_test;
 
 import 'package:intl/intl.dart';
@@ -25,9 +24,9 @@
   var html = '&lt;';
   var longEn = 'abba sabba gabba ';
   var longHe = '\u05e0 \u05e1 \u05e0 ';
-  var ltrFmt = new BidiFormatter.LTR();  // LTR context
-  var rtlFmt = new BidiFormatter.RTL();  // RTL context
-  var unkFmt = new BidiFormatter.UNKNOWN();  // unknown context
+  var ltrFmt = new BidiFormatter.LTR(); // LTR context
+  var rtlFmt = new BidiFormatter.RTL(); // RTL context
+  var unkFmt = new BidiFormatter.UNKNOWN(); // unknown context
 
   test('estimateDirection', () {
     expect(ltrFmt.estimateDirection(''), equals(UNKNOWN));
@@ -41,10 +40,12 @@
     expect(unkFmt.estimateDirection(he), equals(RTL));
 
     // Text contains HTML or HTML-escaping.
-    expect(ltrFmt.estimateDirection(
-        '<some sort of tag/>$he &amp;', isHtml: false), equals(LTR));
-    expect(ltrFmt.estimateDirection(
-        '<some sort of tag/>$he &amp;', isHtml: true), equals(RTL));
+    expect(
+        ltrFmt.estimateDirection('<some sort of tag/>$he &amp;', isHtml: false),
+        equals(LTR));
+    expect(
+        ltrFmt.estimateDirection('<some sort of tag/>$he &amp;', isHtml: true),
+        equals(RTL));
   });
 
   test('wrapWithSpan', () {
@@ -119,49 +120,49 @@
         equals('<span></span>'));
 
     // Test overall dir matches context dir (LTR.
-    expect(ltrFmt.wrapWithSpan(en, direction : TextDirection.LTR), equals(en));
+    expect(ltrFmt.wrapWithSpan(en, direction: TextDirection.LTR), equals(en));
     // Test overall dir (but not exit dir) supposedly matches context dir (LTR).
-    expect(ltrFmt.wrapWithSpan(he, direction : TextDirection.LTR),
+    expect(ltrFmt.wrapWithSpan(he, direction: TextDirection.LTR),
         equals('$he$LRM'));
     // Test overall dir matches context dir (RTL.
-    expect(rtlFmt.wrapWithSpan(he, direction : TextDirection.RTL), equals(he));
+    expect(rtlFmt.wrapWithSpan(he, direction: TextDirection.RTL), equals(he));
     // Test overall dir (but not exit dir) supposedly matches context dir (RTL).
-    expect(rtlFmt.wrapWithSpan(en, direction : TextDirection.RTL),
-      equals('$en$RLM'));
+    expect(rtlFmt.wrapWithSpan(en, direction: TextDirection.RTL),
+        equals('$en$RLM'));
 
     // Test overall dir (RTL) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithSpan(he, direction : TextDirection.RTL),
+    expect(ltrFmt.wrapWithSpan(he, direction: TextDirection.RTL),
         equals('<span dir=rtl>$he</span>$LRM'));
     // Test supposed overall dir (RTL) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithSpan(en, direction : TextDirection.RTL),
+    expect(ltrFmt.wrapWithSpan(en, direction: TextDirection.RTL),
         equals('<span dir=rtl>$en</span>$LRM'));
     // Test overall dir (LTR) doesn't match context dir (RTL).
-    expect(rtlFmt.wrapWithSpan(en, direction : TextDirection.LTR),
+    expect(rtlFmt.wrapWithSpan(en, direction: TextDirection.LTR),
         equals('<span dir=ltr>$en</span>$RLM'));
     // Test supposed overall dir (LTR) doesn't match context dir (RTL).
-    expect(rtlFmt.wrapWithSpan(he, direction : TextDirection.LTR),
+    expect(rtlFmt.wrapWithSpan(he, direction: TextDirection.LTR),
         equals('<span dir=ltr>$he</span>$RLM'));
     // Test supposed overall dir (LTR) doesn't match context dir (unknown).
-    expect(unkFmt.wrapWithSpan(he, direction : TextDirection.LTR),
+    expect(unkFmt.wrapWithSpan(he, direction: TextDirection.LTR),
         equals('<span dir=ltr>$he</span>'));
     // Test supposed overall dir (neutral) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithSpan(he, direction : TextDirection.UNKNOWN),
+    expect(ltrFmt.wrapWithSpan(he, direction: TextDirection.UNKNOWN),
         equals('$he$LRM'));
   });
 
   test('wrapWithUnicode', () {
     // Test overall dir matches context dir (LTR), no dirReset.
-    expect(ltrFmt.wrapWithUnicode(en, isHtml: true, resetDir: false),
-        equals(en));
+    expect(
+        ltrFmt.wrapWithUnicode(en, isHtml: true, resetDir: false), equals(en));
     // Test overall dir matches context dir (LTR), dirReset.
-    expect(ltrFmt.wrapWithUnicode(en, isHtml: true, resetDir: true),
-        equals(en));
+    expect(
+        ltrFmt.wrapWithUnicode(en, isHtml: true, resetDir: true), equals(en));
     // Test overall dir matches context dir (RTL), no dirReset.
-    expect(rtlFmt.wrapWithUnicode(he, isHtml: true, resetDir: false),
-        equals(he));
+    expect(
+        rtlFmt.wrapWithUnicode(he, isHtml: true, resetDir: false), equals(he));
     // Test overall dir matches context dir (RTL), dirReset.
-    expect(rtlFmt.wrapWithUnicode(he, isHtml: true, resetDir: true),
-        equals(he));
+    expect(
+        rtlFmt.wrapWithUnicode(he, isHtml: true, resetDir: true), equals(he));
 
     // Test overall dir (RTL) doesn't match context dir (LTR), no dirReset.
     expect(ltrFmt.wrapWithUnicode(he, isHtml: true, resetDir: false),
@@ -182,46 +183,47 @@
     expect(unkFmt.wrapWithUnicode(he, isHtml: true, resetDir: true),
         equals('$RLE$he$PDF'));
     // Test overall dir (neutral) doesn't match context dir (LTR), dirReset.
-    expect(ltrFmt.wrapWithUnicode('', isHtml: true, resetDir: true),
-        equals(''));
+    expect(
+        ltrFmt.wrapWithUnicode('', isHtml: true, resetDir: true), equals(''));
 
     // Test exit dir (but not overall dir) is opposite to context dir, dirReset.
-    expect(ltrFmt.wrapWithUnicode('$longEn$he$html', isHtml: true,
-        resetDir: true), equals('$longEn$he$html$LRM'));
+    expect(
+        ltrFmt.wrapWithUnicode('$longEn$he$html', isHtml: true, resetDir: true),
+        equals('$longEn$he$html$LRM'));
     // Test overall dir (but not exit dir) is opposite to context dir, dirReset.
     expect(rtlFmt.wrapWithUnicode('$longEn$he', isHtml: true, resetDir: true),
         equals('$LRE$longEn$he$PDF$RLM'));
 
     // Test overall dir matches context dir (LTR).
-    expect(ltrFmt.wrapWithUnicode(en,
-        direction : TextDirection.LTR), equals(en));
+    expect(
+        ltrFmt.wrapWithUnicode(en, direction: TextDirection.LTR), equals(en));
     // Test overall dir (but not exit dir) supposedly matches context dir (LTR).
-    expect(ltrFmt.wrapWithUnicode(he, direction : TextDirection.LTR),
+    expect(ltrFmt.wrapWithUnicode(he, direction: TextDirection.LTR),
         equals('$he$LRM'));
     // Test overall dir matches context dir (RTL).
-    expect(rtlFmt.wrapWithUnicode(he,
-        direction : TextDirection.RTL), equals(he));
+    expect(
+        rtlFmt.wrapWithUnicode(he, direction: TextDirection.RTL), equals(he));
     // Test overall dir (but not exit dir) supposedly matches context dir (RTL).
-    expect(rtlFmt.wrapWithUnicode(en, direction : TextDirection.RTL),
+    expect(rtlFmt.wrapWithUnicode(en, direction: TextDirection.RTL),
         equals('$en$RLM'));
 
     // Test overall dir (RTL) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithUnicode(he, direction : TextDirection.RTL),
+    expect(ltrFmt.wrapWithUnicode(he, direction: TextDirection.RTL),
         equals('$RLE$he$PDF$LRM'));
     // Test supposed overall dir (RTL) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithUnicode(en, direction : TextDirection.RTL),
+    expect(ltrFmt.wrapWithUnicode(en, direction: TextDirection.RTL),
         equals('$RLE$en$PDF$LRM'));
     // Test overall dir (LTR) doesn't match context dir (RTL).
-    expect(rtlFmt.wrapWithUnicode(en, direction : TextDirection.LTR),
+    expect(rtlFmt.wrapWithUnicode(en, direction: TextDirection.LTR),
         equals('$LRE$en$PDF$RLM'));
     // Test supposed overall dir (LTR) doesn't match context dir (RTL).
-    expect(rtlFmt.wrapWithUnicode(he, direction : TextDirection.LTR),
+    expect(rtlFmt.wrapWithUnicode(he, direction: TextDirection.LTR),
         equals('$LRE$he$PDF$RLM'));
     // Test supposed overall dir (LTR) doesn't match context dir (unknown).
-    expect(unkFmt.wrapWithUnicode(he, direction : TextDirection.LTR),
+    expect(unkFmt.wrapWithUnicode(he, direction: TextDirection.LTR),
         equals('$LRE$he$PDF'));
     // Test supposed overall dir (neutral) doesn't match context dir (LTR).
-    expect(ltrFmt.wrapWithUnicode(he, direction : TextDirection.UNKNOWN),
+    expect(ltrFmt.wrapWithUnicode(he, direction: TextDirection.UNKNOWN),
         equals('$he$LRM'));
   });
 }
diff --git a/test/bidi_utils_test.dart b/test/bidi_utils_test.dart
index 8170054..317ee96 100644
--- a/test/bidi_utils_test.dart
+++ b/test/bidi_utils_test.dart
@@ -2,7 +2,6 @@
 // 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.
 
-
 library bidi_utils_test;
 
 import 'package:intl/intl.dart';
@@ -56,7 +55,6 @@
     expect(Bidi.hasAnyRtl('<input value=\u05e0>123', true), isFalse);
   });
 
-
   test('endsWithLtr', () {
     expect(Bidi.endsWithLtr('a'), isTrue);
     expect(Bidi.endsWithLtr('abc'), isTrue);
@@ -119,7 +117,6 @@
         equals("a <span dir=rtl>(asc)</span> <span dir=rtl>{{123}}</span>"));
     expect(Bidi.guardBracketInHtml(strWithoutRtl, false),
         equals("a <span dir=ltr>(asc)</span> <span dir=ltr>{{123}}</span>"));
-
   });
 
   test('guardBracketInText', () {
@@ -146,7 +143,6 @@
         equals("a \u200f(asc)\u200f \u200f{{123}}\u200f"));
     expect(Bidi.guardBracketInText(strWithoutRtl, false),
         equals("a \u200e(asc)\u200e \u200e{{123}}\u200e"));
-
   });
 
   test('enforceRtlInHtml', () {
@@ -191,33 +187,31 @@
         equals(TextDirection.UNKNOWN.value));
     expect(Bidi.estimateDirectionOfText('! (...)', isHtml: false).value,
         equals(TextDirection.UNKNOWN.value));
-    expect(Bidi.estimateDirectionOfText('All-Ascii content',
-                                        isHtml: false).value,
+    expect(
+        Bidi.estimateDirectionOfText('All-Ascii content', isHtml: false).value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText('-17.0%', isHtml: false).value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText('http://foo/bar/', isHtml: false).value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText(
-        'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
-        '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
-        '\u05d0\u05d0\u05d0\u05d0\u05d0').value,
+            'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
+            '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
+            '\u05d0\u05d0\u05d0\u05d0\u05d0').value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText('\u05d0', isHtml: false).value,
         equals(TextDirection.RTL.value));
+    expect(Bidi.estimateDirectionOfText('9 \u05d0 -> 17.5, 23, 45, 19',
+        isHtml: false).value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
-        '9 \u05d0 -> 17.5, 23, 45, 19', isHtml: false).value,
-        equals(TextDirection.RTL.value));
-    expect(Bidi.estimateDirectionOfText(
-        'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/').value,
+            'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/').value,
         equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0'
         '\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4'
         '\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9'
         '\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9'
-        '\u05dd').value,
-        equals(TextDirection.RTL.value));
+        '\u05dd').value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         '\u05db\u05d0 - http://geek.co.il/gallery/v/2007-06 - \u05d0\u05d9'
         '\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0\u05d5\u05ea:'
@@ -230,41 +224,37 @@
         '\u05dc\u05d4\u05e1\u05ea\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 '
         '\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05de\u05e9\u05e9\u05e2\u05d5'
         '\u05ea \u05d9\u05e9\u05e0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9'
-        '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8', isHtml: false).value,
-        equals(TextDirection.RTL.value));
+        '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8',
+        isHtml: false).value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc '
-        '\u05de\u05d3\u05d9?').value,
-        equals(TextDirection.RTL.value));
+        '\u05de\u05d3\u05d9?').value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. \u05e9\u05d0\u05dc'
         '\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0\u05e0\u05d9 '
         '\u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 \u05dc\u05d7'
-        '\u05d2').value,
-        equals(TextDirection.RTL.value));
+        '\u05d2').value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
-        '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u05d9'
-        '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.').value,
+            '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u05d9'
+            '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.').value,
         equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4\u05e0\u05e9\u05d9'
-        '\u05e7\u05d4', isHtml: false).value,
-        equals(TextDirection.RTL.value));
+        '\u05e7\u05d4', isHtml: false).value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
         '\u05d4\u05d3\u05dc\u05ea http://www.google.com '
-        'http://www.gmail.com').value,
-        equals(TextDirection.RTL.value));
+        'http://www.gmail.com').value, equals(TextDirection.RTL.value));
     expect(Bidi.estimateDirectionOfText(
-        '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
+            '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText(
-        '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
+            '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText(
-        '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;').value,
+            '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;').value,
         equals(TextDirection.LTR.value));
     expect(Bidi.estimateDirectionOfText(
-        '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;', isHtml: true).value,
+            '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;', isHtml: true).value,
         equals(TextDirection.RTL.value));
   });
 
@@ -299,7 +289,6 @@
         '\u05de\u05d3\u05d9?', true);
     bidiText.add(item);
 
-
     item = new SampleItem('Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. '
         '\u05e9\u05d0\u05dc\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0'
         '\u05e0\u05d9 \u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 '
@@ -325,12 +314,12 @@
     bidiText.add(item);
 
     for (var i = 0; i < bidiText.length; i++) {
-        var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text,
-                                                    isHtml: bidiText[i].isHtml);
+      var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text,
+          isHtml: bidiText[i].isHtml);
       if (isRtlDir != bidiText[i].isRtl) {
         var str = '"${bidiText[i].text} " should be '
-                  '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as '
-                  '${isRtlDir ? "rtl" : "ltr"}';
+            '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as '
+            '${isRtlDir ? "rtl" : "ltr"}';
         //alert(str);
       }
       expect(bidiText[i].isRtl, isRtlDir);
@@ -342,6 +331,8 @@
   String text;
   bool isRtl;
   bool isHtml;
-  SampleItem([someText='', someIsRtl=false, isHtml=false]) :
-      this.text=someText, this.isRtl=someIsRtl, this.isHtml=isHtml;
+  SampleItem([someText = '', someIsRtl = false, isHtml = false])
+      : this.text = someText,
+        this.isRtl = someIsRtl,
+        this.isHtml = isHtml;
 }
diff --git a/test/date_time_format_file_even_test.dart b/test/date_time_format_file_even_test.dart
index 5f87571..b6f8202 100644
--- a/test/date_time_format_file_even_test.dart
+++ b/test/date_time_format_file_even_test.dart
@@ -9,6 +9,7 @@
  */
 
 library date_time_format_file_test_2;
+
 import 'date_time_format_test_stub.dart';
 import 'data_directory.dart';
 import 'package:intl/date_symbol_data_file.dart';
diff --git a/test/date_time_format_file_odd_test.dart b/test/date_time_format_file_odd_test.dart
index eec16c8..79d6d11 100644
--- a/test/date_time_format_file_odd_test.dart
+++ b/test/date_time_format_file_odd_test.dart
@@ -9,6 +9,7 @@
  */
 
 library date_time_format_file_test_1;
+
 import 'date_time_format_test_stub.dart';
 import 'data_directory.dart';
 import 'package:intl/date_symbol_data_file.dart';
diff --git a/test/date_time_format_http_request_test.dart b/test/date_time_format_http_request_test.dart
index e623a9e..9412be0 100644
--- a/test/date_time_format_http_request_test.dart
+++ b/test/date_time_format_http_request_test.dart
@@ -18,11 +18,11 @@
 main() {
   useHtmlConfiguration();
   var url = "http://localhost:${window.location.port}"
-    "/packages/intl/src/data/dates/";
+      "/packages/intl/src/data/dates/";
 
-   test("Initializing a locale that needs fallback", () {
-     initializeDateFormatting("de_DE", url).then(expectAsync((_) => true));
-   });
+  test("Initializing a locale that needs fallback", () {
+    initializeDateFormatting("de_DE", url).then(expectAsync((_) => true));
+  });
 
   runWith(smallSetOfLocales, url, initializeDateFormatting);
 }
diff --git a/test/date_time_format_local_even_test.dart b/test/date_time_format_local_even_test.dart
index e21f01e..4115a53 100644
--- a/test/date_time_format_local_even_test.dart
+++ b/test/date_time_format_local_even_test.dart
@@ -10,6 +10,7 @@
  */
 
 library date_time_format_test_2;
+
 import 'date_time_format_test_stub.dart';
 import 'package:intl/date_symbol_data_local.dart';
 
diff --git a/test/date_time_format_local_odd_test.dart b/test/date_time_format_local_odd_test.dart
index 229cbdb..a6c94f2 100644
--- a/test/date_time_format_local_odd_test.dart
+++ b/test/date_time_format_local_odd_test.dart
@@ -10,6 +10,7 @@
  */
 
 library date_time_format_test_1;
+
 import 'date_time_format_test_stub.dart';
 import 'package:intl/date_symbol_data_local.dart';
 
diff --git a/test/date_time_format_test_core.dart b/test/date_time_format_test_core.dart
index 44e75ca..2991599 100644
--- a/test/date_time_format_test_core.dart
+++ b/test/date_time_format_test_core.dart
@@ -64,7 +64,7 @@
   // ABBR_SPECIFIC_TZ,
   // SPECIFIC_TZ,
   // ABBR_UTC_TZ
-  ];
+];
 
 var icuFormatNamesToTest = const [
   // It would be really nice to not have to duplicate this and just be able
@@ -128,7 +128,7 @@
  */
 testLocale(String localeName, Map expectedResults, DateTime date) {
   var intl = new Intl(localeName);
-  for(int i=0; i<formatsToTest.length; i++) {
+  for (int i = 0; i < formatsToTest.length; i++) {
     var skeleton = formatsToTest[i];
     var format = intl.date(skeleton);
     var icuName = icuFormatNamesToTest[i];
@@ -145,21 +145,22 @@
   // the skeleton WEEKDAY can't be reconstructed at all, and YEAR_MONTH
   // formats don't give us enough information to construct a valid date.
   var badSkeletons = const [
-      DateFormat.ABBR_WEEKDAY,
-      DateFormat.WEEKDAY,
-      DateFormat.QUARTER,
-      DateFormat.ABBR_QUARTER,
-      DateFormat.YEAR,
-      DateFormat.YEAR_NUM_MONTH,
-      DateFormat.YEAR_ABBR_MONTH,
-      DateFormat.YEAR_MONTH,
-      DateFormat.MONTH_WEEKDAY_DAY,
-      DateFormat.NUM_MONTH_WEEKDAY_DAY,
-      DateFormat.ABBR_MONTH_WEEKDAY_DAY];
+    DateFormat.ABBR_WEEKDAY,
+    DateFormat.WEEKDAY,
+    DateFormat.QUARTER,
+    DateFormat.ABBR_QUARTER,
+    DateFormat.YEAR,
+    DateFormat.YEAR_NUM_MONTH,
+    DateFormat.YEAR_ABBR_MONTH,
+    DateFormat.YEAR_MONTH,
+    DateFormat.MONTH_WEEKDAY_DAY,
+    DateFormat.NUM_MONTH_WEEKDAY_DAY,
+    DateFormat.ABBR_MONTH_WEEKDAY_DAY
+  ];
   var originalTime = new DateTime.now();
   var originalTimeZoneOffset = date.timeZoneOffset;
   var originalTimeZoneName = date.timeZoneName;
-  for(int i = 0; i < formatsToTest.length; i++) {
+  for (int i = 0; i < formatsToTest.length; i++) {
     var skeleton = formatsToTest[i];
     if (!badSkeletons.any((x) => x == skeleton)) {
       var format = new DateFormat(skeleton, localeName);
@@ -179,7 +180,7 @@
 List<String> _subsetValue;
 
 List<String> get subset {
-  if(_subsetValue == null) {
+  if (_subsetValue == null) {
     _subsetValue = _subsetFunc();
   }
   return _subsetValue;
@@ -201,23 +202,17 @@
     var separateFormat = "${separate1.format(date)} ${separate2.format(date)}";
     expect(multiple1.format(date), equals(multiple2.format(date)));
     expect(multiple1.format(date), equals(separateFormat));
-    var customPunctuation = new DateFormat("yMd").addPattern("jms",":::");
+    var customPunctuation = new DateFormat("yMd").addPattern("jms", ":::");
     var custom = "${separate1.format(date)}:::${separate2.format(date)}";
     expect(customPunctuation.format(date), equals(custom));
   });
 
   test('Basic date format parsing', () {
     var date_format = new DateFormat("d");
-    expect(
-        date_format.parsePattern("hh:mm:ss")
-            .map((x) => x.pattern)
-            .toList(),
-        orderedEquals(["hh",":", "mm",":","ss"]));
-    expect(
-        date_format.parsePattern("hh:mm:ss")
-            .map((x) => x.pattern)
-            .toList(),
-        orderedEquals(["hh",":", "mm",":","ss"]));
+    expect(date_format.parsePattern("hh:mm:ss").map((x) => x.pattern).toList(),
+        orderedEquals(["hh", ":", "mm", ":", "ss"]));
+    expect(date_format.parsePattern("hh:mm:ss").map((x) => x.pattern).toList(),
+        orderedEquals(["hh", ":", "mm", ":", "ss"]));
   });
 
   test('Test ALL the supported formats on representative locales', () {
@@ -289,19 +284,15 @@
     expect(greek.format(aDate), equals(r"12 //// :W \\\\ 27:59 ^&@ 1"));
     var usWithWords = new DateFormat('yy / :W \\ dd:ss ^&@ MMM', 'en_US');
     var greekWithWords = new DateFormat('yy / :W \\ dd:ss ^&@ MMM', 'el_GR');
-    expect(
-        usWithWords.format(aDate),
-        equals(r"12 / :W \ 27:59 ^&@ Jan"));
-    expect(
-        greekWithWords.format(aDate),
-        equals(r"12 / :W \ 27:59 ^&@ Ιαν"));
+    expect(usWithWords.format(aDate), equals(r"12 / :W \ 27:59 ^&@ Jan"));
+    expect(greekWithWords.format(aDate), equals(r"12 / :W \ 27:59 ^&@ Ιαν"));
     var escaped = new DateFormat(r"hh 'o''clock'");
     expect(escaped.format(aDate), equals(r"08 o'clock"));
     var reParsed = escaped.parse(escaped.format(aDate));
     expect(escaped.format(reParsed), equals(escaped.format(aDate)));
     var noSeparators = new DateFormat('HHmmss');
     expect(noSeparators.format(aDate), equals("205859"));
-    });
+  });
 
   test('Test fractional seconds padding', () {
     var one = new DateTime(2012, 1, 27, 20, 58, 59, 1);
@@ -324,12 +315,12 @@
     var localPrinted = format.format(local);
     var parsed = format.parse(localPrinted);
     var parsedUTC = format.parseUTC(format.format(utc));
-    var parsedOffset = parsedUTC.millisecondsSinceEpoch
-        - parsed.millisecondsSinceEpoch;
+    var parsedOffset =
+        parsedUTC.millisecondsSinceEpoch - parsed.millisecondsSinceEpoch;
     expect(parsedOffset, equals(offset));
     expect(utc.hour, equals(parsedUTC.hour));
     expect(local.hour, equals(parsed.hour));
-    });
+  });
 
   test('Test 0-padding', () {
     var someDate = new DateTime(123, 1, 2, 3, 4, 5);
@@ -353,16 +344,26 @@
   });
 
   test('Quarter calculation', () {
-    var quarters = ['Q1', 'Q1', 'Q1',
-                    'Q2', 'Q2', 'Q2',
-                    'Q3', 'Q3', 'Q3',
-                    'Q4', 'Q4', 'Q4'];
+    var quarters = [
+      'Q1',
+      'Q1',
+      'Q1',
+      'Q2',
+      'Q2',
+      'Q2',
+      'Q3',
+      'Q3',
+      'Q3',
+      'Q4',
+      'Q4',
+      'Q4'
+    ];
     var quarterFormat = new DateFormat.QQQ();
     for (int i = 0; i < 12; i++) {
-        var month = i + 1;
-        var aDate = new DateTime(2012, month, 27, 13, 58, 59, 012);
-        var formatted = quarterFormat.format(aDate);
-        expect(formatted, quarters[i]);
+      var month = i + 1;
+      var aDate = new DateTime(2012, month, 27, 13, 58, 59, 012);
+      var formatted = quarterFormat.format(aDate);
+      expect(formatted, quarters[i]);
     }
   });
 
@@ -372,13 +373,12 @@
    * [leapDay], otherwise pass 0.
    */
   Map<int, DateTime> generateDates(int year, int leapDay) =>
-      new Iterable.generate(365 + leapDay, (n) => n + 1)
-        .map((day) {
-          var result = new DateTime(year, 1, day);
-          // TODO(alanknight): This is a workaround for dartbug.com/15560.
-          if (result.toUtc() == result) result = new DateTime(year, 1, day);
-          return result;
-        }).toList().asMap();
+      new Iterable.generate(365 + leapDay, (n) => n + 1).map((day) {
+    var result = new DateTime(year, 1, day);
+    // TODO(alanknight): This is a workaround for dartbug.com/15560.
+    if (result.toUtc() == result) result = new DateTime(year, 1, day);
+    return result;
+  }).toList().asMap();
 
   void verifyOrdinals(Map dates) {
     var f = new DateFormat("D");
diff --git a/test/date_time_format_test_data.dart b/test/date_time_format_test_data.dart
index e0ff52e..7dfaee5 100644
--- a/test/date_time_format_test_data.dart
+++ b/test/date_time_format_test_data.dart
@@ -14,324 +14,328 @@
 library date_time_format_test_data;
 
 var English = const {
-  "DAY" : "27",
-  "ABBR_WEEKDAY" : "Fri",
-  "WEEKDAY" : "Friday",
-  "ABBR_STANDALONE_MONTH" : "Jan",
-  "STANDALONE_MONTH" : "January",
-  "NUM_MONTH" : "1",
-  "NUM_MONTH_DAY" : "1/27",
-  "NUM_MONTH_WEEKDAY_DAY" : "Fri, 1/27",
-  "ABBR_MONTH" : "Jan",
-  "ABBR_MONTH_DAY" : "Jan 27",
-  "ABBR_MONTH_WEEKDAY_DAY" : "Fri, Jan 27",
-  "MONTH" : "January",
-  "MONTH_DAY" : "January 27",
-  "MONTH_WEEKDAY_DAY" : "Friday, January 27",
-  "ABBR_QUARTER" : "Q1",
-  "QUARTER" : "1st quarter",
-  "YEAR" : "2012",
-  "YEAR_NUM_MONTH" : "1/2012",
-  "YEAR_NUM_MONTH_DAY" : "1/27/2012",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fri, 1/27/2012",
-  "YEAR_ABBR_MONTH" : "Jan 2012",
-  "YEAR_ABBR_MONTH_DAY" : "Jan 27, 2012",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fri, Jan 27, 2012",
-  "YEAR_MONTH" : "January 2012",
-  "YEAR_MONTH_DAY" : "January 27, 2012",
-  "YEAR_MONTH_WEEKDAY_DAY" : "Friday, January 27, 2012",
-  "YEAR_ABBR_QUARTER" : "Q1 2012",
-  "YEAR_QUARTER" : "1st quarter 2012",
-  "HOUR24" : "20",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "8 PM",
-  "HOUR_MINUTE" : "8:58 PM",
-  "HOUR_MINUTE_SECOND" : "8:58:59 PM",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "United States Time (Los Angeles)",
-  "GENERIC_TZ" : "Pacific Time",
-  "ABBR_GENERIC_TZ" : "PT",
-  "SPECIFIC_TZ" : "Pacific Standard Time",
-  "ABBR_SPECIFIC_TZ" : "PST",
-  "ABBR_UTC_TZ" : "GMT-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
+  "DAY": "27",
+  "ABBR_WEEKDAY": "Fri",
+  "WEEKDAY": "Friday",
+  "ABBR_STANDALONE_MONTH": "Jan",
+  "STANDALONE_MONTH": "January",
+  "NUM_MONTH": "1",
+  "NUM_MONTH_DAY": "1/27",
+  "NUM_MONTH_WEEKDAY_DAY": "Fri, 1/27",
+  "ABBR_MONTH": "Jan",
+  "ABBR_MONTH_DAY": "Jan 27",
+  "ABBR_MONTH_WEEKDAY_DAY": "Fri, Jan 27",
+  "MONTH": "January",
+  "MONTH_DAY": "January 27",
+  "MONTH_WEEKDAY_DAY": "Friday, January 27",
+  "ABBR_QUARTER": "Q1",
+  "QUARTER": "1st quarter",
+  "YEAR": "2012",
+  "YEAR_NUM_MONTH": "1/2012",
+  "YEAR_NUM_MONTH_DAY": "1/27/2012",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "Fri, 1/27/2012",
+  "YEAR_ABBR_MONTH": "Jan 2012",
+  "YEAR_ABBR_MONTH_DAY": "Jan 27, 2012",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "Fri, Jan 27, 2012",
+  "YEAR_MONTH": "January 2012",
+  "YEAR_MONTH_DAY": "January 27, 2012",
+  "YEAR_MONTH_WEEKDAY_DAY": "Friday, January 27, 2012",
+  "YEAR_ABBR_QUARTER": "Q1 2012",
+  "YEAR_QUARTER": "1st quarter 2012",
+  "HOUR24": "20",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "8 PM",
+  "HOUR_MINUTE": "8:58 PM",
+  "HOUR_MINUTE_SECOND": "8:58:59 PM",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "United States Time (Los Angeles)",
+  "GENERIC_TZ": "Pacific Time",
+  "ABBR_GENERIC_TZ": "PT",
+  "SPECIFIC_TZ": "Pacific Standard Time",
+  "ABBR_SPECIFIC_TZ": "PST",
+  "ABBR_UTC_TZ": "GMT-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND":
       "Friday, January 27, 2012 8:58:59 PM",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "Friday, January 27, 2012 8:58:59 PM Pacific Time",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "Fri, Jan 27, 2012 8:58:59 PM PST",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" : "8:58:59 PM PT",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "8:58 PM PST"};
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ": "8:58:59 PM PT",
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "8:58 PM PST"
+};
 
 var German = const {
-  "DAY" : "27",
-  "ABBR_WEEKDAY" : "Fr.",
-  "WEEKDAY" : "Freitag",
-  "ABBR_STANDALONE_MONTH" : "Jan",
-  "STANDALONE_MONTH" : "Januar",
-  "NUM_MONTH" : "1",
-  "NUM_MONTH_DAY" : "27.1.",
-  "NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.",
-  "ABBR_MONTH" : "Jan",
-  "ABBR_MONTH_DAY" : "27. Jan.",
-  "ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jan.",
-  "MONTH" : "Januar",
-  "MONTH_DAY" : "27. Januar",
-  "MONTH_WEEKDAY_DAY" : "Freitag, 27. Januar",
-  "ABBR_QUARTER" : "Q1",
-  "QUARTER" : "1. Quartal",
-  "YEAR" : "2012",
-  "YEAR_NUM_MONTH" : "1.2012",
-  "YEAR_NUM_MONTH_DAY" : "27.1.2012",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.2012",
-  "YEAR_ABBR_MONTH" : "Jan. 2012",
-  "YEAR_ABBR_MONTH_DAY" : "27. Jan. 2012",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jan. 2012",
-  "YEAR_MONTH" : "Januar 2012",
-  "YEAR_MONTH_DAY" : "27. Januar 2012",
-  "YEAR_MONTH_WEEKDAY_DAY" : "Freitag, 27. Januar 2012",
-  "YEAR_ABBR_QUARTER" : "Q1 2012",
-  "YEAR_QUARTER" : "1. Quartal 2012",
-  "HOUR24" : "20 Uhr",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "20 Uhr",
-  "HOUR_MINUTE" : "20:58",
-  "HOUR_MINUTE_SECOND" : "20:58:59",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
-  "GENERIC_TZ" : "Nordamerikanische Westküstenzeit",
-  "ABBR_GENERIC_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
-  "SPECIFIC_TZ" : "Nordamerikanische Westküsten-Winterzeit",
-  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
-  "ABBR_UTC_TZ" : "GMT-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
+  "DAY": "27",
+  "ABBR_WEEKDAY": "Fr.",
+  "WEEKDAY": "Freitag",
+  "ABBR_STANDALONE_MONTH": "Jan",
+  "STANDALONE_MONTH": "Januar",
+  "NUM_MONTH": "1",
+  "NUM_MONTH_DAY": "27.1.",
+  "NUM_MONTH_WEEKDAY_DAY": "Fr., 27.1.",
+  "ABBR_MONTH": "Jan",
+  "ABBR_MONTH_DAY": "27. Jan.",
+  "ABBR_MONTH_WEEKDAY_DAY": "Fr., 27. Jan.",
+  "MONTH": "Januar",
+  "MONTH_DAY": "27. Januar",
+  "MONTH_WEEKDAY_DAY": "Freitag, 27. Januar",
+  "ABBR_QUARTER": "Q1",
+  "QUARTER": "1. Quartal",
+  "YEAR": "2012",
+  "YEAR_NUM_MONTH": "1.2012",
+  "YEAR_NUM_MONTH_DAY": "27.1.2012",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "Fr., 27.1.2012",
+  "YEAR_ABBR_MONTH": "Jan. 2012",
+  "YEAR_ABBR_MONTH_DAY": "27. Jan. 2012",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "Fr., 27. Jan. 2012",
+  "YEAR_MONTH": "Januar 2012",
+  "YEAR_MONTH_DAY": "27. Januar 2012",
+  "YEAR_MONTH_WEEKDAY_DAY": "Freitag, 27. Januar 2012",
+  "YEAR_ABBR_QUARTER": "Q1 2012",
+  "YEAR_QUARTER": "1. Quartal 2012",
+  "HOUR24": "20 Uhr",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "20 Uhr",
+  "HOUR_MINUTE": "20:58",
+  "HOUR_MINUTE_SECOND": "20:58:59",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "Vereinigte Staaten Zeit (Los Angeles)",
+  "GENERIC_TZ": "Nordamerikanische Westküstenzeit",
+  "ABBR_GENERIC_TZ": "Vereinigte Staaten Zeit (Los Angeles)",
+  "SPECIFIC_TZ": "Nordamerikanische Westküsten-Winterzeit",
+  "ABBR_SPECIFIC_TZ": "GMT-08:00",
+  "ABBR_UTC_TZ": "GMT-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND":
       "Freitag, 27. Januar 2012 20:58:59",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "Freitag, 27. Januar 2012 20:58:59 Nordamerikanische Westküstenzeit",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "Fr., 27. Jan 2012 20:58:59 GMT-08:00",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ":
       "20:58:59 Vereinigte Staaten Zeit (Los Angeles)",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "20:58 GMT-08:00"
+};
 
 var Austrian = const {
-  "DAY" : "27",
-  "ABBR_WEEKDAY" : "Fr.",
-  "WEEKDAY" : "Freitag",
-  "ABBR_STANDALONE_MONTH" : "Jän",
-  "STANDALONE_MONTH" : "Jänner",
-  "NUM_MONTH" : "1",
-  "NUM_MONTH_DAY" : "27.1.",
-  "NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.",
-  "ABBR_MONTH" : "Jän",
-  "ABBR_MONTH_DAY" : "27. Jän.",
-  "ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jän.",
-  "MONTH" : "Jänner",
-  "MONTH_DAY" : "27. Jänner",
-  "MONTH_WEEKDAY_DAY" : "Freitag, 27. Jänner",
-  "ABBR_QUARTER" : "Q1",
-  "QUARTER" : "1. Quartal",
-  "YEAR" : "2012",
-  "YEAR_NUM_MONTH" : "1.2012",
-  "YEAR_NUM_MONTH_DAY" : "27.1.2012",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Fr., 27.1.2012",
-  "YEAR_ABBR_MONTH" : "Jän. 2012",
-  "YEAR_ABBR_MONTH_DAY" : "27. Jän. 2012",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Fr., 27. Jän. 2012",
-  "YEAR_MONTH" : "Jänner 2012",
-  "YEAR_MONTH_DAY" : "27. Jänner 2012",
-  "YEAR_MONTH_WEEKDAY_DAY" : "Freitag, 27. Jänner 2012",
-  "YEAR_ABBR_QUARTER" : "Q1 2012",
-  "YEAR_QUARTER" : "1. Quartal 2012",
-  "HOUR24" : "20 Uhr",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "20 Uhr",
-  "HOUR_MINUTE" : "20:58",
-  "HOUR_MINUTE_SECOND" : "20:58:59",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
-  "GENERIC_TZ" : "Nordamerikanische Westküstenzeit",
-  "ABBR_GENERIC_TZ" : "Vereinigte Staaten Zeit (Los Angeles)",
-  "SPECIFIC_TZ" : "Nordamerikanische Westküsten-Winterzeit",
-  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
-  "ABBR_UTC_TZ" : "GMT-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
+  "DAY": "27",
+  "ABBR_WEEKDAY": "Fr.",
+  "WEEKDAY": "Freitag",
+  "ABBR_STANDALONE_MONTH": "Jän",
+  "STANDALONE_MONTH": "Jänner",
+  "NUM_MONTH": "1",
+  "NUM_MONTH_DAY": "27.1.",
+  "NUM_MONTH_WEEKDAY_DAY": "Fr., 27.1.",
+  "ABBR_MONTH": "Jän",
+  "ABBR_MONTH_DAY": "27. Jän.",
+  "ABBR_MONTH_WEEKDAY_DAY": "Fr., 27. Jän.",
+  "MONTH": "Jänner",
+  "MONTH_DAY": "27. Jänner",
+  "MONTH_WEEKDAY_DAY": "Freitag, 27. Jänner",
+  "ABBR_QUARTER": "Q1",
+  "QUARTER": "1. Quartal",
+  "YEAR": "2012",
+  "YEAR_NUM_MONTH": "1.2012",
+  "YEAR_NUM_MONTH_DAY": "27.1.2012",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "Fr., 27.1.2012",
+  "YEAR_ABBR_MONTH": "Jän. 2012",
+  "YEAR_ABBR_MONTH_DAY": "27. Jän. 2012",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "Fr., 27. Jän. 2012",
+  "YEAR_MONTH": "Jänner 2012",
+  "YEAR_MONTH_DAY": "27. Jänner 2012",
+  "YEAR_MONTH_WEEKDAY_DAY": "Freitag, 27. Jänner 2012",
+  "YEAR_ABBR_QUARTER": "Q1 2012",
+  "YEAR_QUARTER": "1. Quartal 2012",
+  "HOUR24": "20 Uhr",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "20 Uhr",
+  "HOUR_MINUTE": "20:58",
+  "HOUR_MINUTE_SECOND": "20:58:59",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "Vereinigte Staaten Zeit (Los Angeles)",
+  "GENERIC_TZ": "Nordamerikanische Westküstenzeit",
+  "ABBR_GENERIC_TZ": "Vereinigte Staaten Zeit (Los Angeles)",
+  "SPECIFIC_TZ": "Nordamerikanische Westküsten-Winterzeit",
+  "ABBR_SPECIFIC_TZ": "GMT-08:00",
+  "ABBR_UTC_TZ": "GMT-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND":
       "Freitag, 27. Jänner 2012 20:58:59",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "Freitag, 27. Jänner 2012 20:58:59 Nordamerikanische Westküstenzeit",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "Fr., 27. Jän 2012 20:58:59 GMT-08:00",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ":
       "20:58:59 Vereinigte Staaten Zeit (Los Angeles)",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "20:58 GMT-08:00"
+};
 
 var French = const {
-  "DAY" : "27",
-  "ABBR_WEEKDAY" : "ven.",
-  "WEEKDAY" : "vendredi",
-  "ABBR_STANDALONE_MONTH" : "janv.",
-  "STANDALONE_MONTH" : "janvier",
-  "NUM_MONTH" : "1",
-  "NUM_MONTH_DAY" : "27/1",
-  "NUM_MONTH_WEEKDAY_DAY" : "ven. 27/1",
-  "ABBR_MONTH" : "janv.",
-  "ABBR_MONTH_DAY" : "27 janv.",
-  "ABBR_MONTH_WEEKDAY_DAY" : "ven. 27 janv.",
-  "MONTH" : "janvier",
-  "MONTH_DAY" : "27 janvier",
-  "MONTH_WEEKDAY_DAY" : "vendredi 27 janvier",
-  "ABBR_QUARTER" : "T1",
-  "QUARTER" : "1er trimestre",
-  "YEAR" : "2012",
-  "YEAR_NUM_MONTH" : "1/2012",
-  "YEAR_NUM_MONTH_DAY" : "27/1/2012",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "ven. 27/1/2012",
-  "YEAR_ABBR_MONTH" : "janv. 2012",
-  "YEAR_ABBR_MONTH_DAY" : "27 janv. 2012",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "ven. 27 janv. 2012",
-  "YEAR_MONTH" : "janvier 2012",
-  "YEAR_MONTH_DAY" : "27 janvier 2012",
-  "YEAR_MONTH_WEEKDAY_DAY" : "vendredi 27 janvier 2012",
-  "YEAR_ABBR_QUARTER" : "T1 2012",
-  "YEAR_QUARTER" : "1er trimestre 2012",
-  "HOUR24" : "20 h",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "20 h",
-  "HOUR_MINUTE" : "20:58",
-  "HOUR_MINUTE_SECOND" : "20:58:59",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "Heure : États-Unis (Los Angeles)",
-  "GENERIC_TZ" : "heure du Pacifique",
-  "ABBR_GENERIC_TZ" : "Heure : États-Unis (Los Angeles)",
-  "SPECIFIC_TZ" : "heure normale du Pacifique",
-  "ABBR_SPECIFIC_TZ" : "UTC-08:00",
-  "ABBR_UTC_TZ" : "UTC-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
+  "DAY": "27",
+  "ABBR_WEEKDAY": "ven.",
+  "WEEKDAY": "vendredi",
+  "ABBR_STANDALONE_MONTH": "janv.",
+  "STANDALONE_MONTH": "janvier",
+  "NUM_MONTH": "1",
+  "NUM_MONTH_DAY": "27/1",
+  "NUM_MONTH_WEEKDAY_DAY": "ven. 27/1",
+  "ABBR_MONTH": "janv.",
+  "ABBR_MONTH_DAY": "27 janv.",
+  "ABBR_MONTH_WEEKDAY_DAY": "ven. 27 janv.",
+  "MONTH": "janvier",
+  "MONTH_DAY": "27 janvier",
+  "MONTH_WEEKDAY_DAY": "vendredi 27 janvier",
+  "ABBR_QUARTER": "T1",
+  "QUARTER": "1er trimestre",
+  "YEAR": "2012",
+  "YEAR_NUM_MONTH": "1/2012",
+  "YEAR_NUM_MONTH_DAY": "27/1/2012",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "ven. 27/1/2012",
+  "YEAR_ABBR_MONTH": "janv. 2012",
+  "YEAR_ABBR_MONTH_DAY": "27 janv. 2012",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "ven. 27 janv. 2012",
+  "YEAR_MONTH": "janvier 2012",
+  "YEAR_MONTH_DAY": "27 janvier 2012",
+  "YEAR_MONTH_WEEKDAY_DAY": "vendredi 27 janvier 2012",
+  "YEAR_ABBR_QUARTER": "T1 2012",
+  "YEAR_QUARTER": "1er trimestre 2012",
+  "HOUR24": "20 h",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "20 h",
+  "HOUR_MINUTE": "20:58",
+  "HOUR_MINUTE_SECOND": "20:58:59",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "Heure : États-Unis (Los Angeles)",
+  "GENERIC_TZ": "heure du Pacifique",
+  "ABBR_GENERIC_TZ": "Heure : États-Unis (Los Angeles)",
+  "SPECIFIC_TZ": "heure normale du Pacifique",
+  "ABBR_SPECIFIC_TZ": "UTC-08:00",
+  "ABBR_UTC_TZ": "UTC-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND":
       "vendredi 27 janvier 2012 20:58:59",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "vendredi 27 janvier 2012 20:58:59 heure du Pacifique",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "ven. 27 janv. 2012 20:58:59 UTC-08:00",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ":
       "20:58:59 Heure : États-Unis (Los Angeles)",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 UTC-08:00"};
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "20:58 UTC-08:00"
+};
 
 var Japanese = const {
-  "DAY" : "27日",
-  "ABBR_WEEKDAY" : "金",
-  "WEEKDAY" : "金曜日",
-  "ABBR_STANDALONE_MONTH" : "1月",
-  "STANDALONE_MONTH" : "1月",
-  "NUM_MONTH" : "1月",
-  "NUM_MONTH_DAY" : "1/27",
-  "NUM_MONTH_WEEKDAY_DAY" : "1/27(金)",
-  "ABBR_MONTH" : "1月",
-  "ABBR_MONTH_DAY" : "1月27日",
-  "ABBR_MONTH_WEEKDAY_DAY" : "1月27日(金)",
-  "MONTH" : "1月",
-  "MONTH_DAY" : "1月27日",
-  "MONTH_WEEKDAY_DAY" : "1月27日金曜日",
-  "ABBR_QUARTER" : "Q1",
-  "QUARTER" : "第1四半期",
-  "YEAR" : "2012年",
-  "YEAR_NUM_MONTH" : "2012/1",
-  "YEAR_NUM_MONTH_DAY" : "2012/1/27",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "2012/1/27(金)",
-  "YEAR_ABBR_MONTH" : "2012年1月",
-  "YEAR_ABBR_MONTH_DAY" : "2012年1月27日",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "2012年1月27日(金)",
-  "YEAR_MONTH" : "2012年1月",
-  "YEAR_MONTH_DAY" : "2012年1月27日",
-  "YEAR_MONTH_WEEKDAY_DAY" : "2012年1月27日金曜日",
-  "YEAR_ABBR_QUARTER" : "2012/Q1",
-  "YEAR_QUARTER" : "2012/第1四半期",
-  "HOUR24" : "20時",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "20時",
-  "HOUR_MINUTE" : "20:58",
-  "HOUR_MINUTE_SECOND" : "20:58:59",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "アメリカ合衆国時間（ロサンゼルス）",
-  "GENERIC_TZ" : "アメリカ太平洋時間",
-  "ABBR_GENERIC_TZ" : "アメリカ合衆国時間（ロサンゼルス）",
-  "SPECIFIC_TZ" : "アメリカ太平洋標準時",
-  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
-  "ABBR_UTC_TZ" : "GMT-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
-      "2012年1月27日(金曜日) 20:58:59",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "DAY": "27日",
+  "ABBR_WEEKDAY": "金",
+  "WEEKDAY": "金曜日",
+  "ABBR_STANDALONE_MONTH": "1月",
+  "STANDALONE_MONTH": "1月",
+  "NUM_MONTH": "1月",
+  "NUM_MONTH_DAY": "1/27",
+  "NUM_MONTH_WEEKDAY_DAY": "1/27(金)",
+  "ABBR_MONTH": "1月",
+  "ABBR_MONTH_DAY": "1月27日",
+  "ABBR_MONTH_WEEKDAY_DAY": "1月27日(金)",
+  "MONTH": "1月",
+  "MONTH_DAY": "1月27日",
+  "MONTH_WEEKDAY_DAY": "1月27日金曜日",
+  "ABBR_QUARTER": "Q1",
+  "QUARTER": "第1四半期",
+  "YEAR": "2012年",
+  "YEAR_NUM_MONTH": "2012/1",
+  "YEAR_NUM_MONTH_DAY": "2012/1/27",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "2012/1/27(金)",
+  "YEAR_ABBR_MONTH": "2012年1月",
+  "YEAR_ABBR_MONTH_DAY": "2012年1月27日",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "2012年1月27日(金)",
+  "YEAR_MONTH": "2012年1月",
+  "YEAR_MONTH_DAY": "2012年1月27日",
+  "YEAR_MONTH_WEEKDAY_DAY": "2012年1月27日金曜日",
+  "YEAR_ABBR_QUARTER": "2012/Q1",
+  "YEAR_QUARTER": "2012/第1四半期",
+  "HOUR24": "20時",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "20時",
+  "HOUR_MINUTE": "20:58",
+  "HOUR_MINUTE_SECOND": "20:58:59",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "アメリカ合衆国時間（ロサンゼルス）",
+  "GENERIC_TZ": "アメリカ太平洋時間",
+  "ABBR_GENERIC_TZ": "アメリカ合衆国時間（ロサンゼルス）",
+  "SPECIFIC_TZ": "アメリカ太平洋標準時",
+  "ABBR_SPECIFIC_TZ": "GMT-08:00",
+  "ABBR_UTC_TZ": "GMT-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND": "2012年1月27日(金曜日) 20:58:59",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "2012年1月27日(金曜日) 20時58分59秒 アメリカ太平洋時間",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "2012年1月27日(金) 20時58分59秒 GMT-08:00",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
-      "20時58分59秒 アメリカ合衆国時間（ロサンゼルス）",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "20:58 GMT-08:00"};
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ": "20時58分59秒 アメリカ合衆国時間（ロサンゼルス）",
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "20:58 GMT-08:00"
+};
 
 var Greek = const {
-  "DAY" : "27",
-  "ABBR_WEEKDAY" : "Παρ",
-  "WEEKDAY" : "Παρασκευή",
-  "ABBR_STANDALONE_MONTH" : "Ιαν",
-  "STANDALONE_MONTH" : "Ιανουάριος",
-  "NUM_MONTH" : "1",
-  "NUM_MONTH_DAY" : "27/1",
-  "NUM_MONTH_WEEKDAY_DAY" : "Παρ, 27/1",
-  "ABBR_MONTH" : "Ιαν",
-  "ABBR_MONTH_DAY" : "27 Ιαν",
-  "ABBR_MONTH_WEEKDAY_DAY" : "Παρ, 27 Ιαν",
-  "MONTH" : "Ιανουάριος",
-  "MONTH_DAY" : "27 Ιανουαρίου",
-  "MONTH_WEEKDAY_DAY" : "Παρασκευή, 27 Ιανουαρίου",
-  "ABBR_QUARTER" : "Τ1",
-  "QUARTER" : "1ο τρίμηνο",
-  "YEAR" : "2012",
-  "YEAR_NUM_MONTH" : "1/2012",
-  "YEAR_NUM_MONTH_DAY" : "27/1/2012",
-  "YEAR_NUM_MONTH_WEEKDAY_DAY" : "Παρ, 27/1/2012",
-  "YEAR_ABBR_MONTH" : "Ιαν 2012",
-  "YEAR_ABBR_MONTH_DAY" : "27 Ιαν 2012",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY" : "Παρ, 27 Ιαν 2012",
-  "YEAR_MONTH" : "Ιανουάριος 2012",
-  "YEAR_MONTH_DAY" : "27 Ιανουαρίου 2012",
-  "YEAR_MONTH_WEEKDAY_DAY" : "Παρασκευή, 27 Ιανουαρίου 2012",
-  "YEAR_ABBR_QUARTER" : "2012 Τ1",
-  "YEAR_QUARTER" : "2012 1ο τρίμηνο",
-  "HOUR24" : "20",
-  "HOUR24_MINUTE" : "20:58",
-  "HOUR24_MINUTE_SECOND" : "20:58:59",
-  "HOUR" : "8 μ.μ.",
-  "HOUR_MINUTE" : "8:58 μ.μ.",
-  "HOUR_MINUTE_SECOND" : "8:58:59 μ.μ.",
-  "MINUTE" : "58",
-  "MINUTE_SECOND" : "58:59",
-  "SECOND" : "59",
-  "LOCATION_TZ" : "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
-  "GENERIC_TZ" : "Ώρα Ειρηνικού",
-  "ABBR_GENERIC_TZ" : "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
-  "SPECIFIC_TZ" : "Χειμερινή ώρα Ειρηνικού",
-  "ABBR_SPECIFIC_TZ" : "GMT-08:00",
-  "ABBR_UTC_TZ" : "GMT-08:00",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND" :
+  "DAY": "27",
+  "ABBR_WEEKDAY": "Παρ",
+  "WEEKDAY": "Παρασκευή",
+  "ABBR_STANDALONE_MONTH": "Ιαν",
+  "STANDALONE_MONTH": "Ιανουάριος",
+  "NUM_MONTH": "1",
+  "NUM_MONTH_DAY": "27/1",
+  "NUM_MONTH_WEEKDAY_DAY": "Παρ, 27/1",
+  "ABBR_MONTH": "Ιαν",
+  "ABBR_MONTH_DAY": "27 Ιαν",
+  "ABBR_MONTH_WEEKDAY_DAY": "Παρ, 27 Ιαν",
+  "MONTH": "Ιανουάριος",
+  "MONTH_DAY": "27 Ιανουαρίου",
+  "MONTH_WEEKDAY_DAY": "Παρασκευή, 27 Ιανουαρίου",
+  "ABBR_QUARTER": "Τ1",
+  "QUARTER": "1ο τρίμηνο",
+  "YEAR": "2012",
+  "YEAR_NUM_MONTH": "1/2012",
+  "YEAR_NUM_MONTH_DAY": "27/1/2012",
+  "YEAR_NUM_MONTH_WEEKDAY_DAY": "Παρ, 27/1/2012",
+  "YEAR_ABBR_MONTH": "Ιαν 2012",
+  "YEAR_ABBR_MONTH_DAY": "27 Ιαν 2012",
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY": "Παρ, 27 Ιαν 2012",
+  "YEAR_MONTH": "Ιανουάριος 2012",
+  "YEAR_MONTH_DAY": "27 Ιανουαρίου 2012",
+  "YEAR_MONTH_WEEKDAY_DAY": "Παρασκευή, 27 Ιανουαρίου 2012",
+  "YEAR_ABBR_QUARTER": "2012 Τ1",
+  "YEAR_QUARTER": "2012 1ο τρίμηνο",
+  "HOUR24": "20",
+  "HOUR24_MINUTE": "20:58",
+  "HOUR24_MINUTE_SECOND": "20:58:59",
+  "HOUR": "8 μ.μ.",
+  "HOUR_MINUTE": "8:58 μ.μ.",
+  "HOUR_MINUTE_SECOND": "8:58:59 μ.μ.",
+  "MINUTE": "58",
+  "MINUTE_SECOND": "58:59",
+  "SECOND": "59",
+  "LOCATION_TZ": "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
+  "GENERIC_TZ": "Ώρα Ειρηνικού",
+  "ABBR_GENERIC_TZ": "Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
+  "SPECIFIC_TZ": "Χειμερινή ώρα Ειρηνικού",
+  "ABBR_SPECIFIC_TZ": "GMT-08:00",
+  "ABBR_UTC_TZ": "GMT-08:00",
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND":
       "Παρασκευή, 27 Ιανουαρίου 2012 8:58:59 μ.μ.",
-  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ" :
+  "YEAR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + GENERIC_TZ":
       "Παρασκευή, 27 Ιανουαρίου 2012 8:58:59 μ.μ. Ώρα Ειρηνικού",
-  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ" :
+  "YEAR_ABBR_MONTH_WEEKDAY_DAY + HOUR_MINUTE_SECOND + ABBR_SPECIFIC_TZ":
       "Παρ, 27 Ιαν 2012 8:58:59 μ.μ. GMT-08:00",
-  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ" :
+  "HOUR_MINUTE_SECOND + ABBR_GENERIC_TZ":
       "8:58:59 μ.μ. Ηνωμένες Πολιτείες της Αμερικής (Λος Άντζελες)",
-  "HOUR_MINUTE + ABBR_SPECIFIC_TZ" : "8:58 μ.μ. GMT-08:00"};
+  "HOUR_MINUTE + ABBR_SPECIFIC_TZ": "8:58 μ.μ. GMT-08:00"
+};
diff --git a/test/date_time_format_test_stub.dart b/test/date_time_format_test_stub.dart
index 4b75747..e8141f6 100644
--- a/test/date_time_format_test_stub.dart
+++ b/test/date_time_format_test_stub.dart
@@ -44,7 +44,7 @@
 }
 
 void runWith(TestListFunc getSubset, String dir,
-             InitializeDateFormattingFunc initFunction) {
+    InitializeDateFormattingFunc initFunction) {
   // Initialize one locale just so we know what the list is.
   // Also, note that we take the list of locales as a function so that we don't
   // evaluate it until after we know that all the locales are available.
@@ -55,15 +55,13 @@
     if (initialized) {
       return null;
     }
-    return initFunction("en_US", dir)
-        .then((_) {
-          return Future.forEach(DateFormat.allLocalesWithSymbols(), (locale) {
-            return initFunction(locale, dir);
-          });
-        })
-        .then((_) {
-          initialized = true;
-        });
+    return initFunction("en_US", dir).then((_) {
+      return Future.forEach(DateFormat.allLocalesWithSymbols(), (locale) {
+        return initFunction(locale, dir);
+      });
+    }).then((_) {
+      initialized = true;
+    });
   });
 
   runDateTests(getSubset);
diff --git a/test/date_time_loose_parsing_test.dart b/test/date_time_loose_parsing_test.dart
index 1158982..6b37470 100644
--- a/test/date_time_loose_parsing_test.dart
+++ b/test/date_time_loose_parsing_test.dart
@@ -45,7 +45,8 @@
     check("09 3 2014");
     check("09 00003    2014");
     check("09/    03/2014");
-    expect(() => format.parseLoose("09 / 03 / 2014"), throwsA(new isInstanceOf<FormatException>()));
+    expect(() => format.parseLoose("09 / 03 / 2014"),
+        throwsA(new isInstanceOf<FormatException>()));
   });
 
   test("Loose parsing yMd that parses strict", () {
diff --git a/test/date_time_strict_test.dart b/test/date_time_strict_test.dart
index e23341c..f7ed30e 100644
--- a/test/date_time_strict_test.dart
+++ b/test/date_time_strict_test.dart
@@ -20,8 +20,8 @@
     expect(parsed, date);
 
     check(String s) {
-        expect(() => format.parseStrict(s), throwsFormatException);
-        expect(format.parse(s), date);
+      expect(() => format.parseStrict(s), throwsFormatException);
+      expect(format.parse(s), date);
     }
 
     check(formatted + ",");
@@ -43,38 +43,37 @@
   });
 
   test("Invalid times am/pm", () {
-     var format = new DateFormat.jms();
-     check(s) => expect(() => format.parseStrict(s), throwsFormatException);
-     check("-1:15:00 AM");
-     expect(format.parseStrict("0:15:00 AM"), new DateTime(1970, 1, 1, 0, 15));
-     check("24:00:00 PM");
-     check("24:00:00 AM");
-     check("25:00:00 PM");
-     check("0:-1:00 AM");
-     check("0:60:00 AM");
-     expect(format.parseStrict("0:59:00 AM"), new DateTime(1970, 1, 1, 0, 59));
-     check("0:0:-1 AM");
-     check("0:0:60 AM");
-     check("2:0:60 PM");
-     expect(format.parseStrict("2:0:59 PM"),
-         new DateTime(1970, 1, 1, 14, 0, 59));
-   });
+    var format = new DateFormat.jms();
+    check(s) => expect(() => format.parseStrict(s), throwsFormatException);
+    check("-1:15:00 AM");
+    expect(format.parseStrict("0:15:00 AM"), new DateTime(1970, 1, 1, 0, 15));
+    check("24:00:00 PM");
+    check("24:00:00 AM");
+    check("25:00:00 PM");
+    check("0:-1:00 AM");
+    check("0:60:00 AM");
+    expect(format.parseStrict("0:59:00 AM"), new DateTime(1970, 1, 1, 0, 59));
+    check("0:0:-1 AM");
+    check("0:0:60 AM");
+    check("2:0:60 PM");
+    expect(
+        format.parseStrict("2:0:59 PM"), new DateTime(1970, 1, 1, 14, 0, 59));
+  });
 
   test("Invalid times 24 hour", () {
-     var format = new DateFormat.Hms();
-     check(s) => expect(() => format.parseStrict(s), throwsFormatException);
-     check("-1:15:00");
-     expect(format.parseStrict("0:15:00"), new DateTime(1970, 1, 1, 0, 15));
-     check("24:00:00");
-     check("24:00:00");
-     check("25:00:00");
-     check("0:-1:00");
-     check("0:60:00");
-     expect(format.parseStrict("0:59:00"), new DateTime(1970, 1, 1, 0, 59));
-     check("0:0:-1");
-     check("0:0:60");
-     check("14:0:60");
-     expect(format.parseStrict("14:0:59"),
-         new DateTime(1970, 1, 1, 14, 0, 59));
-   });
-}
\ No newline at end of file
+    var format = new DateFormat.Hms();
+    check(s) => expect(() => format.parseStrict(s), throwsFormatException);
+    check("-1:15:00");
+    expect(format.parseStrict("0:15:00"), new DateTime(1970, 1, 1, 0, 15));
+    check("24:00:00");
+    check("24:00:00");
+    check("25:00:00");
+    check("0:-1:00");
+    check("0:60:00");
+    expect(format.parseStrict("0:59:00"), new DateTime(1970, 1, 1, 0, 59));
+    check("0:0:-1");
+    check("0:0:60");
+    check("14:0:60");
+    expect(format.parseStrict("14:0:59"), new DateTime(1970, 1, 1, 14, 0, 59));
+  });
+}
diff --git a/test/fixnum_test.dart b/test/fixnum_test.dart
index 953fe00..747a8bb 100644
--- a/test/fixnum_test.dart
+++ b/test/fixnum_test.dart
@@ -9,21 +9,26 @@
 import 'package:fixnum/fixnum.dart';
 
 var int64Values = {
-  new Int64(12345) :
-    ["USD12,345.00", "1,234,500%"],
-  new Int64(0x7FFFFFFFFFFFF) :
-    ["USD2,251,799,813,685,247.00", "225,179,981,368,524,700%"],
-  Int64.parseHex('7FFFFFFFFFFFFFF') :
-    ["USD576,460,752,303,423,487.00", "57,646,075,230,342,348,700%"],
-  Int64.parseHex('8000000000000000') :
-    ["-USD9,223,372,036,854,775,808.00", "-922,337,203,685,477,580,800%"]
+  new Int64(12345): ["USD12,345.00", "1,234,500%"],
+  new Int64(0x7FFFFFFFFFFFF): [
+    "USD2,251,799,813,685,247.00",
+    "225,179,981,368,524,700%"
+  ],
+  Int64.parseHex('7FFFFFFFFFFFFFF'): [
+    "USD576,460,752,303,423,487.00",
+    "57,646,075,230,342,348,700%"
+  ],
+  Int64.parseHex('8000000000000000'): [
+    "-USD9,223,372,036,854,775,808.00",
+    "-922,337,203,685,477,580,800%"
+  ]
 };
 
 var int32Values = {
-  new Int32(12345) : ["USD12,345.00", "1,234,500%"],
-  new Int32(0x7FFFF) : ["USD524,287.00", "52,428,700%"],
-  Int32.parseHex('7FFFFFF') : ["USD134,217,727.00", "13,421,772,700%"],
-  Int32.parseHex('80000000') : ["-USD2,147,483,648.00", "-214,748,364,800%"]
+  new Int32(12345): ["USD12,345.00", "1,234,500%"],
+  new Int32(0x7FFFF): ["USD524,287.00", "52,428,700%"],
+  Int32.parseHex('7FFFFFF'): ["USD134,217,727.00", "13,421,772,700%"],
+  Int32.parseHex('80000000'): ["-USD2,147,483,648.00", "-214,748,364,800%"]
 };
 
 main() {
diff --git a/test/intl_message_basic_example_test.dart b/test/intl_message_basic_example_test.dart
index dc13101..f87faf1 100644
--- a/test/intl_message_basic_example_test.dart
+++ b/test/intl_message_basic_example_test.dart
@@ -35,4 +35,3 @@
     }));
   });
 }
-
diff --git a/test/message_extraction/embedded_plural_text_after.dart b/test/message_extraction/embedded_plural_text_after.dart
index 15704ae..cda5bae 100644
--- a/test/message_extraction/embedded_plural_text_after.dart
+++ b/test/message_extraction/embedded_plural_text_after.dart
@@ -10,6 +10,4 @@
 
 embeddedPlural2(n) => Intl.message(
     "${Intl.plural(n, zero: 'none', one: 'one', other: 'some')} plus text.",
-    name: 'embeddedPlural2',
-    desc: 'An embedded plural',
-    args: [n]);
\ No newline at end of file
+    name: 'embeddedPlural2', desc: 'An embedded plural', args: [n]);
diff --git a/test/message_extraction/embedded_plural_text_after_test.dart b/test/message_extraction/embedded_plural_text_after_test.dart
index 64032b1..3a53dba 100644
--- a/test/message_extraction/embedded_plural_text_after_test.dart
+++ b/test/message_extraction/embedded_plural_text_after_test.dart
@@ -10,7 +10,10 @@
 main() {
   test("Expect failure because of embedded plural with text after it", () {
     var specialFiles = ['embedded_plural_text_after.dart'];
-    runTestWithWarnings(warningsAreErrors: true, expectedExitCode: 1,
-        embeddedPlurals: false, sourceFiles: specialFiles);
+    runTestWithWarnings(
+        warningsAreErrors: true,
+        expectedExitCode: 1,
+        embeddedPlurals: false,
+        sourceFiles: specialFiles);
   });
 }
diff --git a/test/message_extraction/embedded_plural_text_before.dart b/test/message_extraction/embedded_plural_text_before.dart
index 854b495..4843831 100644
--- a/test/message_extraction/embedded_plural_text_before.dart
+++ b/test/message_extraction/embedded_plural_text_before.dart
@@ -10,6 +10,4 @@
 
 embeddedPlural(n) => Intl.message(
     "There are ${Intl.plural(n, zero: 'nothing', one: 'one', other: 'some')}.",
-    name: 'embeddedPlural',
-    desc: 'An embedded plural',
-    args: [n]);
+    name: 'embeddedPlural', desc: 'An embedded plural', args: [n]);
diff --git a/test/message_extraction/embedded_plural_text_before_test.dart b/test/message_extraction/embedded_plural_text_before_test.dart
index 0cc44f7..ebfa1bf 100644
--- a/test/message_extraction/embedded_plural_text_before_test.dart
+++ b/test/message_extraction/embedded_plural_text_before_test.dart
@@ -10,7 +10,10 @@
 main() {
   test("Expect failure because of embedded plural with text before it", () {
     var files = ['embedded_plural_text_before.dart'];
-    runTestWithWarnings(warningsAreErrors: true, expectedExitCode: 1,
-        embeddedPlurals: false, sourceFiles: files);
+    runTestWithWarnings(
+        warningsAreErrors: true,
+        expectedExitCode: 1,
+        embeddedPlurals: false,
+        sourceFiles: files);
   });
 }
diff --git a/test/message_extraction/examples_parsing_test.dart b/test/message_extraction/examples_parsing_test.dart
index 661f622..55be5bd 100644
--- a/test/message_extraction/examples_parsing_test.dart
+++ b/test/message_extraction/examples_parsing_test.dart
@@ -14,12 +14,9 @@
 
 main() {
   test("Message examples are correctly extracted", () {
-    var file = path.join(
-        intlDirectory,
-        'test',
-        'message_extraction',
+    var file = path.join(intlDirectory, 'test', 'message_extraction',
         'sample_with_messages.dart');
     var messages = parseFile(new File(file));
-    expect(messages['message2'].examples, {"x" : 3});
+    expect(messages['message2'].examples, {"x": 3});
   });
 }
diff --git a/test/message_extraction/failed_extraction_test.dart b/test/message_extraction/failed_extraction_test.dart
index 3a7d75e..51b2c4b 100644
--- a/test/message_extraction/failed_extraction_test.dart
+++ b/test/message_extraction/failed_extraction_test.dart
@@ -13,12 +13,13 @@
   });
 }
 
-const defaultFiles =
-    const ["sample_with_messages.dart", "part_of_sample_with_messages.dart"];
+const defaultFiles = const [
+  "sample_with_messages.dart",
+  "part_of_sample_with_messages.dart"
+];
 
 void runTestWithWarnings({bool warningsAreErrors, int expectedExitCode,
-  bool embeddedPlurals: true, List<String> sourceFiles: defaultFiles}) {
-
+    bool embeddedPlurals: true, List<String> sourceFiles: defaultFiles}) {
   void verify(ProcessResult result) {
     try {
       expect(result.exitCode, expectedExitCode);
@@ -38,8 +39,8 @@
   }
   var files = sourceFiles.map(asTempDirPath).toList();
   var allArgs = [program]
-      ..addAll(args)
-      ..addAll(files);
+    ..addAll(args)
+    ..addAll(files);
   var callback = expectAsync(verify);
   run(null, allArgs).then(callback);
 }
diff --git a/test/message_extraction/make_hardcoded_translation.dart b/test/message_extraction/make_hardcoded_translation.dart
index 27d9326..af7d64d 100644
--- a/test/message_extraction/make_hardcoded_translation.dart
+++ b/test/message_extraction/make_hardcoded_translation.dart
@@ -17,124 +17,122 @@
 
 /** A list of the French translations that we will produce. */
 var french = {
-  "types" : r"{a}, {b}, {c}",
-  "multiLine" : "Cette message prend plusiers lignes.",
-  "message2" : r"Un autre message avec un seul paramètre {x}",
-  "alwaysTranslated" : "Cette chaîne est toujours traduit",
-  "message1" : "Il s'agit d'un message",
-  "leadingQuotes" : "\"Soi-disant\"",
-  "trickyInterpolation" : r"L'interpolation est délicate "
-    r"quand elle se termine une phrase comme {s}.",
-  "message3" : "Caractères qui doivent être échapper, par exemple barres \\ "
-    "dollars \${ (les accolades sont ok), et xml/html réservés <& et "
-    "des citations \" "
-    "avec quelques paramètres ainsi {a}, {b}, et {c}",
-  "method" : "Cela vient d'une méthode",
-  "nonLambda" : "Cette méthode n'est pas un lambda",
-  "staticMessage" : "Cela vient d'une méthode statique",
-  "notAlwaysTranslated" : "Ce manque certaines traductions",
-  "thisNameIsNotInTheOriginal" : "Could this lead to something malicious?",
-  "originalNotInBMP" : "Anciens caractères grecs jeux du pendu: 𐅆𐅇.",
-  "escapable" : "Escapes: \n\r\f\b\t\v.",
-  "sameContentsDifferentName" : "Bonjour tout le monde",
-  "differentNameSameContents" : "Bonjour tout le monde",
-  "rentToBePaid" : "loyer",
-  "rentAsVerb" : "louer",
-  "plurals" : 
-      "{num,plural, =0{Est-ce que nulle est pluriel?}=1{C'est singulier}"
+  "types": r"{a}, {b}, {c}",
+  "multiLine": "Cette message prend plusiers lignes.",
+  "message2": r"Un autre message avec un seul paramètre {x}",
+  "alwaysTranslated": "Cette chaîne est toujours traduit",
+  "message1": "Il s'agit d'un message",
+  "leadingQuotes": "\"Soi-disant\"",
+  "trickyInterpolation": r"L'interpolation est délicate "
+      r"quand elle se termine une phrase comme {s}.",
+  "message3": "Caractères qui doivent être échapper, par exemple barres \\ "
+      "dollars \${ (les accolades sont ok), et xml/html réservés <& et "
+      "des citations \" "
+      "avec quelques paramètres ainsi {a}, {b}, et {c}",
+  "method": "Cela vient d'une méthode",
+  "nonLambda": "Cette méthode n'est pas un lambda",
+  "staticMessage": "Cela vient d'une méthode statique",
+  "notAlwaysTranslated": "Ce manque certaines traductions",
+  "thisNameIsNotInTheOriginal": "Could this lead to something malicious?",
+  "originalNotInBMP": "Anciens caractères grecs jeux du pendu: 𐅆𐅇.",
+  "escapable": "Escapes: \n\r\f\b\t\v.",
+  "sameContentsDifferentName": "Bonjour tout le monde",
+  "differentNameSameContents": "Bonjour tout le monde",
+  "rentToBePaid": "loyer",
+  "rentAsVerb": "louer",
+  "plurals": "{num,plural, =0{Est-ce que nulle est pluriel?}=1{C'est singulier}"
       "other{C'est pluriel ({num}).}}",
-  "whereTheyWentMessage" : "{gender,select, male{{name} est allé à sa {place}}"
+  "whereTheyWentMessage": "{gender,select, male{{name} est allé à sa {place}}"
       "female{{name} est allée à sa {place}}other{{name}"
-          " est allé à sa {place}}}",
+      " est allé à sa {place}}}",
   // Gratuitously different translation for testing. Ignoring gender of place.
-  "nestedMessage" : "{combinedGender,select, "
-    "other{"
+  "nestedMessage": "{combinedGender,select, "
+      "other{"
       "{number,plural, "
-        "=0{Personne n'avait allé à la {place}}"
-        "=1{{names} était allé à la {place}}"
-        "other{{names} étaient allés à la {place}}"
+      "=0{Personne n'avait allé à la {place}}"
+      "=1{{names} était allé à la {place}}"
+      "other{{names} étaient allés à la {place}}"
       "}"
-    "}"
-    "female{"
+      "}"
+      "female{"
       "{number,plural, "
-        "=1{{names} était allée à la {place}}"
-        "other{{names} étaient allées à la {place}}"
+      "=1{{names} était allée à la {place}}"
+      "other{{names} étaient allées à la {place}}"
       "}"
-    "}"
-  "}",
-  "outerPlural" : "{n,plural, =0{rien}=1{un}other{quelques-uns}}",
-  "outerGender" : "{g,select, male{homme}female{femme}other{autre}}",
-  "pluralThatFailsParsing" : "{noOfThings,plural, "
-    "=1{1 chose:}other{{noOfThings} choses:}}",
-  "nestedOuter" : "{number,plural, other{"
-    "{gen,select, male{{number} homme}other{{number} autre}}}}",
-  "outerSelect" : "{currency,select, CDN{{amount} dollars Canadiens}"
-    "other{{amount} certaine devise ou autre.}}}",
-  "nestedSelect" : "{currency,select, CDN{{amount,plural, "
+      "}"
+      "}",
+  "outerPlural": "{n,plural, =0{rien}=1{un}other{quelques-uns}}",
+  "outerGender": "{g,select, male{homme}female{femme}other{autre}}",
+  "pluralThatFailsParsing": "{noOfThings,plural, "
+      "=1{1 chose:}other{{noOfThings} choses:}}",
+  "nestedOuter": "{number,plural, other{"
+      "{gen,select, male{{number} homme}other{{number} autre}}}}",
+  "outerSelect": "{currency,select, CDN{{amount} dollars Canadiens}"
+      "other{{amount} certaine devise ou autre.}}}",
+  "nestedSelect": "{currency,select, CDN{{amount,plural, "
       "=1{{amount} dollar Canadien}"
       "other{{amount} dollars Canadiens}}}"
-    "other{N'importe quoi}"
-    "}}"
+      "other{N'importe quoi}"
+      "}}"
 };
 
 /** A list of the German translations that we will produce. */
 var german = {
-  "types" : r"{a}, {b}, {c}",
-  "multiLine" : "Dieser String erstreckt sich über mehrere Zeilen erstrecken.",
-  "message2" : r"Eine weitere Meldung mit dem Parameter {x}",
-  "alwaysTranslated" : "Diese Zeichenkette wird immer übersetzt",
-  "message1" : "Dies ist eine Nachricht",
-  "leadingQuotes" : "\"Sogenannt\"",
-  "trickyInterpolation" : r"Interpolation ist schwierig, wenn es einen Satz "
+  "types": r"{a}, {b}, {c}",
+  "multiLine": "Dieser String erstreckt sich über mehrere Zeilen erstrecken.",
+  "message2": r"Eine weitere Meldung mit dem Parameter {x}",
+  "alwaysTranslated": "Diese Zeichenkette wird immer übersetzt",
+  "message1": "Dies ist eine Nachricht",
+  "leadingQuotes": "\"Sogenannt\"",
+  "trickyInterpolation": r"Interpolation ist schwierig, wenn es einen Satz "
       "wie dieser endet {s}.",
-  "message3" : "Zeichen, die Flucht benötigen, zB Schrägstriche \\ Dollar "
-    "\${ (geschweiften Klammern sind ok) und xml reservierte Zeichen <& und "
-    "Zitate \" Parameter {a}, {b} und {c}",
-  "method" : "Dies ergibt sich aus einer Methode",
-
-  "nonLambda" : "Diese Methode ist nicht eine Lambda",
-  "staticMessage" : "Dies ergibt sich aus einer statischen Methode",
-  "thisNameIsNotInTheOriginal" : "Could this lead to something malicious?",
-  "originalNotInBMP" : "Antike griechische Galgenmännchen Zeichen: 𐅆𐅇",
-  "escapable" : "Escapes: \n\r\f\b\t\v.",
-  "sameContentsDifferentName" : "Hallo Welt",
-  "differentNameSameContents" : "Hallo Welt",
-  "rentToBePaid" : "Miete",
-  "rentAsVerb" : "mieten",
-  "plurals" : "{num,plural, =0{Ist Null Plural?}=1{Dies ist einmalig}"
+  "message3": "Zeichen, die Flucht benötigen, zB Schrägstriche \\ Dollar "
+      "\${ (geschweiften Klammern sind ok) und xml reservierte Zeichen <& und "
+      "Zitate \" Parameter {a}, {b} und {c}",
+  "method": "Dies ergibt sich aus einer Methode",
+  "nonLambda": "Diese Methode ist nicht eine Lambda",
+  "staticMessage": "Dies ergibt sich aus einer statischen Methode",
+  "thisNameIsNotInTheOriginal": "Could this lead to something malicious?",
+  "originalNotInBMP": "Antike griechische Galgenmännchen Zeichen: 𐅆𐅇",
+  "escapable": "Escapes: \n\r\f\b\t\v.",
+  "sameContentsDifferentName": "Hallo Welt",
+  "differentNameSameContents": "Hallo Welt",
+  "rentToBePaid": "Miete",
+  "rentAsVerb": "mieten",
+  "plurals": "{num,plural, =0{Ist Null Plural?}=1{Dies ist einmalig}"
       "other{Dies ist Plural ({num}).}}",
-  "whereTheyWentMessage" : "{gender,select, male{{name} ging zu seinem {place}}"
+  "whereTheyWentMessage": "{gender,select, male{{name} ging zu seinem {place}}"
       "female{{name} ging zu ihrem {place}}other{{name} ging zu seinem {place}}}",
   //Note that we're only using the gender of the people. The gender of the
   //place also matters, but we're not dealing with that here.
-  "nestedMessage" : "{combinedGender,select, "
-    "other{"
+  "nestedMessage": "{combinedGender,select, "
+      "other{"
       "{number,plural, "
-        "=0{Niemand ging zu {place}}"
-        "=1{{names} ging zum {place}}"
-        "other{{names} gingen zum {place}}"
+      "=0{Niemand ging zu {place}}"
+      "=1{{names} ging zum {place}}"
+      "other{{names} gingen zum {place}}"
       "}"
-    "}"
-    "female{"
+      "}"
+      "female{"
       "{number,plural, "
-        "=1{{names} ging in dem {place}}"
-        "other{{names} gingen zum {place}}"
+      "=1{{names} ging in dem {place}}"
+      "other{{names} gingen zum {place}}"
       "}"
-    "}"
-  "}",
-  "outerPlural" : "{n,plural, =0{Null}=1{ein}other{einige}}",
-  "outerGender" : "{g,select, male{Mann}female{Frau}other{andere}}",
-  "pluralThatFailsParsing" : "{noOfThings,plural, "
-    "=1{eins:}other{{noOfThings} Dinge:}}",
-  "nestedOuter" : "{number,plural, other{"
-    "{gen,select, male{{number} Mann}other{{number} andere}}}}",
-  "outerSelect" : "{currency,select, CDN{{amount} Kanadischen dollar}"
-    "other{{amount} einige Währung oder anderen.}}}",
-  "nestedSelect" : "{currency,select, CDN{{amount,plural, "
+      "}"
+      "}",
+  "outerPlural": "{n,plural, =0{Null}=1{ein}other{einige}}",
+  "outerGender": "{g,select, male{Mann}female{Frau}other{andere}}",
+  "pluralThatFailsParsing": "{noOfThings,plural, "
+      "=1{eins:}other{{noOfThings} Dinge:}}",
+  "nestedOuter": "{number,plural, other{"
+      "{gen,select, male{{number} Mann}other{{number} andere}}}}",
+  "outerSelect": "{currency,select, CDN{{amount} Kanadischen dollar}"
+      "other{{amount} einige Währung oder anderen.}}}",
+  "nestedSelect": "{currency,select, CDN{{amount,plural, "
       "=1{{amount} Kanadischer dollar}"
       "other{{amount} Kanadischen dollar}}}"
-    "other{whatever}"
-    "}"
+      "other{whatever}"
+      "}"
 };
 
 /** The output directory for translated files. */
@@ -145,7 +143,7 @@
  * up the translations in [translations].
  */
 void translate(Map originals, String locale, Map translations) {
-  var translated = {"_locale" : locale};
+  var translated = {"_locale": locale};
   originals.forEach((name, text) {
     translated[name] = translations[name];
   });
@@ -160,8 +158,8 @@
     exit(0);
   }
   var parser = new ArgParser();
-  parser.addOption("output-dir", defaultsTo: '.',
-      callback: (value) => targetDir = value);
+  parser.addOption("output-dir",
+      defaultsTo: '.', callback: (value) => targetDir = value);
   parser.parse(args);
 
   var fileArgs = args.where((x) => x.contains('.arb'));
diff --git a/test/message_extraction/message_extraction_no_deferred_test.dart b/test/message_extraction/message_extraction_no_deferred_test.dart
index a46ea72..5c7cea4 100644
--- a/test/message_extraction/message_extraction_no_deferred_test.dart
+++ b/test/message_extraction/message_extraction_no_deferred_test.dart
@@ -13,4 +13,4 @@
 main(arguments) {
   mainTest.useDeferredLoading = false;
   mainTest.main(arguments);
-}
\ No newline at end of file
+}
diff --git a/test/message_extraction/message_extraction_test.dart b/test/message_extraction/message_extraction_test.dart
index 2428b58..e969bc3 100644
--- a/test/message_extraction/message_extraction_test.dart
+++ b/test/message_extraction/message_extraction_test.dart
@@ -31,8 +31,9 @@
  */
 String get tempDir => _tempDir == null ? _tempDir = _createTempDir() : _tempDir;
 var _tempDir;
-_createTempDir() => useLocalDirectory ? '.' :
-  Directory.systemTemp.createTempSync('message_extraction_test').path;
+_createTempDir() => useLocalDirectory
+    ? '.'
+    : Directory.systemTemp.createTempSync('message_extraction_test').path;
 
 var useLocalDirectory = false;
 
@@ -81,13 +82,15 @@
 
 void copyFilesToTempDirectory() {
   if (useLocalDirectory) return;
-  var files = [asTestDirPath('sample_with_messages.dart'),
-      asTestDirPath('part_of_sample_with_messages.dart'),
-      asTestDirPath('verify_messages.dart'),
-      asTestDirPath('run_and_verify.dart'),
-      asTestDirPath('embedded_plural_text_before.dart'),
-      asTestDirPath('embedded_plural_text_after.dart'),
-      asTestDirPath('print_to_list.dart')];
+  var files = [
+    asTestDirPath('sample_with_messages.dart'),
+    asTestDirPath('part_of_sample_with_messages.dart'),
+    asTestDirPath('verify_messages.dart'),
+    asTestDirPath('run_and_verify.dart'),
+    asTestDirPath('embedded_plural_text_before.dart'),
+    asTestDirPath('embedded_plural_text_after.dart'),
+    asTestDirPath('print_to_list.dart')
+  ];
   for (var filename in files) {
     var file = new File(filename);
     file.copySync(path.join(tempDir, path.basename(filename)));
@@ -109,21 +112,21 @@
  * are in dir() and need to be qualified in case that's not our working
  * directory.
  */
-Future<ProcessResult> run(ProcessResult previousResult, List<String> filenames)
-    {
+Future<ProcessResult> run(
+    ProcessResult previousResult, List<String> filenames) {
   // If there's a failure in one of the sub-programs, print its output.
   checkResult(previousResult);
-  var filesInTheRightDirectory = filenames.map((x) => asTempDirPath(x)).toList(
-      );
+  var filesInTheRightDirectory =
+      filenames.map((x) => asTempDirPath(x)).toList();
   // Inject the script argument --output-dir in between the script and its
   // arguments.
   var args = []
-      ..addAll(vmArgs)
-      ..add(filesInTheRightDirectory.first)
-      ..addAll(["--output-dir=$tempDir"])
-      ..addAll(filesInTheRightDirectory.skip(1));
-  var result = Process.run(dart, args, stdoutEncoding: UTF8, stderrEncoding:
-      UTF8);
+    ..addAll(vmArgs)
+    ..add(filesInTheRightDirectory.first)
+    ..addAll(["--output-dir=$tempDir"])
+    ..addAll(filesInTheRightDirectory.skip(1));
+  var result =
+      Process.run(dart, args, stdoutEncoding: UTF8, stderrEncoding: UTF8);
   return result;
 }
 
@@ -141,20 +144,29 @@
 }
 
 Future<ProcessResult> extractMessages(ProcessResult previousResult) => run(
-    previousResult, [asTestDirPath('../../bin/extract_to_arb.dart'),
-    '--suppress-warnings', 'sample_with_messages.dart',
-    'part_of_sample_with_messages.dart']);
+    previousResult, [
+  asTestDirPath('../../bin/extract_to_arb.dart'),
+  '--suppress-warnings',
+  'sample_with_messages.dart',
+  'part_of_sample_with_messages.dart'
+]);
 
 Future<ProcessResult> generateTranslationFiles(ProcessResult previousResult) =>
-    run(previousResult,
-        [asTestDirPath('make_hardcoded_translation.dart'),
-        'intl_messages.arb']);
+    run(previousResult, [
+  asTestDirPath('make_hardcoded_translation.dart'),
+  'intl_messages.arb'
+]);
 
-Future<ProcessResult> generateCodeFromTranslation(ProcessResult previousResult)
-    => run(previousResult, [asTestDirPath('../../bin/generate_from_arb.dart'),
-    deferredLoadArg, '--generated-file-prefix=foo_',
-    'sample_with_messages.dart', 'part_of_sample_with_messages.dart',
-    'translation_fr.arb', 'translation_de_DE.arb']);
+Future<ProcessResult> generateCodeFromTranslation(
+    ProcessResult previousResult) => run(previousResult, [
+  asTestDirPath('../../bin/generate_from_arb.dart'),
+  deferredLoadArg,
+  '--generated-file-prefix=foo_',
+  'sample_with_messages.dart',
+  'part_of_sample_with_messages.dart',
+  'translation_fr.arb',
+  'translation_de_DE.arb'
+]);
 
-Future<ProcessResult> runAndVerify(ProcessResult previousResult) => run(
-    previousResult, [asTempDirPath('run_and_verify.dart')]);
+Future<ProcessResult> runAndVerify(ProcessResult previousResult) =>
+    run(previousResult, [asTempDirPath('run_and_verify.dart')]);
diff --git a/test/message_extraction/part_of_sample_with_messages.dart b/test/message_extraction/part_of_sample_with_messages.dart
index 7eced88..aee7e02 100644
--- a/test/message_extraction/part_of_sample_with_messages.dart
+++ b/test/message_extraction/part_of_sample_with_messages.dart
@@ -13,14 +13,14 @@
 class YouveGotMessages {
 
   // A static message, rather than a standalone function.
-  static staticMessage() => Intl.message("This comes from a static method",
-      name: 'staticMessage');
+  static staticMessage() =>
+      Intl.message("This comes from a static method", name: 'staticMessage');
 
   // An instance method, rather than a standalone function.
-  method() => Intl.message("This comes from a method", name: 'method',
-      desc: 'This is a method with a '
-            'long description which spans '
-            'multiple lines.');
+  method() => Intl.message("This comes from a method",
+      name: 'method', desc: 'This is a method with a '
+      'long description which spans '
+      'multiple lines.');
 
   // A non-lambda, i.e. not using => syntax, and with an additional statement
   // before the Intl.message call.
@@ -34,31 +34,28 @@
          zero : 'Is zero plural?',
          one : 'This is singular.',
          other : 'This is plural ($num).')
-        }""",
-        name: "plurals", args: [num], desc: "Basic plurals");
+        }""", name: "plurals", args: [num], desc: "Basic plurals");
 
   whereTheyWent(Person person, String place) =>
       whereTheyWentMessage(person.name, person.gender, place);
 
   whereTheyWentMessage(String name, String gender, String place) {
-    return Intl.message(
-        "${Intl.gender(gender,
+    return Intl.message("${Intl.gender(gender,
             male: '$name went to his $place',
             female: '$name went to her $place',
             other: '$name went to its $place')
         }",
         name: "whereTheyWentMessage",
         args: [name, gender, place],
-        desc: 'A person went to some place that they own, e.g. their room'
-    );
+        desc: 'A person went to some place that they own, e.g. their room');
   }
 
   // English doesn't do enough with genders, so this example is French.
   nested(List people, String place) {
     var names = people.map((x) => x.name).join(", ");
     var number = people.length;
-    var combinedGender = people.every(
-        (x) => x.gender == "female") ? "female" : "other";
+    var combinedGender =
+        people.every((x) => x.gender == "female") ? "female" : "other";
     if (number == 0) combinedGender = "other";
 
     nestedMessage(names, number, combinedGender, place) => Intl.message(
@@ -71,8 +68,7 @@
             one: "$names est allée au $place",
           other: "$names sont allées au $place")}'
         )}''',
-       name: "nestedMessage",
-       args: [names, number, combinedGender, place]);
+        name: "nestedMessage", args: [names, number, combinedGender, place]);
     return nestedMessage(names, number, combinedGender, place);
   }
 }
diff --git a/test/message_extraction/run_and_verify.dart b/test/message_extraction/run_and_verify.dart
index c283f2c..ef9a1a0 100644
--- a/test/message_extraction/run_and_verify.dart
+++ b/test/message_extraction/run_and_verify.dart
@@ -8,4 +8,4 @@
 
 main() {
   sample.main().then(verifyResult);
-}
\ No newline at end of file
+}
diff --git a/test/message_extraction/sample_with_messages.dart b/test/message_extraction/sample_with_messages.dart
index 47cfc18..5801ca2 100644
--- a/test/message_extraction/sample_with_messages.dart
+++ b/test/message_extraction/sample_with_messages.dart
@@ -17,10 +17,10 @@
 
 part 'part_of_sample_with_messages.dart';
 
-message1() => Intl.message("This is a message", name: 'message1', desc: 'foo' );
+message1() => Intl.message("This is a message", name: 'message1', desc: 'foo');
 
 message2(x) => Intl.message("Another message with parameter $x",
-    name: 'message2', desc: 'Description 2', args: [x], examples: {'x' : 3});
+    name: 'message2', desc: 'Description 2', args: [x], examples: {'x': 3});
 
 // A string with multiple adjacent strings concatenated together, verify
 // that the parser handles this properly.
@@ -29,24 +29,22 @@
     "extends "
     "across "
     "multiple "
-    "lines.",
-    name: "multiLine");
+    "lines.", name: "multiLine");
 
 // Have types on the enclosing function's arguments.
-types(int a, String b, List c) => Intl.message("$a, $b, $c", name: 'types',
-    args: [a, b, c]);
+types(int a, String b, List c) =>
+    Intl.message("$a, $b, $c", name: 'types', args: [a, b, c]);
 
 // This string will be printed with a French locale, so it will always show
 // up in the French version, regardless of the current locale.
-alwaysTranslated() =>
-    Intl.message("This string is always translated", locale: 'fr',
-        name: 'alwaysTranslated');
+alwaysTranslated() => Intl.message("This string is always translated",
+    locale: 'fr', name: 'alwaysTranslated');
 
 // Test interpolation with curly braces around the expression, but it must
 // still be just a variable reference.
-trickyInterpolation(s) =>
-    Intl.message("Interpolation is tricky when it ends a sentence like ${s}.",
-        name: 'trickyInterpolation', args: [s]);
+trickyInterpolation(s) => Intl.message(
+    "Interpolation is tricky when it ends a sentence like ${s}.",
+    name: 'trickyInterpolation', args: [s]);
 
 get leadingQuotes => Intl.message("\"So-called\"", name: 'leadingQuotes');
 
@@ -68,11 +66,21 @@
 // characters that ought to be escaped during code generation.
 escapable() => Intl.message("Escapable characters here: ", name: "escapable");
 
-outerPlural(n) => Intl.plural(n, zero: 'none', one: 'one', other: 'some',
-    name: 'outerPlural', desc: 'A plural with no enclosing message', args: [n]);
+outerPlural(n) => Intl.plural(n,
+    zero: 'none',
+    one: 'one',
+    other: 'some',
+    name: 'outerPlural',
+    desc: 'A plural with no enclosing message',
+    args: [n]);
 
-outerGender(g) => Intl.gender(g, male: 'm', female: 'f', other: 'o',
-    name: 'outerGender', desc: 'A gender with no enclosing message', args: [g]);
+outerGender(g) => Intl.gender(g,
+    male: 'm',
+    female: 'f',
+    other: 'o',
+    name: 'outerGender',
+    desc: 'A gender with no enclosing message',
+    args: [g]);
 
 pluralThatFailsParsing(noOfThings) => Intl.plural(noOfThings,
     one: "1 thing:",
@@ -86,23 +94,17 @@
 invalidOuterGender(g) => Intl.gender(g, other: 'o');
 
 // A general select
-outerSelect(currency, amount) => Intl.select(currency,
-    {
-      "CDN" : "$amount Canadian dollars",
-      "other" : "$amount some currency or other."
-    },
-    name: "outerSelect",
-    args: [currency, amount]);
+outerSelect(currency, amount) => Intl.select(currency, {
+  "CDN": "$amount Canadian dollars",
+  "other": "$amount some currency or other."
+}, name: "outerSelect", args: [currency, amount]);
 
 // A select with a plural inside the expressions.
-nestedSelect(currency, amount) => Intl.select(currency,
-    {
-      "CDN" : """${Intl.plural(amount, one: '$amount Canadian dollar',
+nestedSelect(currency, amount) => Intl.select(currency, {
+  "CDN": """${Intl.plural(amount, one: '$amount Canadian dollar',
           other: '$amount Canadian dollars')}""",
-      "other" : "Whatever",
-    },
-    name: "nestedSelect",
-    args: [currency, amount]);
+  "other": "Whatever",
+}, name: "nestedSelect", args: [currency, amount]);
 
 // A trivial nested plural/gender where both are done directly rather than
 // in interpolations.
@@ -120,11 +122,15 @@
     desc: "One of two messages with the same contents, but different names");
 
 /// Distinguish two messages with identical text using the meaning parameter.
-rentToBePaid() => Intl.message("rent", name: "rentToBePaid",
-    meaning: 'Money for rent', desc: "Money to be paid for rent");
+rentToBePaid() => Intl.message("rent",
+    name: "rentToBePaid",
+    meaning: 'Money for rent',
+    desc: "Money to be paid for rent");
 
-rentAsVerb() => Intl.message("rent", name: "rentAsVerb",
-    meaning: 'rent as a verb', desc: "The action of renting, as in rent a car");
+rentAsVerb() => Intl.message("rent",
+    name: "rentAsVerb",
+    meaning: 'rent as a verb',
+    desc: "The action of renting, as in rent a car");
 
 printStuff(Intl locale) {
 
@@ -145,9 +151,7 @@
   message3(a, b, c) => Intl.message(
       "Characters that need escaping, e.g slashes \\ dollars \${ (curly braces "
       "are ok) and xml reserved characters <& and quotes \" "
-      "parameters $a, $b, and $c",
-      name: 'message3',
-      args: [a, b, c]);
+      "parameters $a, $b, and $c", name: 'message3', args: [a, b, c]);
   var messageVariable = message3;
 
   printOut("-------------------------------------------");
@@ -155,7 +159,7 @@
   Intl.withLocale(locale.locale, () {
     printOut(message1());
     printOut(message2("hello"));
-    printOut(messageVariable(1,2,3));
+    printOut(messageVariable(1, 2, 3));
     printOut(multiLine());
     printOut(types(1, "b", ["c", "d"]));
     printOut(leadingQuotes);
@@ -232,8 +236,7 @@
   var f1 = initializeMessages(fr.locale)
       // Since English has the one message which is always translated, we
       // can't print it until French is ready.
-      .then((_) => printStuff(english))
-      .then((_) => printStuff(fr));
+      .then((_) => printStuff(english)).then((_) => printStuff(fr));
   var f2 = initializeMessages('de-de').then((_) => printStuff(de));
   return Future.wait([f1, f2]);
 }
diff --git a/test/message_extraction/verify_messages.dart b/test/message_extraction/verify_messages.dart
index 1b3944c..712dc12 100644
--- a/test/message_extraction/verify_messages.dart
+++ b/test/message_extraction/verify_messages.dart
@@ -74,14 +74,13 @@
   verify('rent');
   verify('rent');
 
-  var fr_lines = expanded.skip(1).skipWhile(
-      (line) => !line.contains('----')).toList();
+  var fr_lines =
+      expanded.skip(1).skipWhile((line) => !line.contains('----')).toList();
   lineIterator = fr_lines.iterator..moveNext();
   verify("Printing messages for fr");
   verify("Il s'agit d'un message");
   verify("Un autre message avec un seul paramètre hello");
-  verify(
-      "Caractères qui doivent être échapper, par exemple barres \\ "
+  verify("Caractères qui doivent être échapper, par exemple barres \\ "
       "dollars \${ (les accolades sont ok), et xml/html réservés <& et "
       "des citations \" "
       "avec quelques paramètres ainsi 1, 2, et 3");
@@ -89,9 +88,8 @@
   verify("1, b, [c, d]");
   verify('"Soi-disant"');
   verify("Cette chaîne est toujours traduit");
-  verify(
-      "L'interpolation est délicate quand elle se termine une "
-          "phrase comme this.");
+  verify("L'interpolation est délicate quand elle se termine une "
+      "phrase comme this.");
   verify("Cela vient d'une méthode");
   verify("Cette méthode n'est pas un lambda");
   verify("Cela vient d'une méthode statique");
@@ -140,14 +138,13 @@
   verify('louer');
   verify('loyer');
 
-  var de_lines = fr_lines.skip(1).skipWhile(
-      (line) => !line.contains('----')).toList();
+  var de_lines =
+      fr_lines.skip(1).skipWhile((line) => !line.contains('----')).toList();
   lineIterator = de_lines.iterator..moveNext();
   verify("Printing messages for de_DE");
   verify("Dies ist eine Nachricht");
   verify("Eine weitere Meldung mit dem Parameter hello");
-  verify(
-      "Zeichen, die Flucht benötigen, zB Schrägstriche \\ Dollar "
+  verify("Zeichen, die Flucht benötigen, zB Schrägstriche \\ Dollar "
       "\${ (geschweiften Klammern sind ok) und xml reservierte Zeichen <& und "
       "Zitate \" Parameter 1, 2 und 3");
   verify("Dieser String erstreckt sich über mehrere "
diff --git a/test/number_closure_test.dart b/test/number_closure_test.dart
index 1355e45..8f4410c 100644
--- a/test/number_closure_test.dart
+++ b/test/number_closure_test.dart
@@ -33,7 +33,7 @@
  */
 veryBigNumberCompare(str1, str2) {
   return str1.length == str2.length &&
-         str1.substring(0, 8) == str2.substring(0, 8);
+      str1.substring(0, 8) == str2.substring(0, 8);
 }
 
 testVeryBigNumber() {
@@ -385,7 +385,7 @@
 
 testLocaleSwitchAsync() {
   Intl.withLocale("fr", () {
-    new Timer(new Duration(milliseconds:10), expectAsync(verifyFrenchLocale));
+    new Timer(new Duration(milliseconds: 10), expectAsync(verifyFrenchLocale));
   });
   // Verify that things running outside the zone still get en_US.
   testStandardFormat();
diff --git a/test/number_format_test.dart b/test/number_format_test.dart
index b6bc33a..14c8b3f 100644
--- a/test/number_format_test.dart
+++ b/test/number_format_test.dart
@@ -16,9 +16,9 @@
  * Tests the Numeric formatting library in dart.
  */
 var testNumbersWeCanReadBack = {
-  "-1" : -1,
-  "-2" : -2.0,
-  "-0.01" : -0.01,
+  "-1": -1,
+  "-2": -2.0,
+  "-0.01": -0.01,
   "0.001": 0.001,
   "0.01": 0.01,
   "0.1": 0.1,
@@ -38,26 +38,19 @@
 };
 
 /** Test numbers that we can't parse because we lose precision in formatting.*/
-var testNumbersWeCannotReadBack = {
-  "3.142" : PI,
-  };
+var testNumbersWeCannotReadBack = {"3.142": PI,};
 
 /** Test numbers that won't work in Javascript because they're too big. */
 var testNumbersOnlyForTheVM = {
-  "10,000,000,000,000,000,000,000,000,000,000" :
+  "10,000,000,000,000,000,000,000,000,000,000":
       10000000000000000000000000000000,
 };
 
-get allTestNumbers =>
-    new Map.from(testNumbersWeCanReadBack)
-      ..addAll(testNumbersWeCannotReadBack)
-      ..addAll(inJavaScript() ? {} : testNumbersOnlyForTheVM);
+get allTestNumbers => new Map.from(testNumbersWeCanReadBack)
+  ..addAll(testNumbersWeCannotReadBack)
+  ..addAll(inJavaScript() ? {} : testNumbersOnlyForTheVM);
 
-var testExponential = const {
-  "1E-3" : 0.001,
-  "1E-2": 0.01,
-  "1.23E0" : 1.23
-  };
+var testExponential = const {"1E-3": 0.001, "1E-2": 0.01, "1.23E0": 1.23};
 
 // TODO(alanknight): Test against currency, which requires generating data
 // for the three different forms that this now supports.
@@ -65,9 +58,9 @@
 // digit support.
 List<NumberFormat> standardFormats(String locale) {
   return [
-          new NumberFormat.decimalPattern(locale),
-          new NumberFormat.percentPattern(locale),
-          ];
+    new NumberFormat.decimalPattern(locale),
+    new NumberFormat.percentPattern(locale),
+  ];
 }
 
 // Pay no attention to the hint. This is here deliberately to have different
@@ -145,10 +138,10 @@
 
   test('Percent with no decimals and no integer part', () {
     var number = new NumberFormat("#%");
-      var formatted = number.format(0.12);
-      expect(formatted, "12%");
-      var readBack = number.parse(formatted);
-      expect(0.12, readBack);
+    var formatted = number.format(0.12);
+    expect(formatted, "12%");
+    var readBack = number.parse(formatted);
+    expect(0.12, readBack);
   });
 
   // We can't do these in the normal tests because those also format the
@@ -156,7 +149,7 @@
   // back the same way.
   test('Parsing modifiers,e.g. percent, in the base format', () {
     var number = new NumberFormat();
-    var modified = { "12%" : 0.12, "12\u2030" : 0.012};
+    var modified = {"12%": 0.12, "12\u2030": 0.012};
     modified.addAll(testExponential);
     for (var x in modified.keys) {
       var parsed = number.parse(x);
diff --git a/test/number_test_data.dart b/test/number_test_data.dart
index ff7e674..19e4f43 100644
--- a/test/number_test_data.dart
+++ b/test/number_test_data.dart
@@ -12,711 +12,712 @@
 library number_test_data;
 
 var numberTestData = const [
-    "af",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "am",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "ar",
-    r"١٢٣",
-    r"‏-١٢٫٣",
-    r"١٬٢٣٤٬٥٦٧٬٨٩٠",
-    r"١٢٬٣٠٠٪",
-    r"‏-١٬٢٣٠٪",
-    r"١٢٣٬٤٥٦٬٧٨٩٬٠٠٠٪",
-    "az",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "bg",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "bn",
-    r"১২৩",
-    r"-১২.৩",
-    r"১,২৩,৪৫,৬৭,৮৯০",
-    r"১২,৩০০%",
-    r"-১,২৩০%",
-    r"১,২৩,৪৫,৬৭,৮৯,০০০%",
-    "br",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "ca",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "chr",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "cs",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "cy",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "da",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300 %",
-    r"-1.230 %",
-    r"123.456.789.000 %",
-    "de",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300 %",
-    r"-1.230 %",
-    r"123.456.789.000 %",
-    "de_AT",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300 %",
-    r"-1.230 %",
-    r"123.456.789.000 %",
-    "de_CH",
-    r"123",
-    r"-12.3",
-    r"1'234'567'890",
-    r"12'300 %",
-    r"-1'230 %",
-    r"123'456'789'000 %",
-    "el",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "en",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_AU",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_GB",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_IE",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_IN",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "en_SG",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_US",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "en_ZA",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "es",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "es_419",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "es_ES",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "et",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "eu",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"% 12.300",
-    r"-% 1.230",
-    r"% 123.456.789.000",
-    "fa",
-    r"۱۲۳",
-    r"‎−۱۲٫۳",
-    r"۱٬۲۳۴٬۵۶۷٬۸۹۰",
-    r"۱۲٬۳۰۰٪",
-    r"‎−۱٬۲۳۰٪",
-    r"۱۲۳٬۴۵۶٬۷۸۹٬۰۰۰٪",
-    "fi",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "fil",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "fr",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "fr_CA",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "ga",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "gl",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "gsw",
-    r"123",
-    r"−12.3",
-    r"1’234’567’890",
-    r"12’300 %",
-    r"−1’230 %",
-    r"123’456’789’000 %",
-    "gu",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "haw",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "he",
-    r"123",
-    r"‎-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"‎-1,230%",
-    r"123,456,789,000%",
-    "hi",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "hr",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "hu",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "hy",
-    r"123",
-    r"-12,3",
-    r"1234567890",
-    r"12300%",
-    r"-1230%",
-    r"123456789000%",
-    "id",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "in",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "is",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "it",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "iw",
-    r"123",
-    r"‎-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"‎-1,230%",
-    r"123,456,789,000%",
-    "ja",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "ka",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "kk",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "km",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "kn",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "ko",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "ky",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "ln",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "lo",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "lt",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "lv",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "mk",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "ml",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "mn",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "mr",
-    r"१२३",
-    r"-१२.३",
-    r"१,२३४,५६७,८९०",
-    r"१२,३००%",
-    r"-१,२३०%",
-    r"१२३,४५६,७८९,०००%",
-    "ms",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "mt",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "my",
-    r"၁၂၃",
-    r"-၁၂.၃",
-    r"၁,၂၃၄,၅၆၇,၈၉၀",
-    r"၁၂,၃၀၀%",
-    r"-၁,၂၃၀%",
-    r"၁၂၃,၄၅၆,၇၈၉,၀၀၀%",
-    "nb",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "ne",
-    r"१२३",
-    r"-१२.३",
-    r"१,२३४,५६७,८९०",
-    r"१२,३००%",
-    r"-१,२३०%",
-    r"१२३,४५६,७८९,०००%",
-    "nl",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "no",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "no_NO",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "or",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "pa",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "pl",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "pt",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "pt_BR",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "pt_PT",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "ro",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300 %",
-    r"-1.230 %",
-    r"123.456.789.000 %",
-    "ru",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "si",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "sk",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"-1 230 %",
-    r"123 456 789 000 %",
-    "sl",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "sq",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "sr",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "sv",
-    r"123",
-    r"−12,3",
-    r"1 234 567 890",
-    r"12 300 %",
-    r"−1 230 %",
-    r"123 456 789 000 %",
-    "sw",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "ta",
-    r"123",
-    r"-12.3",
-    r"1,23,45,67,890",
-    r"12,300%",
-    r"-1,230%",
-    r"1,23,45,67,89,000%",
-    "te",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "th",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "tl",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "tr",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"%12.300",
-    r"-%1.230",
-    r"%123.456.789.000",
-    "uk",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "ur",
-    r"123",
-    r"‎-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"‎-1,230%",
-    r"123,456,789,000%",
-    "uz",
-    r"123",
-    r"-12,3",
-    r"1 234 567 890",
-    r"12 300%",
-    r"-1 230%",
-    r"123 456 789 000%",
-    "vi",
-    r"123",
-    r"-12,3",
-    r"1.234.567.890",
-    r"12.300%",
-    r"-1.230%",
-    r"123.456.789.000%",
-    "zh",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "zh_CN",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "zh_HK",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "zh_TW",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "zu",
-    r"123",
-    r"-12.3",
-    r"1,234,567,890",
-    r"12,300%",
-    r"-1,230%",
-    r"123,456,789,000%",
-    "END"];
\ No newline at end of file
+  "af",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "am",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "ar",
+  r"١٢٣",
+  r"‏-١٢٫٣",
+  r"١٬٢٣٤٬٥٦٧٬٨٩٠",
+  r"١٢٬٣٠٠٪",
+  r"‏-١٬٢٣٠٪",
+  r"١٢٣٬٤٥٦٬٧٨٩٬٠٠٠٪",
+  "az",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "bg",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "bn",
+  r"১২৩",
+  r"-১২.৩",
+  r"১,২৩,৪৫,৬৭,৮৯০",
+  r"১২,৩০০%",
+  r"-১,২৩০%",
+  r"১,২৩,৪৫,৬৭,৮৯,০০০%",
+  "br",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "ca",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "chr",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "cs",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "cy",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "da",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300 %",
+  r"-1.230 %",
+  r"123.456.789.000 %",
+  "de",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300 %",
+  r"-1.230 %",
+  r"123.456.789.000 %",
+  "de_AT",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300 %",
+  r"-1.230 %",
+  r"123.456.789.000 %",
+  "de_CH",
+  r"123",
+  r"-12.3",
+  r"1'234'567'890",
+  r"12'300 %",
+  r"-1'230 %",
+  r"123'456'789'000 %",
+  "el",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "en",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_AU",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_GB",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_IE",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_IN",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "en_SG",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_US",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "en_ZA",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "es",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "es_419",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "es_ES",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "et",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "eu",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"% 12.300",
+  r"-% 1.230",
+  r"% 123.456.789.000",
+  "fa",
+  r"۱۲۳",
+  r"‎−۱۲٫۳",
+  r"۱٬۲۳۴٬۵۶۷٬۸۹۰",
+  r"۱۲٬۳۰۰٪",
+  r"‎−۱٬۲۳۰٪",
+  r"۱۲۳٬۴۵۶٬۷۸۹٬۰۰۰٪",
+  "fi",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "fil",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "fr",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "fr_CA",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "ga",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "gl",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "gsw",
+  r"123",
+  r"−12.3",
+  r"1’234’567’890",
+  r"12’300 %",
+  r"−1’230 %",
+  r"123’456’789’000 %",
+  "gu",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "haw",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "he",
+  r"123",
+  r"‎-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"‎-1,230%",
+  r"123,456,789,000%",
+  "hi",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "hr",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "hu",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "hy",
+  r"123",
+  r"-12,3",
+  r"1234567890",
+  r"12300%",
+  r"-1230%",
+  r"123456789000%",
+  "id",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "in",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "is",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "it",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "iw",
+  r"123",
+  r"‎-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"‎-1,230%",
+  r"123,456,789,000%",
+  "ja",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "ka",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "kk",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "km",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "kn",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "ko",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "ky",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "ln",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "lo",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "lt",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "lv",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "mk",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "ml",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "mn",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "mr",
+  r"१२३",
+  r"-१२.३",
+  r"१,२३४,५६७,८९०",
+  r"१२,३००%",
+  r"-१,२३०%",
+  r"१२३,४५६,७८९,०००%",
+  "ms",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "mt",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "my",
+  r"၁၂၃",
+  r"-၁၂.၃",
+  r"၁,၂၃၄,၅၆၇,၈၉၀",
+  r"၁၂,၃၀၀%",
+  r"-၁,၂၃၀%",
+  r"၁၂၃,၄၅၆,၇၈၉,၀၀၀%",
+  "nb",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "ne",
+  r"१२३",
+  r"-१२.३",
+  r"१,२३४,५६७,८९०",
+  r"१२,३००%",
+  r"-१,२३०%",
+  r"१२३,४५६,७८९,०००%",
+  "nl",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "no",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "no_NO",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "or",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "pa",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "pl",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "pt",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "pt_BR",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "pt_PT",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "ro",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300 %",
+  r"-1.230 %",
+  r"123.456.789.000 %",
+  "ru",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "si",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "sk",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"-1 230 %",
+  r"123 456 789 000 %",
+  "sl",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "sq",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "sr",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "sv",
+  r"123",
+  r"−12,3",
+  r"1 234 567 890",
+  r"12 300 %",
+  r"−1 230 %",
+  r"123 456 789 000 %",
+  "sw",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "ta",
+  r"123",
+  r"-12.3",
+  r"1,23,45,67,890",
+  r"12,300%",
+  r"-1,230%",
+  r"1,23,45,67,89,000%",
+  "te",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "th",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "tl",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "tr",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"%12.300",
+  r"-%1.230",
+  r"%123.456.789.000",
+  "uk",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "ur",
+  r"123",
+  r"‎-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"‎-1,230%",
+  r"123,456,789,000%",
+  "uz",
+  r"123",
+  r"-12,3",
+  r"1 234 567 890",
+  r"12 300%",
+  r"-1 230%",
+  r"123 456 789 000%",
+  "vi",
+  r"123",
+  r"-12,3",
+  r"1.234.567.890",
+  r"12.300%",
+  r"-1.230%",
+  r"123.456.789.000%",
+  "zh",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "zh_CN",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "zh_HK",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "zh_TW",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "zu",
+  r"123",
+  r"-12.3",
+  r"1,234,567,890",
+  r"12,300%",
+  r"-1,230%",
+  r"123,456,789,000%",
+  "END"
+];
diff --git a/tool/generate_locale_data_files.dart b/tool/generate_locale_data_files.dart
index c0fbee3..e6b49d7 100644
--- a/tool/generate_locale_data_files.dart
+++ b/tool/generate_locale_data_files.dart
@@ -50,13 +50,13 @@
 }
 
 void writeSymbolData() {
-  dateTimeSymbolMap().forEach(
-      (locale, symbols) => writeSymbols(locale, symbols));
+  dateTimeSymbolMap()
+      .forEach((locale, symbols) => writeSymbols(locale, symbols));
 }
 
 void writePatternData() {
-  dateTimePatternMap().forEach(
-      (locale, patterns) => writePatterns(locale, patterns));
+  dateTimePatternMap()
+      .forEach((locale, patterns) => writePatterns(locale, patterns));
 }
 
 void writeSymbols(locale, symbols) {
@@ -68,7 +68,9 @@
 
 void writePatterns(locale, patterns) {
   var file = new File(path.join(dataDirectory, 'patterns', '${locale}.json'));
-  file.openWrite()..write(JSON.encode(patterns))..close();
+  file.openWrite()
+    ..write(JSON.encode(patterns))
+    ..close();
 }
 
 void writeToJSON(dynamic data, IOSink out) {
