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

/**
 * Test data for numeric formatting from a large set of locales.
 *
 * DO NOT EDIT. This file is autogenerated from ICU data.
 * File generated from CLDR ver. 25.0
 */

library number_test_data;

var numberTestData = const [
    "af",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "am",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "ar",
    r"١٢٣",
    r"‏-١٢٫٣",
    r"١٢٬٣٠٠٪",
    r"‏-١٬٢٣٠٪",
    "az",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "bg",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "bn",
    r"১২৩",
    r"-১২.৩",
    r"১২,৩০০%",
    r"-১,২৩০%",
    "br",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "ca",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "chr",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "cs",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "cy",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "da",
    r"123",
    r"-12,3",
    r"12.300 %",
    r"-1.230 %",
    "de",
    r"123",
    r"-12,3",
    r"12.300 %",
    r"-1.230 %",
    "de_AT",
    r"123",
    r"-12,3",
    r"12.300 %",
    r"-1.230 %",
    "de_CH",
    r"123",
    r"-12.3",
    r"12'300 %",
    r"-1'230 %",
    "el",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "en",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_AU",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_GB",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_IE",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_IN",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_SG",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_US",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "en_ZA",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "es",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "es_419",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "es_ES",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "et",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "eu",
    r"123",
    r"-12,3",
    r"% 12.300",
    r"-% 1.230",
    "fa",
    r"۱۲۳",
    r"‎−۱۲٫۳",
    r"۱۲٬۳۰۰٪",
    r"‎−۱٬۲۳۰٪",
    "fi",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "fil",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "fr",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "fr_CA",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "gl",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "gsw",
    r"123",
    r"−12.3",
    r"12’300 %",
    r"−1’230 %",
    "gu",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "haw",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "he",
    r"123",
    r"‎-12.3",
    r"12,300%",
    r"‎-1,230%",
    "hi",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "hr",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "hu",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "hy",
    r"123",
    r"-12,3",
    r"12300%",
    r"-1230%",
    "id",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "in",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "is",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "it",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "iw",
    r"123",
    r"‎-12.3",
    r"12,300%",
    r"‎-1,230%",
    "ja",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "ka",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "kk",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "km",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "kn",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "ko",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "ky",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "ln",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "lo",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "lt",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "lv",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "mk",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "ml",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "mn",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "mr",
    r"१२३",
    r"-१२.३",
    r"१२,३००%",
    r"-१,२३०%",
    "ms",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "mt",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "my",
    r"၁၂၃",
    r"-၁၂.၃",
    r"၁၂,၃၀၀%",
    r"-၁,၂၃၀%",
    "nb",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "ne",
    r"१२३",
    r"-१२.३",
    r"१२,३००%",
    r"-१,२३०%",
    "nl",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "no",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "no_NO",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "or",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "pa",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "pl",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "pt",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "pt_BR",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "pt_PT",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "ro",
    r"123",
    r"-12,3",
    r"12.300 %",
    r"-1.230 %",
    "ru",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "si",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "sk",
    r"123",
    r"-12,3",
    r"12 300 %",
    r"-1 230 %",
    "sl",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "sq",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "sr",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "sv",
    r"123",
    r"−12,3",
    r"12 300 %",
    r"−1 230 %",
    "sw",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "ta",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "te",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "th",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "tl",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "tr",
    r"123",
    r"-12,3",
    r"%12.300",
    r"-%1.230",
    "uk",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "ur",
    r"123",
    r"‎-12.3",
    r"12,300%",
    r"‎-1,230%",
    "uz",
    r"123",
    r"-12,3",
    r"12 300%",
    r"-1 230%",
    "vi",
    r"123",
    r"-12,3",
    r"12.300%",
    r"-1.230%",
    "zh",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "zh_CN",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "zh_HK",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "zh_TW",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "zu",
    r"123",
    r"-12.3",
    r"12,300%",
    r"-1,230%",
    "END"];