1// Copyright 2019 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4{
5// To use implicithan for Collation UCAData.
6  "collationUCAData": "implicithan",
7// Based on the ICU63 version of
8// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
9// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
10  "localeFilter": {
11    "filterType": "language",
12    "includelist": [
13// Need to explicitly add "root"
14      "root",
15
16      "af",
17      "ak",
18      "am",
19      "an",
20      "ar",
21      "ast",
22      "az",
23      "be",
24      "bem",
25      "bg",
26      "bn",
27      "br",
28      "bs",
29      "ca",
30      "ckb",
31      "cs",
32      "cy",
33      "da",
34      "de",
35      "ee",
36      "el",
37      "en",
38      "eo",
39      "es",
40      "et",
41      "eu",
42      "fa",
43      "fi",
44      "fil",
45      "fo",
46      "fr",
47      "ga",
48      "gl",
49      "gu",
50      "ha",
51      "haw",
52      "he",
53      "hi",
54      "hr",
55      "hu",
56      "hy",
57      "id",
58      "ig",
59      "in",
60      "is",
61      "it",
62      "iw",
63      "ja",
64      "ka",
65      "kk",
66      "km",
67      "kn",
68      "ko",
69      "ku",
70      "ky",
71      "lg",
72      "ln",
73      "lo",
74      "lt",
75      "lv",
76      "mfe",
77      "mg",
78      "mk",
79      "ml",
80      "mn",
81      "mo",
82      "mr",
83      "ms",
84      "mt",
85      "my",
86      "nb",
87      "ne",
88      "nl",
89      "nn",
90      "no",
91      "nyn",
92      "om",
93      "or",
94      "pa",
95      "pl",
96      "ps",
97      "pt",
98      "rm",
99      "rn",
100      "ro",
101      "ru",
102      "rw",
103      "sh",
104      "si",
105      "sk",
106      "sl",
107      "sn",
108      "so",
109      "sq",
110      "sr",
111      "sv",
112      "sw",
113      "ta",
114      "te",
115      "tg",
116      "th",
117      "ti",
118      "tl",
119      "to",
120      "tr",
121      "uk",
122      "ur",
123      "uz",
124      "vi",
125      "wa",
126      "yo",
127      "zh",
128      "zu"
129    ]
130  },
131  "featureFilters": {
132    "brkitr_dictionaries": {
133      "excludelist": [
134// Filtered by android/brkitr.patch        "cjdict",
135        "cjdict"
136      ]
137    },
138    "brkitr_rules": {
139      "excludelist": [
140// Exclude line_cj till we upgrade to 68.1 due to size impact.
141	"line_cj",
142        "title",
143        "word_POSIX"
144      ]
145    },
146    "brkitr_tree": {
147      "excludelist": [
148        "en_US_POSIX"
149      ]
150    },
151// Based on the ICU63 version of
152// https://cs.chromium.org/chromium/src/third_party/icu/source/data/mappings/ucmlocal.mk?rcl=797b7c
153    "conversion_mappings": {
154      "includelist": [
155// UCM_SOURCE_CORE=...
156        "iso-8859-2-html",
157        "iso-8859-3-html",
158        "iso-8859-4-html",
159        "iso-8859-5-html",
160        "iso-8859-6-html",
161        "iso-8859-7-html",
162        "iso-8859-8-html",
163        "iso-8859-10-html",
164        "iso-8859-13-html",
165        "iso-8859-14-html",
166        "iso-8859-15-html",
167        "iso-8859-16-html",
168        "windows-1250-html",
169        "windows-1251-html",
170        "windows-1252-html",
171        "windows-1253-html",
172        "windows-1254-html",
173        "windows-1255-html",
174        "windows-1256-html",
175        "windows-1257-html",
176        "windows-1258-html",
177        "windows-936-2000",
178        "gb18030",
179        "big5-html",
180        "shift_jis-html",
181        "euc-jp-html",
182        "euc-kr-html",
183        "windows-874-html",
184        "macintosh-html",
185        "x-mac-cyrillic-html",
186        "ibm866-html",
187        "koi8-r-html",
188        "koi8-u-html"
189      ]
190    },
191// Based on the ICU63 version of
192// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
193// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
194// Also add new locales after that:
195// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
196// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
197    "curr_tree": {
198      "filterType": "language",
199      "includelist": [
200// Need to explicitly add "root"
201	"root",
202
203        "af",
204        "am",
205        "ar",
206        "az",
207        "bg",
208        "bn",
209        "ca",
210        "cs",
211        "da",
212        "de",
213        "el",
214        "en",
215        "es",
216        "et",
217        "eu",
218        "fa",
219        "fi",
220        "fil",
221        "fr",
222        "gl",
223        "gu",
224        "he",
225        "hi",
226        "hr",
227        "hu",
228        "hy",
229        "id",
230        "in",
231        "is",
232        "it",
233        "iw",
234        "ja",
235        "ka",
236        "kk",
237        "km",
238        "kn",
239        "ko",
240        "ky",
241        "lo",
242        "lt",
243        "lv",
244        "mk",
245        "ml",
246        "mn",
247        "mo",
248        "mr",
249        "ms",
250        "my",
251        "nb",
252        "ne",
253        "nl",
254        "no",
255        "pa",
256        "pl",
257        "pt",
258        "ro",
259        "ru",
260        "si",
261        "sh",
262        "sk",
263        "sl",
264        "sq",
265        "sr",
266        "sv",
267        "sw",
268        "ta",
269        "te",
270        "th",
271        "tl",
272        "tr",
273        "uk",
274        "ur",
275        "uz",
276        "vi",
277        "zh",
278        "zu"
279      ]
280    },
281// Based on the ICU63 version of
282// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
283// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
284// Also add new locales after that:
285// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
286// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
287    "coll_tree": {
288      "filterType": "union",
289      "unionOf": [
290        {
291          "includelist": [
292            "en",
293            "en_US"
294          ]
295        },
296        {
297          "filterType": "language",
298          "includelist": [
299// Need to explicitly add "root"
300    	    "root",
301
302            "af",
303            "am",
304            "ar",
305            "az",
306            "bg",
307            "bn",
308            "ca",
309            "cs",
310            "da",
311            "de",
312            "el",
313            "es",
314            "et",
315            "eu",
316            "fa",
317            "fi",
318            "fil",
319            "fr",
320            "gl",
321            "gu",
322            "he",
323            "hi",
324            "hr",
325            "hu",
326            "hy",
327            "id",
328            "in",
329            "is",
330            "it",
331            "iw",
332            "ja",
333            "ka",
334            "kk",
335            "km",
336            "kn",
337            "ko",
338            "ky",
339            "lo",
340            "lt",
341            "lv",
342            "mk",
343            "ml",
344            "mn",
345            "mo",
346            "mr",
347            "ms",
348            "my",
349            "nb",
350            "ne",
351            "nl",
352            "no",
353            "pa",
354            "pl",
355            "pt",
356            "ro",
357            "ru",
358            "sh",
359            "si",
360            "sk",
361            "sl",
362            "sq",
363            "sr",
364            "sv",
365            "sw",
366            "ta",
367            "te",
368            "th",
369            "tr",
370            "uk",
371            "ur",
372            "uz",
373            "vi",
374            "zh",
375            "zu"
376          ]
377        }
378      ]
379    },
380    "rbnf_tree": {
381      "includelist": [
382// Needed by "y=jpanyear" in locales/ja.txt for calendar="japanese"
383        "ja",
384// Needed by "d=hanidays" in locales/zh*.txt for calendar="chinese"
385        "zh"
386      ]
387    },
388// Based on the ICU63 version of
389// https://cs.chromium.org/chromium/src/third_party/icu/source/data/region/reslocal.mk?rcl=797b7c
390// Includes the items from REGION_ALIAS_SOURCE and REGION_SOURCE
391    "region_tree": {
392      "filterType": "language",
393      "includelist": [
394// Need to explicitly add "root"
395	"root",
396
397        "af",
398        "am",
399        "ar",
400        "az",
401        "bg",
402        "bn",
403        "ca",
404        "cs",
405        "da",
406        "de",
407        "el",
408        "en",
409        "es",
410        "et",
411        "eu",
412        "fa",
413        "fi",
414        "fil",
415        "fr",
416        "gl",
417        "gu",
418        "he",
419        "hi",
420        "hr",
421        "hu",
422        "hy",
423        "id",
424        "in",
425        "is",
426        "it",
427        "iw",
428        "ja",
429        "ka",
430        "kk",
431        "km",
432        "kn",
433        "ko",
434        "ky",
435        "lo",
436        "lt",
437        "lv",
438        "mk",
439        "ml",
440        "mn",
441        "mo",
442        "mr",
443        "ms",
444        "my",
445        "nb",
446        "ne",
447        "nl",
448        "no",
449        "pa",
450        "pl",
451        "pt",
452        "ro",
453        "ru",
454        "sh",
455        "si",
456        "sk",
457        "sl",
458        "sq",
459        "sr",
460        "sv",
461        "sw",
462        "ta",
463        "te",
464        "th",
465        "tl",
466        "tr",
467        "uk",
468        "ur",
469        "uz",
470        "vi",
471        "zh",
472        "zu"
473      ]
474    },
475// Based on the ICU63 version of
476// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
477    "stringprep": { "filterType": "exclude" },
478    "translit": { "filterType": "exclude" },
479// Based on the ICU63 version of
480// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
481// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
482// Also add new locales after that:
483// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
484// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
485    "unit_tree": {
486      "filterType": "language",
487      "includelist": [
488// Need to explicitly add "root"
489	"root",
490
491        "af",
492        "am",
493        "ar",
494        "az",
495        "bg",
496        "bn",
497        "ca",
498        "cs",
499        "da",
500        "de",
501        "el",
502        "en",
503        "es",
504        "et",
505        "eu",
506        "fa",
507        "fi",
508        "fil",
509        "fr",
510        "gl",
511        "gu",
512        "he",
513        "hi",
514        "hr",
515        "hu",
516        "hy",
517        "id",
518        "in",
519        "is",
520        "it",
521        "iw",
522        "ja",
523        "ka",
524        "kk",
525        "km",
526        "kn",
527        "ko",
528        "ky",
529        "lo",
530        "lt",
531        "lv",
532        "mk",
533        "ml",
534        "mn",
535        "mo",
536        "mr",
537        "ms",
538        "my",
539        "nb",
540        "ne",
541        "nl",
542        "no",
543        "pa",
544        "pl",
545        "pt",
546        "ro",
547        "ru",
548        "sh",
549        "si",
550        "sk",
551        "sl",
552        "sq",
553        "sr",
554        "sv",
555        "sw",
556        "ta",
557        "te",
558        "th",
559        "tl",
560        "tr",
561        "uk",
562        "ur",
563        "uz",
564        "vi",
565        "zh",
566        "zu"
567      ]
568    },
569// Based on the ICU63 version of
570// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
571// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
572// Also add new locales after that:
573// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
574// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
575    "zone_tree": {
576      "filterType": "language",
577      "includelist": [
578// Need to explicitly add "root"
579	"root",
580// Need to explicitly add "tzdbNames"
581	"tzdbNames",
582
583        "af",
584        "am",
585        "ar",
586        "az",
587        "bg",
588        "bn",
589        "ca",
590        "cs",
591        "da",
592        "de",
593        "el",
594        "en",
595        "es",
596        "et",
597        "eu",
598        "fa",
599        "fi",
600        "fil",
601        "fr",
602        "gl",
603        "gu",
604        "he",
605        "hi",
606        "hr",
607        "hu",
608        "hy",
609        "id",
610        "in",
611        "is",
612        "it",
613        "iw",
614        "ja",
615        "ka",
616        "kk",
617        "km",
618        "kn",
619        "ko",
620        "ky",
621        "lo",
622        "lt",
623        "lv",
624        "mk",
625        "ml",
626        "mn",
627        "mo",
628        "mr",
629        "ms",
630        "my",
631        "nb",
632        "ne",
633        "nl",
634        "no",
635        "pa",
636        "pl",
637        "pt",
638        "ro",
639        "ru",
640        "si",
641        "sh",
642        "sk",
643        "sl",
644        "sq",
645        "sr",
646        "sv",
647        "sw",
648        "ta",
649        "te",
650        "th",
651        "tl",
652        "tr",
653        "uk",
654        "ur",
655        "uz",
656        "vi",
657        "zh",
658        "zu"
659      ]
660    },
661// Based on
662// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
663    "unames": {
664      "filterType": "exclude"
665    }
666  },
667// Based on the ICU63 version of
668// https://cs.chromium.org/chromium/src/third_party/icu/scripts/trim_data.sh?rcl=797b7c
669  "resourceFilters": [
670// Based on filter_locale_data
671// # Remove entries currently not used in Chromium/V8.
672    {
673      "categories": [
674        "locales_tree"
675      ],
676      "rules": [
677        "-/*/mon",
678        "-/*/mon-short",
679        "-/*/mon-narrow",
680        "-/*/tue",
681        "-/*/tue-short",
682        "-/*/tue-narrow",
683        "-/*/wed",
684        "-/*/wed-short",
685        "-/*/wed-narrow",
686        "-/*/thu",
687        "-/*/thu-short",
688        "-/*/thu-narrow",
689        "-/*/fri",
690        "-/*/fri-short",
691        "-/*/fri-narrow",
692        "-/*/sat",
693        "-/*/sat-short",
694        "-/*/sat-narrow",
695        "-/*/sun",
696        "-/*/sun-short",
697        "-/*/sun-narrow",
698        "-/*/mon-short:alias",
699        "-/*/mon-narrow:alias",
700        "-/*/tue-short:alias",
701        "-/*/tue-narrow:alias",
702        "-/*/wed-short:alias",
703        "-/*/wed-narrow:alias",
704        "-/*/thu-short:alias",
705        "-/*/thu-narrow:alias",
706        "-/*/fri-short:alias",
707        "-/*/fri-narrow:alias",
708        "-/*/sat-short:alias",
709        "-/*/sat-narrow:alias",
710        "-/*/sun-short:alias",
711        "-/*/sun-narrow:alias",
712        "-/characterLabel",
713        "-/AuxExemplarCharacters",
714        "-/ExemplarCharacters",
715        "-/ExemplarCharactersNumbers",
716        "-/ExemplarCharactersPunctuation",
717        "-/measurementSystemNames",
718        "-/NumberElements/minimalPairs",
719        "-/delimiters"
720      ]
721    },
722// Based on filter_currency_data
723// # Keep only the currencies used by the larget 150 economies in terms of GDP.
724// # TODO(jshin): Use ucurr_isAvailable in ICU to drop more currencies.
725// # See also http://en.wikipedia.org/wiki/List_of_circulating_currencies
726    {
727      "categories": [
728        "curr_tree"
729      ],
730      "rules": [
731        "-/Currencies",
732        "-/Currencies%narrow",
733        "-/CurrencyPlurals",
734        "+/*/AED",
735// Baesd on
736// https://cs.chromium.org/chromium/src/third_party/icu/android/currencies.list?rcl=797b7c
737        "+/*/AED",
738        "+/*/AFN",
739        "+/*/ALL",
740        "+/*/AMD",
741        "+/*/ARS",
742        "+/*/AUD",
743        "+/*/AZN",
744        "+/*/BAM",
745        "+/*/BDT",
746        "+/*/BGN",
747        "+/*/BHD",
748        "+/*/BND",
749        "+/*/BRL",
750        "+/*/BYN",
751        "+/*/CAD",
752        "+/*/CHF",
753        "+/*/CLP",
754        "+/*/CNY",
755        "+/*/COP",
756        "+/*/CRC",
757        "+/*/CZK",
758        "+/*/DKK",
759        "+/*/DZD",
760        "+/*/EGP",
761        "+/*/ETB",
762        "+/*/EUR",
763        "+/*/GBP",
764        "+/*/GEL",
765        "+/*/HKD",
766        "+/*/HRK",
767        "+/*/HUF",
768        "+/*/IDR",
769        "+/*/ILS",
770        "+/*/INR",
771        "+/*/IQD",
772        "+/*/IRR",
773        "+/*/JPY",
774        "+/*/KGS",
775        "+/*/KHR",
776        "+/*/KRW",
777        "+/*/KWD",
778        "+/*/KZT",
779        "+/*/LAK",
780        "+/*/LKR",
781        "+/*/MAD",
782        "+/*/MDL",
783        "+/*/MXN",
784        "+/*/MYR",
785        "+/*/NGN",
786        "+/*/NOK",
787        "+/*/NPR",
788        "+/*/NZD",
789        "+/*/PEN",
790        "+/*/PHP",
791        "+/*/PKR",
792        "+/*/PLN",
793        "+/*/QAR",
794        "+/*/RON",
795        "+/*/RSD",
796        "+/*/RUB",
797        "+/*/SAR",
798        "+/*/SEK",
799        "+/*/SGD",
800        "+/*/THB",
801        "+/*/TJS",
802        "+/*/TRY",
803        "+/*/TWD",
804        "+/*/UAH",
805        "+/*/USD",
806        "+/*/VES",
807        "+/*/VND",
808        "+/*/XDR",
809        "+/*/ZAR",
810        "-/Currencies%formal",
811        "-/Currencies%variant"
812      ]
813    },
814// Based on filter_region_data
815// # Remove the display names for numeric region codes other than
816// # 419 (Latin America) because we don't use them.
817    {
818      "categories": [
819        "region_tree"
820      ],
821      "rules": [
822// Since the filter format is not supporting regular expression yet, we
823// create the following black list by
824// egrep " [[:digit:]][[:digit:]][[:digit:]]{" data/region/*|cut -d: -f2|cut -d{ -f1|sort -u|egrep -v "419"|cut -c9-11
825        "-/*/001",
826        "-/*/002",
827        "-/*/003",
828        "-/*/005",
829        "-/*/009",
830        "-/*/011",
831        "-/*/013",
832        "-/*/014",
833        "-/*/015",
834        "-/*/017",
835        "-/*/018",
836        "-/*/019",
837        "-/*/021",
838        "-/*/029",
839        "-/*/030",
840        "-/*/034",
841        "-/*/035",
842        "-/*/039",
843        "-/*/053",
844        "-/*/054",
845        "-/*/057",
846        "-/*/061",
847        "-/*/142",
848        "-/*/143",
849        "-/*/145",
850        "-/*/150",
851        "-/*/151",
852        "-/*/154",
853        "-/*/155",
854        "-/*/202"
855      ]
856    },
857// Based on https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
858// +# Chromium : To save space, use '-R' option (exclude collation rules. just
859// +# include the compiled binary data.)
860// +GENRBOPTS=-k -R
861    {
862      "categories": [
863        "coll_tree"
864      ],
865      "rules": [
866	"-/UCARules",
867	"-/collations/*/Sequence"
868      ]
869    },
870// The following rules must be placed below "-/collations/*/Sequence" to avoid keeping empty unihan, big5han and gb2312han
871// Based on remove_legacy_chinese_codepoint_collation
872// # big5han and gb2312han collation do not make any sense and nobody uses them.
873    {
874      "categories": [
875        "coll_tree"
876      ],
877      "files": {
878        "includelist": [
879	  "zh"
880	]
881      },
882      "rules": [
883        "-/*/unihan",
884        "-/*/big5han",
885        "-/*/gb2312han"
886      ]
887    },
888// Based on filter_unit_data
889// # Keep only duration and compound in units* sections.
890    {
891      "categories": [
892        "unit_tree"
893      ],
894      "rules": [
895        "-/units",
896        "-/unitsNarrow",
897        "-/unitsShort",
898        "+/*/*/acre",
899        "-/*/*/acre/case",
900        "-/*/*/acre/gender",
901        "+/*/*/bit",
902        "-/*/*/bit/case",
903        "-/*/*/bit/gender",
904        "+/*/*/byte",
905        "-/*/*/byte/case",
906        "-/*/*/byte/gender",
907        "+/*/*/celsius",
908        "-/*/*/celsius/case",
909        "-/*/*/celsius/gender",
910        "+/*/*/centimeter",
911        "-/*/*/centimeter/case",
912        "-/*/*/centimeter/gender",
913        "+/*/*/day",
914        "-/*/*/day/case",
915        "-/*/*/day/gender",
916        "+/*/*/degree",
917        "-/*/*/degree/case",
918        "-/*/*/degree/gender",
919        "+/*/*/fahrenheit",
920        "-/*/*/fahrenheit/case",
921        "-/*/*/fahrenheit/gender",
922        "+/*/*/fluid-ounce",
923        "-/*/*/fluid-ounce/case",
924        "-/*/*/fluid-ounce/gender",
925        "+/*/*/foot",
926        "-/*/*/foot/case",
927        "-/*/*/foot/gender",
928        "+/*/*/gallon",
929        "-/*/*/gallon/case",
930        "-/*/*/gallon/gender",
931        "+/*/*/gigabit",
932        "-/*/*/gigabit/case",
933        "-/*/*/gigabit/gender",
934        "+/*/*/gigabyte",
935        "-/*/*/gigabyte/case",
936        "-/*/*/gigabyte/gender",
937        "+/*/*/gram",
938        "-/*/*/gram/case",
939        "-/*/*/gram/gender",
940        "+/*/*/hectare",
941        "-/*/*/hectare/case",
942        "-/*/*/hectare/gender",
943        "+/*/*/hour",
944        "-/*/*/hour/case",
945        "-/*/*/hour/gender",
946        "+/*/*/inch",
947        "-/*/*/inch/case",
948        "-/*/*/inch/gender",
949        "+/*/*/kilobit",
950        "-/*/*/kilobit/case",
951        "-/*/*/kilobit/gender",
952        "+/*/*/kilobyte",
953        "-/*/*/kilobyte/case",
954        "-/*/*/kilobyte/gender",
955        "+/*/*/kilogram",
956        "-/*/*/kilogram/case",
957        "-/*/*/kilogram/gender",
958        "+/*/*/kilometer",
959        "-/*/*/kilometer/case",
960        "-/*/*/kilometer/gender",
961        "+/*/*/liter",
962        "-/*/*/liter/case",
963        "-/*/*/liter/gender",
964        "+/*/*/megabit",
965        "-/*/*/megabit/case",
966        "-/*/*/megabit/gender",
967        "+/*/*/megabyte",
968        "-/*/*/megabyte/case",
969        "-/*/*/megabyte/gender",
970        "+/*/*/meter",
971        "-/*/*/meter/case",
972        "-/*/*/meter/gender",
973        "+/*/*/mile",
974        "-/*/*/mile/case",
975        "-/*/*/mile/gender",
976        "+/*/*/mile-scandinavian",
977        "-/*/*/mile-scandinavian/case",
978        "-/*/*/mile-scandinavian/gender",
979        "+/*/*/millimeter",
980        "-/*/*/millimeter/case",
981        "-/*/*/millimeter/gender",
982        "+/*/*/milliliter",
983        "-/*/*/milliliter/case",
984        "-/*/*/milliliter/gender",
985        "+/*/*/millisecond",
986        "-/*/*/millisecond/case",
987        "-/*/*/millisecond/gender",
988        "+/*/*/minute",
989        "-/*/*/minute/case",
990        "-/*/*/minute/gender",
991        "+/*/*/month",
992        "-/*/*/month/case",
993        "-/*/*/month/gender",
994        "+/*/*/ounce",
995        "-/*/*/ounce/case",
996        "-/*/*/ounce/gender",
997        "+/*/*/percent",
998        "-/*/*/percent/case",
999        "-/*/*/percent/gender",
1000        "+/*/*/petabyte",
1001        "-/*/*/petabyte/case",
1002        "-/*/*/petabyte/gender",
1003        "+/*/*/pound",
1004        "-/*/*/pound/case",
1005        "-/*/*/pound/gender",
1006        "+/*/*/second",
1007        "-/*/*/second/case",
1008        "-/*/*/second/gender",
1009        "+/*/*/stone",
1010        "-/*/*/stone/case",
1011        "-/*/*/stone/gender",
1012        "+/*/*/terabit",
1013        "-/*/*/terabit/case",
1014        "-/*/*/terabit/gender",
1015        "+/*/*/terabyte",
1016        "-/*/*/terabyte/case",
1017        "-/*/*/terabyte/gender",
1018        "+/*/*/week",
1019        "-/*/*/week/case",
1020        "-/*/*/week/gender",
1021        "+/*/*/yard",
1022        "-/*/*/yard/case",
1023        "-/*/*/yard/gender",
1024        "+/*/*/year",
1025        "-/*/*/year/case",
1026        "-/*/*/year/gender",
1027        "+/*/*/kilometer-per-hour",
1028        "-/*/*/kilometer-per-hour/case",
1029        "-/*/*/kilometer-per-hour/gender",
1030        "+/*/*/meter-per-second",
1031        "-/*/*/meter-per-second/case",
1032        "-/*/*/meter-per-second/gender",
1033        "+/*/*/mile-per-hour",
1034        "-/*/*/mile-per-hour/case",
1035        "-/*/*/mile-per-hour/gender",
1036        "+/*/*/liter-per-kilometer",
1037        "-/*/*/liter-per-kilometer/case",
1038        "-/*/*/liter-per-kilometer/gender",
1039        "+/*/*/mile-per-gallon",
1040        "-/*/*/mile-per-gallon/case",
1041        "-/*/*/mile-per-gallon/gender",
1042        "+/*/compound/per"
1043      ]
1044    },
1045
1046// # Remove exemplar cities in timezone data.
1047    {
1048      "categories": [
1049        "zone_tree"
1050      ],
1051      "rules": [
1052        "-/zoneStrings/Africa:Abidjan",
1053        "-/zoneStrings/Africa:Accra",
1054        "-/zoneStrings/Africa:Addis_Ababa",
1055        "-/zoneStrings/Africa:Algiers",
1056        "-/zoneStrings/Africa:Asmera",
1057        "-/zoneStrings/Africa:Bamako",
1058        "-/zoneStrings/Africa:Bangui",
1059        "-/zoneStrings/Africa:Banjul",
1060        "-/zoneStrings/Africa:Bissau",
1061        "-/zoneStrings/Africa:Blantyre",
1062        "-/zoneStrings/Africa:Brazzaville",
1063        "-/zoneStrings/Africa:Bujumbura",
1064        "-/zoneStrings/Africa:Cairo",
1065        "-/zoneStrings/Africa:Casablanca",
1066        "-/zoneStrings/Africa:Ceuta",
1067        "-/zoneStrings/Africa:Conakry",
1068        "-/zoneStrings/Africa:Dakar",
1069        "-/zoneStrings/Africa:Dar_es_Salaam",
1070        "-/zoneStrings/Africa:Djibouti",
1071        "-/zoneStrings/Africa:Douala",
1072        "-/zoneStrings/Africa:El_Aaiun",
1073        "-/zoneStrings/Africa:Freetown",
1074        "-/zoneStrings/Africa:Gaborone",
1075        "-/zoneStrings/Africa:Harare",
1076        "-/zoneStrings/Africa:Johannesburg",
1077        "-/zoneStrings/Africa:Juba",
1078        "-/zoneStrings/Africa:Kampala",
1079        "-/zoneStrings/Africa:Khartoum",
1080        "-/zoneStrings/Africa:Kigali",
1081        "-/zoneStrings/Africa:Kinshasa",
1082        "-/zoneStrings/Africa:Lagos",
1083        "-/zoneStrings/Africa:Libreville",
1084        "-/zoneStrings/Africa:Lome",
1085        "-/zoneStrings/Africa:Luanda",
1086        "-/zoneStrings/Africa:Lubumbashi",
1087        "-/zoneStrings/Africa:Lusaka",
1088        "-/zoneStrings/Africa:Malabo",
1089        "-/zoneStrings/Africa:Maputo",
1090        "-/zoneStrings/Africa:Maseru",
1091        "-/zoneStrings/Africa:Mbabane",
1092        "-/zoneStrings/Africa:Mogadishu",
1093        "-/zoneStrings/Africa:Monrovia",
1094        "-/zoneStrings/Africa:Nairobi",
1095        "-/zoneStrings/Africa:Ndjamena",
1096        "-/zoneStrings/Africa:Niamey",
1097        "-/zoneStrings/Africa:Nouakchott",
1098        "-/zoneStrings/Africa:Ouagadougou",
1099        "-/zoneStrings/Africa:Porto-Novo",
1100        "-/zoneStrings/Africa:Sao_Tome",
1101        "-/zoneStrings/Africa:Tripoli",
1102        "-/zoneStrings/Africa:Tunis",
1103        "-/zoneStrings/Africa:Windhoek",
1104        "-/zoneStrings/America:Adak",
1105        "-/zoneStrings/America:Anchorage",
1106        "-/zoneStrings/America:Anguilla",
1107        "-/zoneStrings/America:Antigua",
1108        "-/zoneStrings/America:Araguaina",
1109        "-/zoneStrings/America:Argentina:La_Rioja",
1110        "-/zoneStrings/America:Argentina:Rio_Gallegos",
1111        "-/zoneStrings/America:Argentina:Salta",
1112        "-/zoneStrings/America:Argentina:San_Juan",
1113        "-/zoneStrings/America:Argentina:San_Luis",
1114        "-/zoneStrings/America:Argentina:Tucuman",
1115        "-/zoneStrings/America:Argentina:Ushuaia",
1116        "-/zoneStrings/America:Aruba",
1117        "-/zoneStrings/America:Asuncion",
1118        "-/zoneStrings/America:Bahia",
1119        "-/zoneStrings/America:Bahia_Banderas",
1120        "-/zoneStrings/America:Barbados",
1121        "-/zoneStrings/America:Belem",
1122        "-/zoneStrings/America:Belize",
1123        "-/zoneStrings/America:Blanc-Sablon",
1124        "-/zoneStrings/America:Boa_Vista",
1125        "-/zoneStrings/America:Bogota",
1126        "-/zoneStrings/America:Boise",
1127        "-/zoneStrings/America:Buenos_Aires",
1128        "-/zoneStrings/America:Cambridge_Bay",
1129        "-/zoneStrings/America:Campo_Grande",
1130        "-/zoneStrings/America:Cancun",
1131        "-/zoneStrings/America:Caracas",
1132        "-/zoneStrings/America:Catamarca",
1133        "-/zoneStrings/America:Cayenne",
1134        "-/zoneStrings/America:Cayman",
1135        "-/zoneStrings/America:Chicago",
1136        "-/zoneStrings/America:Chihuahua",
1137        "-/zoneStrings/America:Coral_Harbour",
1138        "-/zoneStrings/America:Cordoba",
1139        "-/zoneStrings/America:Costa_Rica",
1140        "-/zoneStrings/America:Creston",
1141        "-/zoneStrings/America:Cuiaba",
1142        "-/zoneStrings/America:Curacao",
1143        "-/zoneStrings/America:Danmarkshavn",
1144        "-/zoneStrings/America:Dawson",
1145        "-/zoneStrings/America:Dawson_Creek",
1146        "-/zoneStrings/America:Denver",
1147        "-/zoneStrings/America:Detroit",
1148        "-/zoneStrings/America:Dominica",
1149        "-/zoneStrings/America:Edmonton",
1150        "-/zoneStrings/America:Eirunepe",
1151        "-/zoneStrings/America:El_Salvador",
1152        "-/zoneStrings/America:Fortaleza",
1153        "-/zoneStrings/America:Fort_Nelson",
1154        "-/zoneStrings/America:Glace_Bay",
1155        "-/zoneStrings/America:Godthab",
1156        "-/zoneStrings/America:Goose_Bay",
1157        "-/zoneStrings/America:Grand_Turk",
1158        "-/zoneStrings/America:Grenada",
1159        "-/zoneStrings/America:Guadeloupe",
1160        "-/zoneStrings/America:Guatemala",
1161        "-/zoneStrings/America:Guayaquil",
1162        "-/zoneStrings/America:Guyana",
1163        "-/zoneStrings/America:Halifax",
1164        "-/zoneStrings/America:Havana",
1165        "-/zoneStrings/America:Hermosillo",
1166        "-/zoneStrings/America:Indiana:Knox",
1167        "-/zoneStrings/America:Indiana:Marengo",
1168        "-/zoneStrings/America:Indiana:Petersburg",
1169        "-/zoneStrings/America:Indianapolis",
1170        "-/zoneStrings/America:Indiana:Tell_City",
1171        "-/zoneStrings/America:Indiana:Vevay",
1172        "-/zoneStrings/America:Indiana:Vincennes",
1173        "-/zoneStrings/America:Indiana:Winamac",
1174        "-/zoneStrings/America:Inuvik",
1175        "-/zoneStrings/America:Iqaluit",
1176        "-/zoneStrings/America:Jamaica",
1177        "-/zoneStrings/America:Jujuy",
1178        "-/zoneStrings/America:Juneau",
1179        "-/zoneStrings/America:Kentucky:Monticello",
1180        "-/zoneStrings/America:Kralendijk",
1181        "-/zoneStrings/America:La_Paz",
1182        "-/zoneStrings/America:Lima",
1183        "-/zoneStrings/America:Los_Angeles",
1184        "-/zoneStrings/America:Louisville",
1185        "-/zoneStrings/America:Lower_Princes",
1186        "-/zoneStrings/America:Maceio",
1187        "-/zoneStrings/America:Managua",
1188        "-/zoneStrings/America:Manaus",
1189        "-/zoneStrings/America:Marigot",
1190        "-/zoneStrings/America:Martinique",
1191        "-/zoneStrings/America:Matamoros",
1192        "-/zoneStrings/America:Mazatlan",
1193        "-/zoneStrings/America:Mendoza",
1194        "-/zoneStrings/America:Menominee",
1195        "-/zoneStrings/America:Merida",
1196        "-/zoneStrings/America:Metlakatla",
1197        "-/zoneStrings/America:Mexico_City",
1198        "-/zoneStrings/America:Miquelon",
1199        "-/zoneStrings/America:Moncton",
1200        "-/zoneStrings/America:Monterrey",
1201        "-/zoneStrings/America:Montevideo",
1202        "-/zoneStrings/America:Montserrat",
1203        "-/zoneStrings/America:Nassau",
1204        "-/zoneStrings/America:New_York",
1205        "-/zoneStrings/America:Nipigon",
1206        "-/zoneStrings/America:Nome",
1207        "-/zoneStrings/America:Noronha",
1208        "-/zoneStrings/America:North_Dakota:Beulah",
1209        "-/zoneStrings/America:North_Dakota:Center",
1210        "-/zoneStrings/America:North_Dakota:New_Salem",
1211        "-/zoneStrings/America:Ojinaga",
1212        "-/zoneStrings/America:Panama",
1213        "-/zoneStrings/America:Pangnirtung",
1214        "-/zoneStrings/America:Paramaribo",
1215        "-/zoneStrings/America:Phoenix",
1216        "-/zoneStrings/America:Port-au-Prince",
1217        "-/zoneStrings/America:Port_of_Spain",
1218        "-/zoneStrings/America:Porto_Velho",
1219        "-/zoneStrings/America:Puerto_Rico",
1220        "-/zoneStrings/America:Punta_Arenas",
1221        "-/zoneStrings/America:Rainy_River",
1222        "-/zoneStrings/America:Rankin_Inlet",
1223        "-/zoneStrings/America:Recife",
1224        "-/zoneStrings/America:Regina",
1225        "-/zoneStrings/America:Resolute",
1226        "-/zoneStrings/America:Rio_Branco",
1227        "-/zoneStrings/America:Santa_Isabel",
1228        "-/zoneStrings/America:Santarem",
1229        "-/zoneStrings/America:Santiago",
1230        "-/zoneStrings/America:Santo_Domingo",
1231        "-/zoneStrings/America:Sao_Paulo",
1232        "-/zoneStrings/America:Scoresbysund",
1233        "-/zoneStrings/America:Sitka",
1234        "-/zoneStrings/America:St_Barthelemy",
1235        "-/zoneStrings/America:St_Johns",
1236        "-/zoneStrings/America:St_Kitts",
1237        "-/zoneStrings/America:St_Lucia",
1238        "-/zoneStrings/America:St_Thomas",
1239        "-/zoneStrings/America:St_Vincent",
1240        "-/zoneStrings/America:Swift_Current",
1241        "-/zoneStrings/America:Tegucigalpa",
1242        "-/zoneStrings/America:Thule",
1243        "-/zoneStrings/America:Thunder_Bay",
1244        "-/zoneStrings/America:Tijuana",
1245        "-/zoneStrings/America:Toronto",
1246        "-/zoneStrings/America:Tortola",
1247        "-/zoneStrings/America:Vancouver",
1248        "-/zoneStrings/America:Whitehorse",
1249        "-/zoneStrings/America:Winnipeg",
1250        "-/zoneStrings/America:Yakutat",
1251        "-/zoneStrings/America:Yellowknife",
1252        "-/zoneStrings/Antarctica:Casey",
1253        "-/zoneStrings/Antarctica:Davis",
1254        "-/zoneStrings/Antarctica:DumontDUrville",
1255        "-/zoneStrings/Antarctica:Macquarie",
1256        "-/zoneStrings/Antarctica:Mawson",
1257        "-/zoneStrings/Antarctica:McMurdo",
1258        "-/zoneStrings/Antarctica:Palmer",
1259        "-/zoneStrings/Antarctica:Rothera",
1260        "-/zoneStrings/Antarctica:Syowa",
1261        "-/zoneStrings/Antarctica:Troll",
1262        "-/zoneStrings/Antarctica:Vostok",
1263        "-/zoneStrings/Arctic:Longyearbyen",
1264        "-/zoneStrings/Asia:Aden",
1265        "-/zoneStrings/Asia:Almaty",
1266        "-/zoneStrings/Asia:Amman",
1267        "-/zoneStrings/Asia:Anadyr",
1268        "-/zoneStrings/Asia:Aqtau",
1269        "-/zoneStrings/Asia:Aqtobe",
1270        "-/zoneStrings/Asia:Ashgabat",
1271        "-/zoneStrings/Asia:Atyrau",
1272        "-/zoneStrings/Asia:Baghdad",
1273        "-/zoneStrings/Asia:Bahrain",
1274        "-/zoneStrings/Asia:Baku",
1275        "-/zoneStrings/Asia:Bangkok",
1276        "-/zoneStrings/Asia:Barnaul",
1277        "-/zoneStrings/Asia:Beirut",
1278        "-/zoneStrings/Asia:Bishkek",
1279        "-/zoneStrings/Asia:Brunei",
1280        "-/zoneStrings/Asia:Calcutta",
1281        "-/zoneStrings/Asia:Chita",
1282        "-/zoneStrings/Asia:Choibalsan",
1283        "-/zoneStrings/Asia:Colombo",
1284        "-/zoneStrings/Asia:Damascus",
1285        "-/zoneStrings/Asia:Dhaka",
1286        "-/zoneStrings/Asia:Dili",
1287        "-/zoneStrings/Asia:Dubai",
1288        "-/zoneStrings/Asia:Dushanbe",
1289        "-/zoneStrings/Asia:Famagusta",
1290        "-/zoneStrings/Asia:Gaza",
1291        "-/zoneStrings/Asia:Hebron",
1292        "-/zoneStrings/Asia:Hong_Kong",
1293        "-/zoneStrings/Asia:Hovd",
1294        "-/zoneStrings/Asia:Irkutsk",
1295        "-/zoneStrings/Asia:Jakarta",
1296        "-/zoneStrings/Asia:Jayapura",
1297        "-/zoneStrings/Asia:Jerusalem",
1298        "-/zoneStrings/Asia:Kabul",
1299        "-/zoneStrings/Asia:Kamchatka",
1300        "-/zoneStrings/Asia:Karachi",
1301        "-/zoneStrings/Asia:Katmandu",
1302        "-/zoneStrings/Asia:Khandyga",
1303        "-/zoneStrings/Asia:Krasnoyarsk",
1304        "-/zoneStrings/Asia:Kuala_Lumpur",
1305        "-/zoneStrings/Asia:Kuching",
1306        "-/zoneStrings/Asia:Kuwait",
1307        "-/zoneStrings/Asia:Macau",
1308        "-/zoneStrings/Asia:Magadan",
1309        "-/zoneStrings/Asia:Makassar",
1310        "-/zoneStrings/Asia:Manila",
1311        "-/zoneStrings/Asia:Muscat",
1312        "-/zoneStrings/Asia:Nicosia",
1313        "-/zoneStrings/Asia:Novokuznetsk",
1314        "-/zoneStrings/Asia:Novosibirsk",
1315        "-/zoneStrings/Asia:Omsk",
1316        "-/zoneStrings/Asia:Oral",
1317        "-/zoneStrings/Asia:Phnom_Penh",
1318        "-/zoneStrings/Asia:Pontianak",
1319        "-/zoneStrings/Asia:Pyongyang",
1320        "-/zoneStrings/Asia:Qatar",
1321        "-/zoneStrings/Asia:Qostanay",
1322        "-/zoneStrings/Asia:Qyzylorda",
1323        "-/zoneStrings/Asia:Rangoon",
1324        "-/zoneStrings/Asia:Riyadh",
1325        "-/zoneStrings/Asia:Saigon",
1326        "-/zoneStrings/Asia:Sakhalin",
1327        "-/zoneStrings/Asia:Samarkand",
1328        "-/zoneStrings/Asia:Seoul",
1329        "-/zoneStrings/Asia:Shanghai",
1330        "-/zoneStrings/Asia:Singapore",
1331        "-/zoneStrings/Asia:Srednekolymsk",
1332        "-/zoneStrings/Asia:Taipei",
1333        "-/zoneStrings/Asia:Tashkent",
1334        "-/zoneStrings/Asia:Tbilisi",
1335        "-/zoneStrings/Asia:Tehran",
1336        "-/zoneStrings/Asia:Thimphu",
1337        "-/zoneStrings/Asia:Tokyo",
1338        "-/zoneStrings/Asia:Tomsk",
1339        "-/zoneStrings/Asia:Ulaanbaatar",
1340        "-/zoneStrings/Asia:Urumqi",
1341        "-/zoneStrings/Asia:Ust-Nera",
1342        "-/zoneStrings/Asia:Vientiane",
1343        "-/zoneStrings/Asia:Vladivostok",
1344        "-/zoneStrings/Asia:Yakutsk",
1345        "-/zoneStrings/Asia:Yekaterinburg",
1346        "-/zoneStrings/Asia:Yerevan",
1347        "-/zoneStrings/Atlantic:Azores",
1348        "-/zoneStrings/Atlantic:Bermuda",
1349        "-/zoneStrings/Atlantic:Canary",
1350        "-/zoneStrings/Atlantic:Cape_Verde",
1351        "-/zoneStrings/Atlantic:Faeroe",
1352        "-/zoneStrings/Atlantic:Madeira",
1353        "-/zoneStrings/Atlantic:Reykjavik",
1354        "-/zoneStrings/Atlantic:South_Georgia",
1355        "-/zoneStrings/Atlantic:Stanley",
1356        "-/zoneStrings/Atlantic:St_Helena",
1357        "-/zoneStrings/Australia:Adelaide",
1358        "-/zoneStrings/Australia:Brisbane",
1359        "-/zoneStrings/Australia:Broken_Hill",
1360        "-/zoneStrings/Australia:Currie",
1361        "-/zoneStrings/Australia:Darwin",
1362        "-/zoneStrings/Australia:Eucla",
1363        "-/zoneStrings/Australia:Hobart",
1364        "-/zoneStrings/Australia:Lindeman",
1365        "-/zoneStrings/Australia:Lord_Howe",
1366        "-/zoneStrings/Australia:Melbourne",
1367        "-/zoneStrings/Australia:Perth",
1368        "-/zoneStrings/Australia:Sydney",
1369        "-/zoneStrings/Etc:Unknown",
1370        "-/zoneStrings/Etc:UTC/ec",
1371        "-/zoneStrings/Europe:Amsterdam",
1372        "-/zoneStrings/Europe:Andorra",
1373        "-/zoneStrings/Europe:Astrakhan",
1374        "-/zoneStrings/Europe:Athens",
1375        "-/zoneStrings/Europe:Belgrade",
1376        "-/zoneStrings/Europe:Berlin",
1377        "-/zoneStrings/Europe:Bratislava",
1378        "-/zoneStrings/Europe:Brussels",
1379        "-/zoneStrings/Europe:Bucharest",
1380        "-/zoneStrings/Europe:Budapest",
1381        "-/zoneStrings/Europe:Busingen",
1382        "-/zoneStrings/Europe:Chisinau",
1383        "-/zoneStrings/Europe:Copenhagen",
1384        "-/zoneStrings/Europe:Dublin/ec",
1385        "-/zoneStrings/Europe:Gibraltar",
1386        "-/zoneStrings/Europe:Guernsey",
1387        "-/zoneStrings/Europe:Helsinki",
1388        "-/zoneStrings/Europe:Isle_of_Man",
1389        "-/zoneStrings/Europe:Istanbul",
1390        "-/zoneStrings/Europe:Jersey",
1391        "-/zoneStrings/Europe:Kaliningrad",
1392        "-/zoneStrings/Europe:Kiev",
1393        "-/zoneStrings/Europe:Kirov",
1394        "-/zoneStrings/Europe:Lisbon",
1395        "-/zoneStrings/Europe:Ljubljana",
1396        "-/zoneStrings/Europe:London/ec",
1397        "-/zoneStrings/Europe:Luxembourg",
1398        "-/zoneStrings/Europe:Madrid",
1399        "-/zoneStrings/Europe:Malta",
1400        "-/zoneStrings/Europe:Mariehamn",
1401        "-/zoneStrings/Europe:Minsk",
1402        "-/zoneStrings/Europe:Monaco",
1403        "-/zoneStrings/Europe:Moscow",
1404        "-/zoneStrings/Europe:Oslo",
1405        "-/zoneStrings/Europe:Paris",
1406        "-/zoneStrings/Europe:Podgorica",
1407        "-/zoneStrings/Europe:Prague",
1408        "-/zoneStrings/Europe:Riga",
1409        "-/zoneStrings/Europe:Rome",
1410        "-/zoneStrings/Europe:Samara",
1411        "-/zoneStrings/Europe:San_Marino",
1412        "-/zoneStrings/Europe:Sarajevo",
1413        "-/zoneStrings/Europe:Saratov",
1414        "-/zoneStrings/Europe:Simferopol",
1415        "-/zoneStrings/Europe:Skopje",
1416        "-/zoneStrings/Europe:Sofia",
1417        "-/zoneStrings/Europe:Stockholm",
1418        "-/zoneStrings/Europe:Tallinn",
1419        "-/zoneStrings/Europe:Tirane",
1420        "-/zoneStrings/Europe:Ulyanovsk",
1421        "-/zoneStrings/Europe:Uzhgorod",
1422        "-/zoneStrings/Europe:Vaduz",
1423        "-/zoneStrings/Europe:Vatican",
1424        "-/zoneStrings/Europe:Vienna",
1425        "-/zoneStrings/Europe:Vilnius",
1426        "-/zoneStrings/Europe:Volgograd",
1427        "-/zoneStrings/Europe:Warsaw",
1428        "-/zoneStrings/Europe:Zagreb",
1429        "-/zoneStrings/Europe:Zaporozhye",
1430        "-/zoneStrings/Europe:Zurich",
1431        "-/zoneStrings/Indian:Antananarivo",
1432        "-/zoneStrings/Indian:Chagos",
1433        "-/zoneStrings/Indian:Christmas",
1434        "-/zoneStrings/Indian:Cocos",
1435        "-/zoneStrings/Indian:Comoro",
1436        "-/zoneStrings/Indian:Kerguelen",
1437        "-/zoneStrings/Indian:Mahe",
1438        "-/zoneStrings/Indian:Maldives",
1439        "-/zoneStrings/Indian:Mauritius",
1440        "-/zoneStrings/Indian:Mayotte",
1441        "-/zoneStrings/Indian:Reunion",
1442        "-/zoneStrings/Pacific:Apia",
1443        "-/zoneStrings/Pacific:Auckland",
1444        "-/zoneStrings/Pacific:Bougainville",
1445        "-/zoneStrings/Pacific:Chatham",
1446        "-/zoneStrings/Pacific:Easter",
1447        "-/zoneStrings/Pacific:Efate",
1448        "-/zoneStrings/Pacific:Enderbury",
1449        "-/zoneStrings/Pacific:Fakaofo",
1450        "-/zoneStrings/Pacific:Fiji",
1451        "-/zoneStrings/Pacific:Funafuti",
1452        "-/zoneStrings/Pacific:Galapagos",
1453        "-/zoneStrings/Pacific:Gambier",
1454        "-/zoneStrings/Pacific:Guadalcanal",
1455        "-/zoneStrings/Pacific:Guam",
1456        "-/zoneStrings/Pacific:Honolulu/ec",
1457        "-/zoneStrings/Pacific:Johnston",
1458        "-/zoneStrings/Pacific:Kiritimati",
1459        "-/zoneStrings/Pacific:Kosrae",
1460        "-/zoneStrings/Pacific:Kwajalein",
1461        "-/zoneStrings/Pacific:Majuro",
1462        "-/zoneStrings/Pacific:Marquesas",
1463        "-/zoneStrings/Pacific:Midway",
1464        "-/zoneStrings/Pacific:Nauru",
1465        "-/zoneStrings/Pacific:Niue",
1466        "-/zoneStrings/Pacific:Norfolk",
1467        "-/zoneStrings/Pacific:Noumea",
1468        "-/zoneStrings/Pacific:Pago_Pago",
1469        "-/zoneStrings/Pacific:Palau",
1470        "-/zoneStrings/Pacific:Pitcairn",
1471        "-/zoneStrings/Pacific:Ponape",
1472        "-/zoneStrings/Pacific:Port_Moresby",
1473        "-/zoneStrings/Pacific:Rarotonga",
1474        "-/zoneStrings/Pacific:Saipan",
1475        "-/zoneStrings/Pacific:Tahiti",
1476        "-/zoneStrings/Pacific:Tarawa",
1477        "-/zoneStrings/Pacific:Tongatapu",
1478        "-/zoneStrings/Pacific:Truk",
1479        "-/zoneStrings/Pacific:Wake",
1480        "-/zoneStrings/Pacific:Wallis"
1481      ]
1482    },
1483// Based on
1484// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
1485// # Keep only two common calendars. Add locale-specific calendars only to
1486// # locales that are likely to use them most.
1487    {
1488      "categories": [
1489        "locales_tree"
1490      ],
1491      "files": {
1492        "includelist": [
1493	  "th"
1494	]
1495      },
1496      "rules": [
1497        "-/calendar/*",
1498        "+/calendar/default",
1499        "+/calendar/gregorian",
1500        "+/calendar/generic",
1501        "+/calendar/buddhist"
1502      ]
1503    },
1504    {
1505      "categories": [
1506        "locales_tree"
1507      ],
1508      "files": {
1509        "includelist": [
1510	  "zh"
1511	]
1512      },
1513      "rules": [
1514        "-/calendar/*",
1515        "+/calendar/default",
1516        "+/calendar/gregorian",
1517        "+/calendar/generic",
1518        "+/calendar/chinese"
1519      ]
1520    },
1521    {
1522      "categories": [
1523        "locales_tree"
1524      ],
1525      "files": {
1526        "includelist": [
1527	  "ko"
1528	]
1529      },
1530      "rules": [
1531        "-/calendar/*",
1532        "+/calendar/default",
1533        "+/calendar/gregorian",
1534        "+/calendar/generic",
1535        "+/calendar/dangi"
1536      ]
1537    },
1538    {
1539      "categories": [
1540        "locales_tree"
1541      ],
1542      "files": {
1543        "includelist": [
1544	  "am"
1545	]
1546      },
1547      "rules": [
1548        "-/calendar/*",
1549        "+/calendar/default",
1550        "+/calendar/gregorian",
1551        "+/calendar/generic",
1552        "+/calendar/ethiopic",
1553        "+/calendar/ethiopic-amete-alem"
1554      ]
1555    },
1556    {
1557      "categories": [
1558        "locales_tree"
1559      ],
1560      "files": {
1561        "includelist": [
1562	  "he"
1563	]
1564      },
1565      "rules": [
1566        "-/calendar/*",
1567        "+/calendar/default",
1568        "+/calendar/gregorian",
1569        "+/calendar/generic",
1570        "+/calendar/hebrew"
1571      ]
1572    },
1573    {
1574      "categories": [
1575        "locales_tree"
1576      ],
1577      "files": {
1578        "includelist": [
1579	  "ar"
1580	]
1581      },
1582      "rules": [
1583        "-/calendar/*",
1584        "+/calendar/default",
1585        "+/calendar/gregorian",
1586        "+/calendar/generic",
1587//       # Other Islamic calendar formats are not in locales other than root.
1588//       # ar-SA's default is islamic-umalqura, but its format entries are
1589//       # specified in root via aliases.
1590        "+/calendar/islamic"
1591      ]
1592    },
1593    {
1594      "categories": [
1595        "locales_tree"
1596      ],
1597      "files": {
1598        "includelist": [
1599	  "fa"
1600	]
1601      },
1602      "rules": [
1603        "-/calendar/*",
1604        "+/calendar/default",
1605        "+/calendar/gregorian",
1606        "+/calendar/generic",
1607        "+/calendar/persian",
1608        "+/calendar/islamic"
1609      ]
1610    },
1611    {
1612      "categories": [
1613        "locales_tree"
1614      ],
1615      "files": {
1616        "includelist": [
1617	  "ja"
1618	]
1619      },
1620      "rules": [
1621        "-/calendar/*",
1622        "+/calendar/default",
1623        "+/calendar/gregorian",
1624        "+/calendar/generic",
1625        "+/calendar/japanese"
1626      ]
1627    },
1628    {
1629      "categories": [
1630        "locales_tree"
1631      ],
1632      "files": {
1633        "includelist": [
1634//     # When adding other Indian locales for Android,
1635//     # add 'indian' calendar to them as well.
1636	  "hi"
1637	]
1638      },
1639      "rules": [
1640        "-/calendar/*",
1641        "+/calendar/default",
1642        "+/calendar/gregorian",
1643        "+/calendar/generic",
1644        "+/calendar/indian"
1645      ]
1646    },
1647    {
1648      "categories": [
1649        "locales_tree"
1650      ],
1651      "files": {
1652        "includelist": [
1653	  "zh_Hant"
1654	]
1655      },
1656      "rules": [
1657        "-/calendar/*",
1658        "+/calendar/default",
1659        "+/calendar/gregorian",
1660        "+/calendar/generic",
1661        "+/calendar/roc"
1662      ]
1663    },
1664    {
1665      "categories": [
1666        "locales_tree"
1667      ],
1668      "files": {
1669        "includelist": [
1670	  "root"
1671	]
1672      },
1673      "rules": [
1674        "-/calendar/*",
1675        "+/calendar/default",
1676        "+/calendar/gregorian",
1677        "+/calendar/generic",
1678        "+/calendar/buddhist",
1679        "+/calendar/chinese",
1680        "+/calendar/roc",
1681        "+/calendar/dangi",
1682        "+/calendar/ethiopic",
1683        "+/calendar/ethiopic-amete-alem",
1684        "+/calendar/japanese",
1685        "+/calendar/hebrew",
1686        "+/calendar/islamic",
1687        "+/calendar/islamic-umalqura",
1688        "+/calendar/islamic-civil",
1689        "+/calendar/islamic-tbla",
1690        "+/calendar/islamic-rgsa",
1691        "+/calendar/persian",
1692        "+/calendar/indian",
1693// # Delete Japanese era display names in root. 'ja' has Japanese era names
1694// # so that root does not need them.
1695// # The same is true of eras and monthNames for Islamic calendar.
1696        "-/calendar/japanese/eras",
1697        "-/calendar/islamic/eras",
1698        "-/calendar/islamic/monthNames"
1699      ]
1700    },
1701    {
1702      "categories": [
1703        "locales_tree"
1704      ],
1705      "files": {
1706        "excludelist": [
1707	  "root",
1708
1709          "am",
1710          "ar",
1711          "fa",
1712          "he",
1713          "hi",
1714          "ja",
1715          "ko",
1716          "th",
1717          "zh",
1718          "zh_Hant"
1719	]
1720      },
1721      "rules": [
1722        "-/calendar/*",
1723        "+/calendar/default",
1724        "+/calendar/gregorian",
1725        "+/calendar/generic"
1726      ]
1727    },
1728// Based on abridge_locale_data_for_non_ui_languages
1729// # Keep only the minimum locale data for non-UI languages.
1730    {
1731      "categories": [
1732        "locales_tree"
1733      ],
1734      "files": {
1735        "filterType": "language",
1736        "includelist": [
1737// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
1738          "ach",
1739          "ak",
1740          "an",
1741          "ast",
1742          "ban",
1743          "be",
1744          "bem",
1745          "bh",
1746          "br",
1747          "bs",
1748          "ccp",
1749          "ceb",
1750          "chr",
1751          "ckb",
1752          "co",
1753          "crs",
1754          "cy",
1755          "ee",
1756          "eo",
1757          "fo",
1758          "fy",
1759          "ga",
1760          "gaa",
1761          "gd",
1762          "gn",
1763          "ha",
1764          "haw",
1765          "hmn",
1766          "ht",
1767          "ia",
1768          "ig",
1769          "jv",
1770          "jw",
1771          "kg",
1772          "kri",
1773          "ku",
1774          "la",
1775          "lb",
1776          "lg",
1777          "ln",
1778          "loz",
1779          "lua",
1780          "mfe",
1781          "mg",
1782          "mi",
1783          "mt",
1784          "nn",
1785          "nso",
1786          "ny",
1787          "nyn",
1788          "oc",
1789          "om",
1790          "or",
1791          "osa",
1792          "pcm",
1793          "ps",
1794          "qu",
1795          "rm",
1796          "rn",
1797          "rw",
1798          "sd",
1799          "sm",
1800          "sn",
1801          "so",
1802          "st",
1803          "su",
1804          "tg",
1805          "ti",
1806          "tk",
1807          "tn",
1808          "to",
1809          "tt",
1810          "tum",
1811          "tw",
1812          "ug",
1813          "wa",
1814          "wo",
1815          "xh",
1816          "xx",
1817          "yi",
1818          "yo"
1819	]
1820      },
1821      "rules": [
1822        "-/*",
1823        "+/%%ALIAS",
1824        "+/%%Parent",
1825        "+/LocaleScript",
1826        "+/layout",
1827        "+/Version"
1828      ]
1829    },
1830// Based on
1831// https://cs.chromium.org/chromium/src/third_party/icu/android/patch_locale.sh?rcl=797b7c
1832// # On Android Java API is used to get lang data, except for the language and
1833// # script names for zh_Hans and zh_Hant which are not supported by Java API.
1834// # Here remove all lang data except those names.
1835// # See the comments in GetDisplayNameForLocale() (in Chromium's
1836// # src/ui/base/l10n/l10n_util.cc) about why we need the scripts.
1837    {
1838      "categories": [
1839        "lang_tree"
1840      ],
1841      "rules": [
1842        "-/Keys",
1843        "-/Languages",
1844        "-/Languages%long",
1845        "-/Languages%short",
1846        "-/Languages%menu",
1847        "-/Languages%variant",
1848        "-/Scripts",
1849        "-/Scripts%long",
1850        "-/Scripts%short",
1851        "-/Scripts%variant",
1852        "-/Scripts%stand-alone",
1853        "-/Types",
1854        "-/Types%short",
1855        "-/Variants",
1856        "-/calendar",
1857        "-/characterLabelPattern",
1858        "-/codePatterns",
1859        "-/localeDisplayPattern",
1860        "+/Languages/zh",
1861        "+/Languages%long/zh",
1862        "+/Languages%short/zh",
1863        "+/Languages%variant/zh",
1864        "+/Scripts/Hans",
1865        "+/Scripts%long/Hans",
1866        "+/Scripts%short/Hans",
1867        "+/Scripts%variant/Hans",
1868        "+/Scripts%stand-alone/Hans",
1869        "+/Scripts/Hant",
1870        "+/Scripts%long/Hant",
1871        "+/Scripts%short/Hant",
1872        "+/Scripts%variant/Hant",
1873        "+/Scripts%stand-alone/Hant",
1874        "+/Types/calendar"
1875      ]
1876    },
1877    {
1878      "categories": [
1879        "misc"
1880      ],
1881      "files": {
1882        "includelist": [
1883          "grammaticalFeatures"
1884        ]
1885      },
1886      "rules": [
1887        "-/*",
1888        "+/grammaticalData/derivations/*/compound/gender/per"
1889      ]
1890    },
1891    {
1892      "categories": [
1893        "misc"
1894      ],
1895      "files": {
1896        "includelist": [
1897          "supplementalData"
1898	]
1899      },
1900      "rules": [
1901        "-/*",
1902        "+/calendarData",
1903        "+/calendarPreferenceData",
1904        "+/cldrVersion",
1905        "+/codeMappings",
1906        "+/idValidity",
1907        "+/measurementData",
1908        "+/territoryContainment",
1909        "+/timeData",
1910        "+/weekData",
1911        "+/weekData%variant"
1912      ]
1913    },
1914// Remove all the Version
1915    {
1916      "categories": [
1917        "brkitr_tree",
1918        "coll_tree",
1919        "curr_tree",
1920        "lang_tree",
1921        "region_tree",
1922        "unit_tree",
1923        "zone_tree"
1924      ],
1925      "rules": [
1926        "-/Version"
1927      ]
1928    }
1929  ]
1930}
1931