diff options
author | Dean Karn <Dean.Karn@metricaid.com> | 2016-09-11 06:35:17 +0300 |
---|---|---|
committer | Dean Karn <Dean.Karn@metricaid.com> | 2016-09-11 06:35:17 +0300 |
commit | aaae900248cc5de78e3c73c1ec3b3cc6dac92f9b (patch) | |
tree | 389c87c9e8c2607c1c7683fe2f5a3b419c488136 /cs | |
parent | aba249d95ca17c471f1beec3df4b0b9d438c9af8 (diff) |
covered stored data from []byte to string
appending to a []byte is faster using a string rather than another []byte...who knew
Diffstat (limited to 'cs')
-rw-r--r-- | cs/cs.go | 198 |
1 files changed, 86 insertions, 112 deletions
@@ -14,32 +14,32 @@ type cs struct { pluralsCardinal []locales.PluralRule pluralsOrdinal []locales.PluralRule pluralsRange []locales.PluralRule - decimal []byte - group []byte - minus []byte - percent []byte + decimal string + group string + minus string + percent string percentSuffix []byte - perMille []byte - timeSeparator []byte - inifinity []byte - currencies [][]byte // idx = enum of currency code - currencyPositiveSuffix []byte - currencyNegativeSuffix []byte - monthsAbbreviated [][]byte - monthsNarrow [][]byte - monthsWide [][]byte - daysAbbreviated [][]byte - daysNarrow [][]byte - daysShort [][]byte - daysWide [][]byte - periodsAbbreviated [][]byte - periodsNarrow [][]byte - periodsShort [][]byte - periodsWide [][]byte - erasAbbreviated [][]byte - erasNarrow [][]byte - erasWide [][]byte - timezones map[string][]byte + perMille string + timeSeparator string + inifinity string + currencies []string // idx = enum of currency code + currencyPositiveSuffix string + currencyNegativeSuffix string + monthsAbbreviated []string + monthsNarrow []string + monthsWide []string + daysAbbreviated []string + daysNarrow []string + daysShort []string + daysWide []string + periodsAbbreviated []string + periodsNarrow []string + periodsShort []string + periodsWide []string + erasAbbreviated []string + erasNarrow []string + erasWide []string + timezones map[string]string } // New returns a new instance of translator for the 'cs' locale @@ -49,30 +49,25 @@ func New() locales.Translator { pluralsCardinal: []locales.PluralRule{2, 4, 5, 6}, pluralsOrdinal: []locales.PluralRule{6}, pluralsRange: []locales.PluralRule{4, 5, 6, 2}, - decimal: []byte{}, - group: []byte{}, - minus: []byte{}, - percent: []byte{}, - perMille: []byte{}, - timeSeparator: []byte{0x3a}, - currencies: [][]uint8{{0x41, 0x44, 0x50}, {0x41, 0x45, 0x44}, {0x41, 0x46, 0x41}, {0x41, 0x46, 0x4e}, {0x41, 0x4c, 0x4b}, {0x41, 0x4c, 0x4c}, {0x41, 0x4d, 0x44}, {0x41, 0x4e, 0x47}, {0x41, 0x4f, 0x41}, {0x41, 0x4f, 0x4b}, {0x41, 0x4f, 0x4e}, {0x41, 0x4f, 0x52}, {0x41, 0x52, 0x41}, {0x41, 0x52, 0x4c}, {0x41, 0x52, 0x4d}, {0x41, 0x52, 0x50}, {0x41, 0x52, 0x53}, {0x41, 0x54, 0x53}, {0x41, 0x55, 0x24}, {0x41, 0x57, 0x47}, {0x41, 0x5a, 0x4d}, {0x41, 0x5a, 0x4e}, {0x42, 0x41, 0x44}, {0x42, 0x41, 0x4d}, {0x42, 0x41, 0x4e}, {0x42, 0x42, 0x44}, {0x42, 0x44, 0x54}, {0x42, 0x45, 0x43}, {0x42, 0x45, 0x46}, {0x42, 0x45, 0x4c}, {0x42, 0x47, 0x4c}, {0x42, 0x47, 0x4d}, {0x42, 0x47, 0x4e}, {0x42, 0x47, 0x4f}, {0x42, 0x48, 0x44}, {0x42, 0x49, 0x46}, {0x42, 0x4d, 0x44}, {0x42, 0x4e, 0x44}, {0x42, 0x4f, 0x42}, {0x42, 0x4f, 0x4c}, {0x42, 0x4f, 0x50}, {0x42, 0x4f, 0x56}, {0x42, 0x52, 0x42}, {0x42, 0x52, 0x43}, {0x42, 0x52, 0x45}, {0x52, 0x24}, {0x42, 0x52, 0x4e}, {0x42, 0x52, 0x52}, {0x42, 0x52, 0x5a}, {0x42, 0x53, 0x44}, {0x42, 0x54, 0x4e}, {0x42, 0x55, 0x4b}, {0x42, 0x57, 0x50}, {0x42, 0x59, 0x42}, {0x42, 0x59, 0x52}, {0x42, 0x5a, 0x44}, {0x43, 0x41, 0x24}, {0x43, 0x44, 0x46}, {0x43, 0x48, 0x45}, {0x43, 0x48, 0x46}, {0x43, 0x48, 0x57}, {0x43, 0x4c, 0x45}, {0x43, 0x4c, 0x46}, {0x43, 0x4c, 0x50}, {0x43, 0x4e, 0x58, 0x20}, {0x43, 0x4e, 0xc2, 0xa5}, {0x43, 0x4f, 0x50}, {0x43, 0x4f, 0x55}, {0x43, 0x52, 0x43}, {0x43, 0x53, 0x44}, {0x4b, 0xc4, 0x8d, 0x73}, {0x43, 0x55, 0x43}, {0x43, 0x55, 0x50}, {0x43, 0x56, 0x45}, {0x43, 0x59, 0x50}, {0x4b, 0xc4, 0x8d}, {0x44, 0x44, 0x4d}, {0x44, 0x45, 0x4d}, {0x44, 0x4a, 0x46}, {0x44, 0x4b, 0x4b}, {0x44, 0x4f, 0x50}, {0x44, 0x5a, 0x44}, {0x45, 0x43, 0x53}, {0x45, 0x43, 0x56}, {0x45, 0x45, 0x4b}, {0x45, 0x47, 0x50}, {0x45, 0x52, 0x4e}, {0x45, 0x53, 0x41}, {0x45, 0x53, 0x42}, {0x45, 0x53, 0x50}, {0x45, 0x54, 0x42}, {0xe2, 0x82, 0xac}, {0x46, 0x49, 0x4d}, {0x46, 0x4a, 0x44}, {0x46, 0x4b, 0x50}, {0x46, 0x52, 0x46}, {0xc2, 0xa3}, {0x47, 0x45, 0x4b}, {0x47, 0x45, 0x4c}, {0x47, 0x48, 0x43}, {0x47, 0x48, 0x53}, {0x47, 0x49, 0x50}, {0x47, 0x4d, 0x44}, {0x47, 0x4e, 0x46}, {0x47, 0x4e, 0x53}, {0x47, 0x51, 0x45}, {0x47, 0x52, 0x44}, {0x47, 0x54, 0x51}, {0x47, 0x57, 0x45}, {0x47, 0x57, 0x50}, {0x47, 0x59, 0x44}, {0x48, 0x4b, 0x24}, {0x48, 0x4e, 0x4c}, {0x48, 0x52, 0x44}, {0x48, 0x52, 0x4b}, {0x48, 0x54, 0x47}, {0x48, 0x55, 0x46}, {0x49, 0x44, 0x52}, {0x49, 0x45, 0x50}, {0x49, 0x4c, 0x50}, {0x49, 0x4c, 0x52}, {0x49, 0x4c, 0x53}, {0x49, 0x4e, 0x52}, {0x49, 0x51, 0x44}, {0x49, 0x52, 0x52}, {0x49, 0x53, 0x4a}, {0x49, 0x53, 0x4b}, {0x49, 0x54, 0x4c}, {0x4a, 0x4d, 0x44}, {0x4a, 0x4f, 0x44}, {0x4a, 0x50, 0xc2, 0xa5}, {0x4b, 0x45, 0x53}, {0x4b, 0x47, 0x53}, {0x4b, 0x48, 0x52}, {0x4b, 0x4d, 0x46}, {0x4b, 0x50, 0x57}, {0x4b, 0x52, 0x48}, {0x4b, 0x52, 0x4f}, {0xe2, 0x82, 0xa9}, {0x4b, 0x57, 0x44}, {0x4b, 0x59, 0x44}, {0x4b, 0x5a, 0x54}, {0x4c, 0x41, 0x4b}, {0x4c, 0x42, 0x50}, {0x4c, 0x4b, 0x52}, {0x4c, 0x52, 0x44}, {0x4c, 0x53, 0x4c}, {0x4c, 0x54, 0x4c}, {0x4c, 0x54, 0x54}, {0x4c, 0x55, 0x43}, {0x4c, 0x55, 0x46}, {0x4c, 0x55, 0x4c}, {0x4c, 0x56, 0x4c}, {0x4c, 0x56, 0x52}, {0x4c, 0x59, 0x44}, {0x4d, 0x41, 0x44}, {0x4d, 0x41, 0x46}, {0x4d, 0x43, 0x46}, {0x4d, 0x44, 0x43}, {0x4d, 0x44, 0x4c}, {0x4d, 0x47, 0x41}, {0x4d, 0x47, 0x46}, {0x4d, 0x4b, 0x44}, {0x4d, 0x4b, 0x4e}, {0x4d, 0x4c, 0x46}, {0x4d, 0x4d, 0x4b}, {0x4d, 0x4e, 0x54}, {0x4d, 0x4f, 0x50}, {0x4d, 0x52, 0x4f}, {0x4d, 0x54, 0x4c}, {0x4d, 0x54, 0x50}, {0x4d, 0x55, 0x52}, {0x4d, 0x56, 0x50}, {0x4d, 0x56, 0x52}, {0x4d, 0x57, 0x4b}, {0x4d, 0x58, 0x24}, {0x4d, 0x58, 0x50}, {0x4d, 0x58, 0x56}, {0x4d, 0x59, 0x52}, {0x4d, 0x5a, 0x45}, {0x4d, 0x5a, 0x4d}, {0x4d, 0x5a, 0x4e}, {0x4e, 0x41, 0x44}, {0x4e, 0x47, 0x4e}, {0x4e, 0x49, 0x43}, {0x4e, 0x49, 0x4f}, {0x4e, 0x4c, 0x47}, {0x4e, 0x4f, 0x4b}, {0x4e, 0x50, 0x52}, {0x4e, 0x5a, 0x24}, {0x4f, 0x4d, 0x52}, {0x50, 0x41, 0x42}, {0x50, 0x45, 0x49}, {0x50, 0x45, 0x4e}, {0x50, 0x45, 0x53}, {0x50, 0x47, 0x4b}, {0x50, 0x48, 0x50}, {0x50, 0x4b, 0x52}, {0x50, 0x4c, 0x4e}, {0x50, 0x4c, 0x5a}, {0x50, 0x54, 0x45}, {0x50, 0x59, 0x47}, {0x51, 0x41, 0x52}, {0x52, 0x48, 0x44}, {0x52, 0x4f, 0x4c}, {0x52, 0x4f, 0x4e}, {0x52, 0x53, 0x44}, {0x52, 0x55, 0x42}, {0x52, 0x55, 0x52}, {0x52, 0x57, 0x46}, {0x53, 0x41, 0x52}, {0x53, 0x42, 0x44}, {0x53, 0x43, 0x52}, {0x53, 0x44, 0x44}, {0x53, 0x44, 0x47}, {0x53, 0x44, 0x50}, {0x53, 0x45, 0x4b}, {0x53, 0x47, 0x44}, {0x53, 0x48, 0x50}, {0x53, 0x49, 0x54}, {0x53, 0x4b, 0x4b}, {0x53, 0x4c, 0x4c}, {0x53, 0x4f, 0x53}, {0x53, 0x52, 0x44}, {0x53, 0x52, 0x47}, {0x53, 0x53, 0x50}, {0x53, 0x54, 0x44}, {0x53, 0x55, 0x52}, {0x53, 0x56, 0x43}, {0x53, 0x59, 0x50}, {0x53, 0x5a, 0x4c}, {0x54, 0x48, 0x42}, {0x54, 0x4a, 0x52}, {0x54, 0x4a, 0x53}, {0x54, 0x4d, 0x4d}, {0x54, 0x4d, 0x54}, {0x54, 0x4e, 0x44}, {0x54, 0x4f, 0x50}, {0x54, 0x50, 0x45}, {0x54, 0x52, 0x4c}, {0x54, 0x52, 0x59}, {0x54, 0x54, 0x44}, {0x4e, 0x54, 0x24}, {0x54, 0x5a, 0x53}, {0x55, 0x41, 0x48}, {0x55, 0x41, 0x4b}, {0x55, 0x47, 0x53}, {0x55, 0x47, 0x58}, {0x55, 0x53, 0x24}, {0x55, 0x53, 0x4e}, {0x55, 0x53, 0x53}, {0x55, 0x59, 0x49}, {0x55, 0x59, 0x50}, {0x55, 0x59, 0x55}, {0x55, 0x5a, 0x53}, {0x56, 0x45, 0x42}, {0x56, 0x45, 0x46}, {0x56, 0x4e, 0x44}, {0x56, 0x4e, 0x4e}, {0x56, 0x55, 0x56}, {0x57, 0x53, 0x54}, {0x46, 0x43, 0x46, 0x41}, {0x58, 0x41, 0x47}, {0x58, 0x41, 0x55}, {0x58, 0x42, 0x41}, {0x58, 0x42, 0x42}, {0x58, 0x42, 0x43}, {0x58, 0x42, 0x44}, {0x45, 0x43, 0x24}, {0x58, 0x44, 0x52}, {0x45, 0x43, 0x55}, {0x58, 0x46, 0x4f}, {0x58, 0x46, 0x55}, {0x43, 0x46, 0x41}, {0x58, 0x50, 0x44}, {0x43, 0x46, 0x50, 0x46}, {0x58, 0x50, 0x54}, {0x58, 0x52, 0x45}, {0x58, 0x53, 0x55}, {0x58, 0x54, 0x53}, {0x58, 0x55, 0x41}, {0x58, 0x58, 0x58}, {0x59, 0x44, 0x44}, {0x59, 0x45, 0x52}, {0x59, 0x55, 0x44}, {0x59, 0x55, 0x4d}, {0x59, 0x55, 0x4e}, {0x59, 0x55, 0x52}, {0x5a, 0x41, 0x4c}, {0x5a, 0x41, 0x52}, {0x5a, 0x4d, 0x4b}, {0x5a, 0x4d, 0x57}, {0x5a, 0x52, 0x4e}, {0x5a, 0x52, 0x5a}, {0x5a, 0x57, 0x44}, {0x5a, 0x57, 0x4c}, {0x5a, 0x57, 0x52}}, + timeSeparator: ":", + currencies: []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AU$", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "R$", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYR", "BZD", "CA$", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNX ", "CN¥", "COP", "COU", "CRC", "CSD", "Kčs", "CUC", "CUP", "CVE", "CYP", "Kč", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "€", "FIM", "FJD", "FKP", "FRF", "£", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HK$", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JP¥", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "₩", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MX$", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZ$", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "NT$", "TZS", "UAH", "UAK", "UGS", "UGX", "US$", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "FCFA", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "EC$", "XDR", "ECU", "XFO", "XFU", "CFA", "XPD", "CFPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"}, percentSuffix: []byte{0xc2, 0xa0}, - currencyPositiveSuffix: []byte{0xc2, 0xa0}, - currencyNegativeSuffix: []byte{0xc2, 0xa0}, - monthsAbbreviated: [][]uint8{[]uint8(nil), {0x6c, 0x65, 0x64}, {0xc3, 0xba, 0x6e, 0x6f}, {0x62, 0xc5, 0x99, 0x65}, {0x64, 0x75, 0x62}, {0x6b, 0x76, 0xc4, 0x9b}, {0xc4, 0x8d, 0x76, 0x6e}, {0xc4, 0x8d, 0x76, 0x63}, {0x73, 0x72, 0x70}, {0x7a, 0xc3, 0xa1, 0xc5, 0x99}, {0xc5, 0x99, 0xc3, 0xad, 0x6a}, {0x6c, 0x69, 0x73}, {0x70, 0x72, 0x6f}}, - monthsNarrow: [][]uint8{[]uint8(nil), {0x31}, {0x32}, {0x33}, {0x34}, {0x35}, {0x36}, {0x37}, {0x38}, {0x39}, {0x31, 0x30}, {0x31, 0x31}, {0x31, 0x32}}, - monthsWide: [][]uint8{[]uint8(nil), {0x6c, 0x65, 0x64, 0x6e, 0x61}, {0xc3, 0xba, 0x6e, 0x6f, 0x72, 0x61}, {0x62, 0xc5, 0x99, 0x65, 0x7a, 0x6e, 0x61}, {0x64, 0x75, 0x62, 0x6e, 0x61}, {0x6b, 0x76, 0xc4, 0x9b, 0x74, 0x6e, 0x61}, {0xc4, 0x8d, 0x65, 0x72, 0x76, 0x6e, 0x61}, {0xc4, 0x8d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x63, 0x65}, {0x73, 0x72, 0x70, 0x6e, 0x61}, {0x7a, 0xc3, 0xa1, 0xc5, 0x99, 0xc3, 0xad}, {0xc5, 0x99, 0xc3, 0xad, 0x6a, 0x6e, 0x61}, {0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x75}, {0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65}}, - daysAbbreviated: [][]uint8{{0x6e, 0x65}, {0x70, 0x6f}, {0xc3, 0xba, 0x74}, {0x73, 0x74}, {0xc4, 0x8d, 0x74}, {0x70, 0xc3, 0xa1}, {0x73, 0x6f}}, - daysNarrow: [][]uint8{{0x4e}, {0x50}, {0xc3, 0x9a}, {0x53}, {0xc4, 0x8c}, {0x50}, {0x53}}, - daysShort: [][]uint8{{0x6e, 0x65}, {0x70, 0x6f}, {0xc3, 0xba, 0x74}, {0x73, 0x74}, {0xc4, 0x8d, 0x74}, {0x70, 0xc3, 0xa1}, {0x73, 0x6f}}, - daysWide: [][]uint8{{0x6e, 0x65, 0x64, 0xc4, 0x9b, 0x6c, 0x65}, {0x70, 0x6f, 0x6e, 0x64, 0xc4, 0x9b, 0x6c, 0xc3, 0xad}, {0xc3, 0xba, 0x74, 0x65, 0x72, 0xc3, 0xbd}, {0x73, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x61}, {0xc4, 0x8d, 0x74, 0x76, 0x72, 0x74, 0x65, 0x6b}, {0x70, 0xc3, 0xa1, 0x74, 0x65, 0x6b}, {0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61}}, - periodsAbbreviated: [][]uint8{{0x64, 0x6f, 0x70, 0x2e}, {0x6f, 0x64, 0x70, 0x2e}}, - periodsNarrow: [][]uint8{{0x64, 0x6f, 0x70, 0x2e}, {0x6f, 0x64, 0x70, 0x2e}}, - periodsWide: [][]uint8{{0x64, 0x6f, 0x70, 0x2e}, {0x6f, 0x64, 0x70, 0x2e}}, - erasAbbreviated: [][]uint8{{0x70, 0xc5, 0x99, 0x2e, 0x20, 0x6e, 0x2e, 0x20, 0x6c, 0x2e}, {0x6e, 0x2e, 0x20, 0x6c, 0x2e}}, - erasNarrow: [][]uint8{{0x70, 0xc5, 0x99, 0x2e, 0x6e, 0x2e, 0x6c, 0x2e}, {0x6e, 0x2e, 0x6c, 0x2e}}, - erasWide: [][]uint8{{0x70, 0xc5, 0x99, 0x2e, 0x20, 0x6e, 0x2e, 0x20, 0x6c, 0x2e}, {0x6e, 0x2e, 0x20, 0x6c, 0x2e}}, - timezones: map[string][]uint8{"HAST": {0x48, 0x61, 0x76, 0x61, 0x6a, 0x73, 0x6b, 0x6f, 0x2d, 0x61, 0x6c, 0x65, 0x75, 0x74, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "PDT": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x70, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ART": {0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ARST": {0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "HKST": {0x48, 0x6f, 0x6e, 0x67, 0x6b, 0x6f, 0x6e, 0x67, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "CLT": {0x43, 0x68, 0x69, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "HKT": {0x48, 0x6f, 0x6e, 0x67, 0x6b, 0x6f, 0x6e, 0x67, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "SRT": {0x53, 0x75, 0x72, 0x69, 0x6e, 0x61, 0x6d, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "JST": {0x4a, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "IST": {0x49, 0x6e, 0x64, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "∅∅∅": {0x50, 0x65, 0x72, 0x75, 0xc3, 0xa1, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "UYST": {0x55, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "LHST": {0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73, 0x20, 0x6f, 0x73, 0x74, 0x72, 0x6f, 0x76, 0x61, 0x20, 0x6c, 0x6f, 0x72, 0x64, 0x61, 0x20, 0x48, 0x6f, 0x77, 0x61}, "CAT": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "MST": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x68, 0x6f, 0x72, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "EAT": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "JDT": {0x4a, 0x61, 0x70, 0x6f, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AWST": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "VET": {0x56, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AEST": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AEDT": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WITA": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x69, 0x6e, 0x64, 0x6f, 0x6e, 0xc3, 0xa9, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "CHAST": {0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "CHADT": {0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "TMST": {0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "BOT": {0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x6a, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "NZST": {0x4e, 0x6f, 0x76, 0x6f, 0x7a, 0xc3, 0xa9, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "COT": {0x4b, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x6a, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "HADT": {0x48, 0x61, 0x76, 0x61, 0x6a, 0x73, 0x6b, 0x6f, 0x2d, 0x61, 0x6c, 0x65, 0x75, 0x74, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "TMT": {0x54, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ADT": {0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WEZ": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ACST": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AST": {0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "OESZ": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "GMT": {0x47, 0x72, 0x65, 0x65, 0x6e, 0x77, 0x69, 0x63, 0x68, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AKDT": {0x41, 0x6c, 0x6a, 0x61, 0xc5, 0xa1, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "BT": {0x42, 0x68, 0xc3, 0xba, 0x74, 0xc3, 0xa1, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "PST": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x70, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "UYT": {0x55, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "EDT": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x76, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ACWDT": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x7a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "GYT": {0x47, 0x75, 0x79, 0x61, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "CLST": {0x43, 0x68, 0x69, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WIT": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x69, 0x6e, 0x64, 0x6f, 0x6e, 0xc3, 0xa9, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "HAT": {0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WESZ": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "MESZ": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "OEZ": {0x56, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "NZDT": {0x4e, 0x6f, 0x76, 0x6f, 0x7a, 0xc3, 0xa9, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "EST": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x76, 0xc3, 0xbd, 0x63, 0x68, 0x6f, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WARST": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WAST": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "COST": {0x4b, 0x6f, 0x6c, 0x75, 0x6d, 0x62, 0x69, 0x6a, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "CDT": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0xc3, 0xa1, 0x6c, 0x6e, 0xc3, 0xad, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "MDT": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x68, 0x6f, 0x72, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "SGT": {0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ACWST": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x7a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "MYT": {0x4d, 0x61, 0x6c, 0x61, 0x6a, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AWDT": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WAT": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "MEZ": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x65, 0x76, 0x72, 0x6f, 0x70, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "LHDT": {0x4c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73, 0x20, 0x6f, 0x73, 0x74, 0x72, 0x6f, 0x76, 0x61, 0x20, 0x6c, 0x6f, 0x72, 0x64, 0x61, 0x20, 0x48, 0x6f, 0x77, 0x61}, "CST": {0x53, 0x65, 0x76, 0x65, 0x72, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0xc3, 0xa1, 0x6c, 0x6e, 0xc3, 0xad, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "HNT": {0x4e, 0x65, 0x77, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ChST": {0x43, 0x68, 0x61, 0x6d, 0x6f, 0x72, 0x72, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WART": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "WIB": {0x5a, 0xc3, 0xa1, 0x70, 0x61, 0x64, 0x6f, 0x69, 0x6e, 0x64, 0x6f, 0x6e, 0xc3, 0xa9, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "SAST": {0x4a, 0x69, 0x68, 0x6f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "GFT": {0x46, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x75, 0x7a, 0x73, 0x6b, 0x6f, 0x67, 0x75, 0x79, 0x61, 0x6e, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "AKST": {0x41, 0x6c, 0x6a, 0x61, 0xc5, 0xa1, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ECT": {0x45, 0x6b, 0x76, 0xc3, 0xa1, 0x64, 0x6f, 0x72, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0xc4, 0x8d, 0x61, 0x73}, "ACDT": {0x53, 0x74, 0xc5, 0x99, 0x65, 0x64, 0x6f, 0x61, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x73, 0x6b, 0xc3, 0xbd, 0x20, 0x6c, 0x65, 0x74, 0x6e, 0xc3, 0xad, 0x20, 0xc4, 0x8d, 0x61, 0x73}}, + currencyPositiveSuffix: " ", + currencyNegativeSuffix: " ", + monthsAbbreviated: []string{"", "led", "úno", "bře", "dub", "kvě", "čvn", "čvc", "srp", "zář", "říj", "lis", "pro"}, + monthsNarrow: []string{"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, + monthsWide: []string{"", "ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince"}, + daysAbbreviated: []string{"ne", "po", "út", "st", "čt", "pá", "so"}, + daysNarrow: []string{"N", "P", "Ú", "S", "Č", "P", "S"}, + daysShort: []string{"ne", "po", "út", "st", "čt", "pá", "so"}, + daysWide: []string{"neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"}, + periodsAbbreviated: []string{"dop.", "odp."}, + periodsNarrow: []string{"dop.", "odp."}, + periodsWide: []string{"dop.", "odp."}, + erasAbbreviated: []string{"př. n. l.", "n. l."}, + erasNarrow: []string{"př.n.l.", "n.l."}, + erasWide: []string{"př. n. l.", "n. l."}, + timezones: map[string]string{"WITA": "Středoindonéský čas", "ChST": "Chamorrský čas", "WESZ": "Západoevropský letní čas", "EST": "Severoamerický východní standardní čas", "PDT": "Severoamerický pacifický letní čas", "OEZ": "Východoevropský standardní čas", "GYT": "Guyanský čas", "MYT": "Malajský čas", "MESZ": "Středoevropský letní čas", "LHDT": "Letní čas ostrova lorda Howa", "AWDT": "Západoaustralský letní čas", "WIB": "Západoindonéský čas", "AST": "Atlantický standardní čas", "ACDT": "Středoaustralský letní čas", "VET": "Venezuelský čas", "WIT": "Východoindonéský čas", "∅∅∅": "Amazonský letní čas", "UYT": "Uruguayský standardní čas", "CLT": "Chilský standardní čas", "EAT": "Východoafrický čas", "EDT": "Severoamerický východní letní čas", "WARST": "Západoargentinský letní čas", "SAST": "Jihoafrický čas", "JDT": "Japonský letní čas", "IST": "Indický čas", "HNT": "Newfoundlandský standardní čas", "HKST": "Hongkongský letní čas", "WAST": "Západoafrický letní čas", "TMT": "Turkmenský standardní čas", "ECT": "Ekvádorský čas", "HAT": "Newfoundlandský letní čas", "CDT": "Severoamerický centrální letní čas", "CAT": "Středoafrický čas", "HADT": "Havajsko-aleutský letní čas", "NZST": "Novozélandský standardní čas", "WART": "Západoargentinský standardní čas", "WAT": "Západoafrický standardní čas", "PST": "Severoamerický pacifický standardní čas", "OESZ": "Východoevropský letní čas", "COST": "Kolumbijský letní čas", "BOT": "Bolivijský čas", "TMST": "Turkmenský letní čas", "HKT": "Hongkongský standardní čas", "AEST": "Východoaustralský standardní čas", "GMT": "Greenwichský střední čas", "AKST": "Aljašský standardní čas", "UYST": "Uruguayský letní čas", "ARST": "Argentinský letní čas", "HAST": "Havajsko-aleutský standardní čas", "CHADT": "Chathamský letní čas", "NZDT": "Novozélandský letní čas", "BT": "Bhútánský čas", "JST": "Japonský standardní čas", "SGT": "Singapurský čas", "MST": "Macajský standardní čas", "MDT": "Macajský letní čas", "ACWST": "Středozápadní australský standardní čas", "CLST": "Chilský letní čas", "CHAST": "Chathamský standardní čas", "COT": "Kolumbijský standardní čas", "ACST": "Středoaustralský standardní čas", "ART": "Argentinský standardní čas", "WEZ": "Západoevropský standardní čas", "AWST": "Západoaustralský standardní čas", "CST": "Severoamerický centrální standardní čas", "MEZ": "Středoevropský standardní čas", "GFT": "Francouzskoguyanský čas", "ACWDT": "Středozápadní australský letní čas", "LHST": "Standardní čas ostrova lorda Howa", "AKDT": "Aljašský letní čas", "AEDT": "Východoaustralský letní čas", "SRT": "Surinamský čas", "ADT": "Atlantický letní čas"}, } } @@ -157,80 +152,77 @@ func (cs *cs) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) } // MonthAbbreviated returns the locales abbreviated month given the 'month' provided -func (cs *cs) MonthAbbreviated(month time.Month) []byte { +func (cs *cs) MonthAbbreviated(month time.Month) string { return cs.monthsAbbreviated[month] } // MonthsAbbreviated returns the locales abbreviated months -func (cs *cs) MonthsAbbreviated() [][]byte { +func (cs *cs) MonthsAbbreviated() []string { return cs.monthsAbbreviated[1:] } // MonthNarrow returns the locales narrow month given the 'month' provided -func (cs *cs) MonthNarrow(month time.Month) []byte { +func (cs *cs) MonthNarrow(month time.Month) string { return cs.monthsNarrow[month] } // MonthsNarrow returns the locales narrow months -func (cs *cs) MonthsNarrow() [][]byte { +func (cs *cs) MonthsNarrow() []string { return cs.monthsNarrow[1:] } // MonthWide returns the locales wide month given the 'month' provided -func (cs *cs) MonthWide(month time.Month) []byte { +func (cs *cs) MonthWide(month time.Month) string { return cs.monthsWide[month] } // MonthsWide returns the locales wide months -func (cs *cs) MonthsWide() [][]byte { +func (cs *cs) MonthsWide() []string { return cs.monthsWide[1:] } // WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided -func (cs *cs) WeekdayAbbreviated(weekday time.Weekday) []byte { +func (cs *cs) WeekdayAbbreviated(weekday time.Weekday) string { return cs.daysAbbreviated[weekday] } // WeekdaysAbbreviated returns the locales abbreviated weekdays -func (cs *cs) WeekdaysAbbreviated() [][]byte { +func (cs *cs) WeekdaysAbbreviated() []string { return cs.daysAbbreviated } // WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided -func (cs *cs) WeekdayNarrow(weekday time.Weekday) []byte { +func (cs *cs) WeekdayNarrow(weekday time.Weekday) string { return cs.daysNarrow[weekday] } // WeekdaysNarrow returns the locales narrow weekdays -func (cs *cs) WeekdaysNarrow() [][]byte { +func (cs *cs) WeekdaysNarrow() []string { return cs.daysNarrow } // WeekdayShort returns the locales short weekday given the 'weekday' provided -func (cs *cs) WeekdayShort(weekday time.Weekday) []byte { +func (cs *cs) WeekdayShort(weekday time.Weekday) string { return cs.daysShort[weekday] } // WeekdaysShort returns the locales short weekdays -func (cs *cs) WeekdaysShort() [][]byte { +func (cs *cs) WeekdaysShort() []string { return cs.daysShort } // WeekdayWide returns the locales wide weekday given the 'weekday' provided -func (cs *cs) WeekdayWide(weekday time.Weekday) []byte { +func (cs *cs) WeekdayWide(weekday time.Weekday) string { return cs.daysWide[weekday] } // WeekdaysWide returns the locales wide weekdays -func (cs *cs) WeekdaysWide() [][]byte { +func (cs *cs) WeekdaysWide() []string { return cs.daysWide } // FmtNumber returns 'num' with digits/precision of 'v' for 'cs' and handles both Whole and Real numbers based on 'v' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtNumber(num float64, v uint64) []byte { - +func (cs *cs) FmtNumber(num float64, v uint64) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) l := len(s) + len(cs.decimal) + len(cs.group)*len(s[:len(s)-int(v)-1])/3 count := 0 @@ -274,15 +266,13 @@ func (cs *cs) FmtNumber(num float64, v uint64) []byte { b[i], b[j] = b[j], b[i] } - return b + results = string(b) + return } // FmtPercent returns 'num' with digits/precision of 'v' for 'cs' and handles both Whole and Real numbers based on 'v' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. // NOTE: 'num' passed into FmtPercent is assumed to be in percent already -func (cs *cs) FmtPercent(num float64, v uint64) []byte { - +func (cs *cs) FmtPercent(num float64, v uint64) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) l := len(s) + len(cs.decimal) b := make([]byte, 0, l) @@ -315,13 +305,12 @@ func (cs *cs) FmtPercent(num float64, v uint64) []byte { b = append(b, cs.percent...) - return b + results = string(b) + return } // FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtCurrency(num float64, v uint64, currency currency.Type) []byte { +func (cs *cs) FmtCurrency(num float64, v uint64, currency currency.Type) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := cs.currencies[currency] @@ -382,13 +371,13 @@ func (cs *cs) FmtCurrency(num float64, v uint64, currency currency.Type) []byte b = append(b, symbol...) - return b + results = string(b) + return } // FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'cs' -// in accounting notation. returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtAccounting(num float64, v uint64, currency currency.Type) []byte { +// in accounting notation. +func (cs *cs) FmtAccounting(num float64, v uint64, currency currency.Type) (results string) { s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64) symbol := cs.currencies[currency] @@ -456,13 +445,12 @@ func (cs *cs) FmtAccounting(num float64, v uint64, currency currency.Type) []byt b = append(b, symbol...) } - return b + results = string(b) + return } // FmtDateShort returns the short date representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtDateShort(t time.Time) []byte { +func (cs *cs) FmtDateShort(t time.Time) string { b := make([]byte, 0, 32) @@ -487,13 +475,11 @@ func (cs *cs) FmtDateShort(t time.Time) []byte { b = append(b, strconv.Itoa(t.Year())[1:]...) } - return b + return string(b) } // FmtDateMedium returns the medium date representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtDateMedium(t time.Time) []byte { +func (cs *cs) FmtDateMedium(t time.Time) string { b := make([]byte, 0, 32) @@ -503,13 +489,11 @@ func (cs *cs) FmtDateMedium(t time.Time) []byte { b = append(b, []byte{0x2e, 0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtDateLong returns the long date representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtDateLong(t time.Time) []byte { +func (cs *cs) FmtDateLong(t time.Time) string { b := make([]byte, 0, 32) @@ -519,13 +503,11 @@ func (cs *cs) FmtDateLong(t time.Time) []byte { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtDateFull returns the full date representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtDateFull(t time.Time) []byte { +func (cs *cs) FmtDateFull(t time.Time) string { b := make([]byte, 0, 32) @@ -537,13 +519,11 @@ func (cs *cs) FmtDateFull(t time.Time) []byte { b = append(b, []byte{0x20}...) b = strconv.AppendInt(b, int64(t.Year()), 10) - return b + return string(b) } // FmtTimeShort returns the short time representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtTimeShort(t time.Time) []byte { +func (cs *cs) FmtTimeShort(t time.Time) string { b := make([]byte, 0, 32) @@ -556,13 +536,11 @@ func (cs *cs) FmtTimeShort(t time.Time) []byte { b = strconv.AppendInt(b, int64(t.Minute()), 10) - return b + return string(b) } // FmtTimeMedium returns the medium time representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtTimeMedium(t time.Time) []byte { +func (cs *cs) FmtTimeMedium(t time.Time) string { b := make([]byte, 0, 32) @@ -582,13 +560,11 @@ func (cs *cs) FmtTimeMedium(t time.Time) []byte { b = strconv.AppendInt(b, int64(t.Second()), 10) - return b + return string(b) } // FmtTimeLong returns the long time representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtTimeLong(t time.Time) []byte { +func (cs *cs) FmtTimeLong(t time.Time) string { b := make([]byte, 0, 32) @@ -612,13 +588,11 @@ func (cs *cs) FmtTimeLong(t time.Time) []byte { tz, _ := t.Zone() b = append(b, tz...) - return b + return string(b) } // FmtTimeFull returns the full time representation of 't' for 'cs' -// returned as a []byte just in case the caller wishes to add more and can help -// avoid allocations; otherwise just cast as string. -func (cs *cs) FmtTimeFull(t time.Time) []byte { +func (cs *cs) FmtTimeFull(t time.Time) string { b := make([]byte, 0, 32) @@ -647,5 +621,5 @@ func (cs *cs) FmtTimeFull(t time.Time) []byte { b = append(b, tz...) } - return b + return string(b) } |