﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/root.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/root.xml
 */
root{
    Currencies{
        AUD{
            "A$",
            "AUD",
        }
        BRL{
            "R$",
            "BRL",
        }
        CAD{
            "CA$",
            "CAD",
        }
        CNY{
            "CN¥",
            "CNY",
        }
        EUR{
            "€",
            "EUR",
        }
        GBP{
            "£",
            "GBP",
        }
        HKD{
            "HK$",
            "HKD",
        }
        ILS{
            "₪",
            "ILS",
        }
        INR{
            "₹",
            "INR",
        }
        JPY{
            "JP¥",
            "JPY",
        }
        KRW{
            "₩",
            "KRW",
        }
        MXN{
            "MX$",
            "MXN",
        }
        NZD{
            "NZ$",
            "NZD",
        }
        TWD{
            "NT$",
            "TWD",
        }
        USD{
            "US$",
            "USD",
        }
        VND{
            "₫",
            "VND",
        }
        XAF{
            "FCFA",
            "XAF",
        }
        XCD{
            "EC$",
            "XCD",
        }
        XOF{
            "CFA",
            "XOF",
        }
        XPF{
            "CFPF",
            "XPF",
        }
    }
    Currencies%narrow{
        AOA{"Kz"}
        ARS{"$"}
        AUD{"$"}
        BAM{"KM"}
        BBD{"$"}
        BDT{"৳"}
        BMD{"$"}
        BND{"$"}
        BOB{"Bs"}
        BRL{"R$"}
        BSD{"$"}
        BWP{"P"}
        BYR{"р."}
        BZD{"$"}
        CAD{"$"}
        CLP{"$"}
        CNY{"¥"}
        COP{"$"}
        CRC{"₡"}
        CUC{"$"}
        CUP{"$"}
        CZK{"Kč"}
        DKK{"kr"}
        DOP{"$"}
        EGP{"E£"}
        ESP{"₧"}
        EUR{"€"}
        FJD{"$"}
        FKP{"£"}
        GBP{"£"}
        GEL{"₾"}
        GIP{"£"}
        GNF{"FG"}
        GTQ{"Q"}
        GYD{"$"}
        HKD{"$"}
        HNL{"L"}
        HRK{"kn"}
        HUF{"Ft"}
        IDR{"Rp"}
        ILS{"₪"}
        INR{"₹"}
        ISK{"kr"}
        JMD{"$"}
        JPY{"¥"}
        KHR{"៛"}
        KMF{"CF"}
        KPW{"₩"}
        KRW{"₩"}
        KYD{"$"}
        KZT{"₸"}
        LAK{"₭"}
        LBP{"L£"}
        LKR{"Rs"}
        LRD{"$"}
        LTL{"Lt"}
        LVL{"Ls"}
        MGA{"Ar"}
        MMK{"K"}
        MNT{"₮"}
        MUR{"Rs"}
        MXN{"$"}
        MYR{"RM"}
        NAD{"$"}
        NGN{"₦"}
        NIO{"C$"}
        NOK{"kr"}
        NPR{"Rs"}
        NZD{"$"}
        PHP{"₱"}
        PKR{"Rs"}
        PLN{"zł"}
        PYG{"₲"}
        RUB{"₽"}
        RUR{"р."}
        RWF{"RF"}
        SBD{"$"}
        SEK{"kr"}
        SGD{"$"}
        SHP{"£"}
        SRD{"$"}
        SSP{"£"}
        STD{"Db"}
        SYP{"£"}
        THB{"฿"}
        TOP{"T$"}
        TRY{"₺"}
        TTD{"$"}
        TWD{"$"}
        UAH{"₴"}
        USD{"$"}
        UYU{"$"}
        VEF{"Bs"}
        VND{"₫"}
        XCD{"$"}
        ZAR{"R"}
        ZMW{"ZK"}
    }
    Currencies%variant{
        TRY{"TL"}
    }
    CurrencyUnitPatterns{
        other{"{0} {1}"}
    }
    Version{"2.1.22.93"}
    currencySpacing{
        afterCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
        beforeCurrency{
            currencyMatch{"[:^S:]"}
            insertBetween{" "}
            surroundingMatch{"[:digit:]"}
        }
    }
}
