# Do not edit - generated from Unicode CLDR data
#   main/ms_BN.xml - r4178 2009-06-14 23:46:26 -0400 (Sun, 14 Jun 2009)
#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag
# If a symbol is not supplied, the currency code will be used
# If # of decimal digits is omitted, 2 is used
# If a currency is not generally used, not-used-flag=1
# Trailing empty fields can be omitted

ADP = ADP||0|1
AED = AED
AFA = AFA|||1
AFN = AFN|Af|0
ALL = ALL||0
AMD = AMD||0
ANG = ANG|NAf.
AOA = AOA|Kz
AOK = AOK|||1
AON = AON|||1
AOR = AOR|||1
ARA = ARA|₳||1
ARL = ARL|$L||1
ARM = ARM|m$n||1
ARP = ARP|||1
ARS = ARS|AR$
ATS = ATS|||1
AUD = AUD|AU$
AWG = AWG|Afl.
AZM = AZM|||1
AZN = AZN|man.
BAD = BAD|||1
BAM = BAM|KM
BBD = BBD|Bds$
BDT = BDT|Tk
BEC = BEC
BEF = BEF|BF||1
BEL = BEL
BGL = BGL|||1
BGN = BGN
BHD = BHD|BD|3
BIF = BIF|FBu|0
BMD = BMD|BD$
BND = BND|$
BOB = BOB|Bs
BOP = BOP|$b.||1
BOV = BOV
BRB = BRB|||1
BRC = BRC|||1
BRE = BRE|||1
BRL = BRL|R$
BRN = BRN|||1
BRR = BRR|||1
BSD = BSD|BS$
BTN = BTN|Nu.
BUK = BUK|||1
BWP = BWP
BYB = BYB|||1
BYR = BYR||0
BZD = BZD|BZ$
CAD = CAD|CA$
CDF = CDF
CHE = CHE
CHF = CHF|Fr.
CHW = CHW
CLE = CLE|Eº||1
CLF = CLF||0
CLP = CLP|CL$|0
CNY = CNY|CN¥
COP = COP|CO$|0
COU = COU
CRC = CRC|₡|0
CSD = CSD|||1
CSK = CSK|||1
CUC = CUC|CUC$
CUP = CUP|CU$
CVE = CVE|CV$
CYP = CYP|CY£||1
CZK = CZK|Kč
DDM = DDM|||1
DEM = DEM|DM||1
DJF = DJF|Fdj|0
DKK = DKK|Dkr
DOP = DOP|RD$
DZD = DZD|DA
ECS = ECS|||1
ECV = ECV
EEK = EEK|Ekr
EGP = EGP|EG£
EQE = EQE|||1
ERN = ERN|Nfk
ESA = ESA
ESB = ESB
ESP = ESP|Pts|0|1
ETB = ETB|Br
EUR = EUR|€
FIM = FIM|mk||1
FJD = FJD|FJ$
FKP = FKP|FK£
FRF = FRF|₣||1
GBP = GBP|£
GEK = GEK|||1
GEL = GEL
GHC = GHC|₵||1
GHS = GHS|GH₵
GIP = GIP|GI£
GMD = GMD
GNF = GNF|FG|0
GNS = GNS|||1
GQE = GQE|||1
GRD = GRD|₯||1
GTQ = GTQ
GWE = GWE|||1
GWP = GWP
GYD = GYD|GY$|0
HKD = HKD|HK$
HNL = HNL
HRD = HRD|||1
HRK = HRK|kn
HTG = HTG
HUF = HUF|Ft|0
IDR = IDR|Rp|0
IEP = IEP|IR£||1
ILP = ILP|I£||1
ILS = ILS|₪
INR = INR|Rs
IQD = IQD||0
IRR = IRR||0
ISK = ISK|Ikr|0
ITL = ITL|IT₤|0|1
JMD = JMD|J$
JOD = JOD|JD|3
JPY = JPY|JP¥|0
KES = KES|Ksh
KGS = KGS
KHR = KHR
KMF = KMF|CF|0
KPW = KPW||0
KRW = KRW|₩|0
KWD = KWD|KD|3
KYD = KYD|KY$
KZT = KZT
LAK = LAK|₭|0
LBP = LBP|LB£|0
LKR = LKR|SLRs
LRD = LRD|L$
LSL = LSL
LSM = LSM|||1
LTL = LTL|Lt
LTT = LTT|||1
LUC = LUC
LUF = LUF||0|1
LUL = LUL
LVL = LVL|Ls
LVR = LVR|||1
LYD = LYD|LD|3
MAD = MAD
MAF = MAF|||1
MDL = MDL
MGA = MGA||0
MGF = MGF||0|1
MKD = MKD
MLF = MLF|||1
MMK = MMK||0
MNT = MNT|₮|0
MOP = MOP|MOP$
MRO = MRO|UM|0
MTL = MTL|Lm||1
MTP = MTP|MT£||1
MUR = MUR|MURs|0
MVR = MVR
MWK = MWK
MXN = MXN
MXP = MXP|MX$||1
MXV = MXV
MYR = Ringgit Malaysia|RM
MZE = MZE|||1
MZM = MZM|Mt||1
MZN = MZN|MTn
NAD = NAD|N$
NGN = NGN|₦
NIC = NIC|||1
NIO = NIO|C$
NLG = NLG|fl||1
NOK = NOK|Nkr
NPR = NPR|NPRs
NZD = NZD|NZ$
OMR = OMR||3
PAB = PAB|B/.
PEI = PEI|I/.||1
PEN = PEN|S/.
PES = PES|||1
PGK = PGK
PHP = PHP|₱
PKR = PKR|PKRs|0
PLN = PLN|zł
PLZ = PLZ|||1
PTE = PTE|Esc||1
PYG = PYG|₲|0
QAR = QAR|QR
RHD = RHD|RH$||1
ROL = ROL|||1
RON = RON
RSD = RSD|din.|0
RUB = RUB
RUR = RUR|||1
RWF = RWF||0
SAR = SAR|SR
SBD = SBD|SI$
SCR = SCR|SRe
SDD = SDD|LSd||1
SDG = SDG
SDP = SDP|||1
SEK = SEK|Skr
SGD = SGD|S$
SHP = SHP|SH£
SIT = SIT|||1
SKK = SKK|Sk||1
SLL = SLL|Le|0
SOS = SOS|Ssh|0
SRD = SRD|SR$
SRG = SRG|Sf||1
STD = STD|Db|0
SUR = SUR|||1
SVC = SVC|SV₡||1
SYP = SYP|SY£|0
SZL = SZL
THB = THB|฿
TJR = TJR|||1
TJS = TJS
TMM = TMM||0|1
TND = TND|DT|3
TOP = TOP|T$
TPE = TPE|||1
TRL = TRL||0|1
TRY = TRY|TL
TTD = TTD|TT$
TWD = TWD|NT$
TZS = TZS|TSh|0
UAH = UAH|₴
UAK = UAK|||1
UGS = UGS|||1
UGX = UGX|USh|0
USD = USD|US$
USN = USN
USS = USS
UYI = UYI
UYP = UYP|||1
UYU = UYU|$U
UZS = UZS||0
VEB = VEB|||1
VEF = VEF|Bs.F.
VND = VND|₫|0
VUV = VUV|VT|0
WST = WST|WS$
XAF = XAF|FCFA|0
XAG = XAG
XAU = XAU
XBA = XBA
XBB = XBB
XBC = XBC
XBD = XBD
XCD = XCD|EC$
XDR = XDR
XEU = XEU
XFO = XFO
XFU = XFU
XOF = XOF|CFA|0
XPD = XPD
XPF = XPF|CFPF|0
XPT = XPT
XRE = XRE
XTS = XTS
XXX = XXX
YDD = YDD|||1
YER = YER|YR|0
YUD = YUD|||1
YUM = YUM|||1
YUN = YUN|||1
ZAL = ZAL
ZAR = ZAR|R
ZMK = ZMK|ZK|0
ZRN = ZRN|NZ||1
ZRZ = ZRZ|||1
ZWD = ZWD|Z$|0|1
