{"version":3,"file":"jsverse-transloco-locale.mjs","sources":["../../../../libs/transloco-locale/src/lib/helpers.ts","../../../../libs/transloco-locale/src/lib/shared.ts","../../../../libs/transloco-locale/src/lib/locale-currency.ts","../../../../libs/transloco-locale/src/lib/transloco-locale.config.ts","../../../../libs/transloco-locale/src/lib/transloco-locale.transformers.ts","../../../../libs/transloco-locale/src/lib/transloco-locale.service.ts","../../../../libs/transloco-locale/src/lib/pipes/base-locale.pipe.ts","../../../../libs/transloco-locale/src/lib/pipes/transloco-currency.pipe.ts","../../../../libs/transloco-locale/src/lib/pipes/transloco-date.pipe.ts","../../../../libs/transloco-locale/src/lib/pipes/transloco-decimal.pipe.ts","../../../../libs/transloco-locale/src/lib/pipes/transloco-percent.pipe.ts","../../../../libs/transloco-locale/src/lib/transloco-locale.module.ts","../../../../libs/transloco-locale/src/lib/transloco-locale.providers.ts","../../../../libs/transloco-locale/src/jsverse-transloco-locale.ts"],"sourcesContent":["import { toNumber } from '@jsverse/transloco';\n\nimport { Locale, DateFormatOptions } from './transloco-locale.types';\n\nexport const ISO8601_DATE_REGEX =\n  /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n/**\n * check if a given value is in BCP 47 language tag.\n *\n * isLocaleFormat('en') // false,\n * isLocaleFormat('En-us') // false\n * isLocaleFormat('en-US') // true\n */\nexport function isLocaleFormat(val: any): val is Locale {\n  const irregulars = `en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE|art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang|es-419`;\n  const BCPFormat = `[a-z]{2}-[A-Z]{2}`;\n  const scriptFormat = `[a-z]{2}-[A-Za-z]{4}`;\n  return (\n    typeof val === 'string' &&\n    !!val.match(RegExp(`(${irregulars})|(${BCPFormat})|(${scriptFormat})`))\n  );\n}\n\nexport function localizeNumber(\n  value: number | string,\n  locale: Locale,\n  options: Intl.NumberFormatOptions\n): string {\n  const number = toNumber(value);\n  return number !== null\n    ? new Intl.NumberFormat(locale, options).format(number)\n    : '';\n}\n\nexport function localizeDate(\n  date: Date,\n  locale: Locale,\n  options: DateFormatOptions\n): string {\n  if (isDate(date)) {\n    return new Intl.DateTimeFormat(locale, options as any).format(date);\n  }\n  return '';\n}\n\nexport function isDate(value: any): boolean {\n  return value instanceof Date && !isNaN(<any>value);\n}\n\nexport function toDate(value: any): Date {\n  let match: RegExpMatchArray | null;\n\n  if (typeof value === 'string') {\n    value = value.trim();\n  }\n\n  if (isDate(value)) {\n    return value;\n  }\n\n  if (!isNaN(value - parseFloat(value))) {\n    return new Date(parseFloat(value));\n  }\n\n  if (typeof value === 'string' && /^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n    const [y, m, d] = value.split('-').map((val: string) => parseInt(val, 10));\n    return new Date(y, m - 1, d);\n  }\n\n  if (typeof value === 'string' && (match = value.match(ISO8601_DATE_REGEX))) {\n    return isoStringToDate(match);\n  }\n\n  return new Date(value);\n}\n\nexport function isoStringToDate(match: RegExpMatchArray): Date {\n  const date: Date = new Date(0);\n  let tzHour = 0;\n  let tzMin = 0;\n  const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n  const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n  if (match[9]) {\n    tzHour = +(match[9] + match[10]);\n    tzMin = +(match[9] + match[11]);\n  }\n  dateSetter.call(date, +match[1], +match[2] - 1, +match[3]);\n  const h: number = +(match[4] || '0') - tzHour;\n  const m: number = +(match[5] || '0') - tzMin;\n  const s: number = +(match[6] || '0');\n  const ms: number = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n  timeSetter.call(date, h, m, s, ms);\n  return date;\n}\n","import {\n  Locale,\n  LocaleFormatOptions,\n  LocaleConfig,\n} from './transloco-locale.types';\n\nexport function getDefaultOptions<T extends keyof LocaleFormatOptions>(\n  locale: Locale,\n  style: T,\n  localeConfig: LocaleConfig\n) {\n  const defaultConfig = (localeConfig.global?.[style] ?? {}) as NonNullable<\n    LocaleFormatOptions[T]\n  >;\n  const settings = (localeConfig.localeBased?.[locale] ??\n    {}) as LocaleFormatOptions;\n\n  return Reflect.has(settings, style)\n    ? { ...defaultConfig, ...settings[style] }\n    : defaultConfig;\n}\n","export default {\n  'aa-DJ': 'DJF',\n  'aa-ER': 'ERN',\n  'aa-ET': 'ETB',\n  'ab-GE': 'ETB',\n  'ab-TR': 'ETB',\n  'af-BW': 'ETB',\n  'af-NA': 'ETB',\n  'af-ZA': 'ZAR',\n  'ak-GH': 'ZAR',\n  'am-ET': 'ETB',\n  'am-IL': 'ETB',\n  'ar-AE': 'AED',\n  'ar-AR': 'AED',\n  'ar-BH': 'BHD',\n  'ar-CM': 'BHD',\n  'ar-CY': 'BHD',\n  'ar-DJ': 'BHD',\n  'ar-DZ': 'DZD',\n  'ar-EG': 'EGP',\n  'ar-EH': 'EGP',\n  'ar-ER': 'EGP',\n  'ar-IL': 'EGP',\n  'ar-IQ': 'IQD',\n  'ar-IR': 'IQD',\n  'ar-JO': 'JOD',\n  'ar-KE': 'JOD',\n  'ar-KM': 'JOD',\n  'ar-KW': 'KWD',\n  'ar-LB': 'LBP',\n  'ar-LY': 'LYD',\n  'ar-MA': 'MAD',\n  'ar-ML': 'MAD',\n  'ar-MR': 'MAD',\n  'ar-NE': 'MAD',\n  'ar-NG': 'MAD',\n  'ar-OM': 'OMR',\n  'ar-PS': 'OMR',\n  'ar-QA': 'QAR',\n  'ar-SA': 'SAR',\n  'ar-SD': 'SDD',\n  'ar-SS': 'SDD',\n  'ar-SY': 'SYP',\n  'ar-TD': 'SYP',\n  'ar-TJ': 'SYP',\n  'ar-TN': 'TND',\n  'ar-TR': 'TND',\n  'ar-YE': 'YER',\n  'as-IN': 'INR',\n  'av-RU': 'INR',\n  'ay-BO': 'INR',\n  'ay-PE': 'INR',\n  'az-AZ': 'AZM',\n  'ba-RU': 'AZM',\n  'be-BY': 'BYR',\n  'be-PL': 'BYR',\n  'be-UA': 'BYR',\n  'bg-BG': 'BGN',\n  'bg-GR': 'BGN',\n  'bg-MD': 'BGN',\n  'bg-RO': 'BGN',\n  'bg-TR': 'BGN',\n  'bg-UA': 'BGN',\n  'bi-VU': 'BGN',\n  'bm-ML': 'BGN',\n  'bn-BD': 'BDT',\n  'bn-GB': 'BDT',\n  'bn-IN': 'INR',\n  'bn-NP': 'INR',\n  'bo-CN': 'CNY',\n  'bo-IN': 'INR',\n  'bo-NP': 'INR',\n  'br-FR': 'EUR',\n  'bs-BA': 'BAM',\n  'ca-AD': 'EUR',\n  'ca-ES': 'EUR',\n  'ca-FR': 'EUR',\n  'ca-IT': 'EUR',\n  'ce-RU': 'EUR',\n  'ch-GU': 'EUR',\n  'ch-MP': 'EUR',\n  'co-FR': 'EUR',\n  'cs-CZ': 'CZK',\n  'cv-RU': 'RUB',\n  'cy-AR': 'RUB',\n  'cy-GB': 'GBP',\n  'da-DE': 'GBP',\n  'da-DK': 'DKK',\n  'da-GL': 'DKK',\n  'da-IS': 'DKK',\n  'de-AT': 'EUR',\n  'de-BE': 'EUR',\n  'de-BR': 'EUR',\n  'de-CA': 'EUR',\n  'de-CH': 'CHF',\n  'de-CZ': 'CHF',\n  'de-DE': 'EUR',\n  'de-DK': 'EUR',\n  'de-HU': 'EUR',\n  'de-IT': 'EUR',\n  'de-KZ': 'EUR',\n  'de-LI': 'EUR',\n  'de-LU': 'EUR',\n  'de-NA': 'EUR',\n  'de-PL': 'EUR',\n  'de-PY': 'EUR',\n  'de-RO': 'EUR',\n  'de-SK': 'EUR',\n  'de-US': 'EUR',\n  'dv-IN': 'EUR',\n  'dv-MV': 'MVR',\n  'dz-BT': 'BTN',\n  'dz-IN': 'BTN',\n  'ee-GH': 'BTN',\n  'ee-TG': 'BTN',\n  'el-AL': 'BTN',\n  'el-CY': 'EUR',\n  'el-DE': 'EUR',\n  'el-EG': 'EUR',\n  'el-GB': 'EUR',\n  'el-GR': 'EUR',\n  'el-IT': 'EUR',\n  'el-RO': 'EUR',\n  'el-TR': 'EUR',\n  'el-UA': 'EUR',\n  'en-AC': 'EUR',\n  'en-AG': 'XCD',\n  'en-AI': 'XCD',\n  'en-AS': 'XCD',\n  'en-AU': 'AUD',\n  'en-AW': 'AUD',\n  'en-BB': 'AUD',\n  'en-BE': 'AUD',\n  'en-BM': 'AUD',\n  'en-BN': 'AUD',\n  'en-BS': 'AUD',\n  'en-BW': 'BWP',\n  'en-BZ': 'BWP',\n  'en-CA': 'CAD',\n  'en-CC': 'CAD',\n  'en-CK': 'CAD',\n  'en-CM': 'CAD',\n  'en-CN': 'CAD',\n  'en-CX': 'CAD',\n  'en-DE': 'CAD',\n  'en-DG': 'CAD',\n  'en-DM': 'CAD',\n  'en-DO': 'CAD',\n  'en-ES': 'CAD',\n  'en-ET': 'CAD',\n  'en-FI': 'CAD',\n  'en-FJ': 'CAD',\n  'en-FK': 'CAD',\n  'en-FM': 'CAD',\n  'en-FR': 'CAD',\n  'en-GB': 'GBP',\n  'en-GD': 'GBP',\n  'en-GG': 'GBP',\n  'en-GH': 'GBP',\n  'en-GI': 'GBP',\n  'en-GM': 'GBP',\n  'en-GU': 'GBP',\n  'en-GY': 'GBP',\n  'en-HK': 'HKD',\n  'en-HN': 'HKD',\n  'en-IE': 'EUR',\n  'en-IL': 'EUR',\n  'en-IM': 'EUR',\n  'en-IN': 'INR',\n  'en-IO': 'INR',\n  'en-IT': 'INR',\n  'en-JE': 'INR',\n  'en-JM': 'INR',\n  'en-KE': 'INR',\n  'en-KI': 'INR',\n  'en-KN': 'INR',\n  'en-KY': 'INR',\n  'en-LB': 'INR',\n  'en-LC': 'INR',\n  'en-LK': 'INR',\n  'en-LR': 'INR',\n  'en-LS': 'INR',\n  'en-MG': 'INR',\n  'en-MH': 'INR',\n  'en-MP': 'INR',\n  'en-MS': 'INR',\n  'en-MT': 'INR',\n  'en-MU': 'INR',\n  'en-MW': 'INR',\n  'en-MY': 'INR',\n  'en-NA': 'INR',\n  'en-NF': 'INR',\n  'en-NG': 'NGN',\n  'en-NL': 'NGN',\n  'en-NR': 'NGN',\n  'en-NU': 'NGN',\n  'en-NZ': 'NZD',\n  'en-PA': 'NZD',\n  'en-PG': 'NZD',\n  'en-PH': 'PHP',\n  'en-PI': 'PHP',\n  'en-PK': 'PHP',\n  'en-PM': 'PHP',\n  'en-PN': 'PHP',\n  'en-PR': 'PHP',\n  'en-PW': 'PHP',\n  'en-RW': 'PHP',\n  'en-SB': 'PHP',\n  'en-SC': 'PHP',\n  'en-SG': 'SGD',\n  'en-SH': 'SGD',\n  'en-SL': 'SGD',\n  'en-SS': 'SGD',\n  'en-SZ': 'SGD',\n  'en-TA': 'SGD',\n  'en-TC': 'SGD',\n  'en-TK': 'SGD',\n  'en-TO': 'SGD',\n  'en-TT': 'SGD',\n  'en-TV': 'SGD',\n  'en-TZ': 'SGD',\n  'en-UD': 'SGD',\n  'en-UG': 'SGD',\n  'en-UM': 'SGD',\n  'en-US': 'USD',\n  'en-VC': 'USD',\n  'en-VG': 'USD',\n  'en-VI': 'USD',\n  'en-VU': 'USD',\n  'en-WS': 'USD',\n  'en-ZA': 'ZAR',\n  'en-ZM': 'ZAR',\n  'en-ZW': 'ZWD',\n  'eo-EO': 'ZWD',\n  'eo-SM': 'ZWD',\n  'es-AD': 'ZWD',\n  'es-AR': 'ARS',\n  'es-BO': 'BOB',\n  'es-BZ': 'BOB',\n  'es-CL': 'CLP',\n  'es-CO': 'COP',\n  'es-CR': 'CRC',\n  'es-CU': 'CRC',\n  'es-DE': 'CRC',\n  'es-DO': 'DOP',\n  'es-EA': 'DOP',\n  'es-EC': 'USD',\n  'es-ES': 'EUR',\n  'es-GQ': 'EUR',\n  'es-GT': 'GTQ',\n  'es-HN': 'HNL',\n  'es-IC': 'HNL',\n  'es-LA': 'HNL',\n  'es-MA': 'HNL',\n  'es-MX': 'MXN',\n  'es-NI': 'NIO',\n  'es-PA': 'PAB',\n  'es-PE': 'PEN',\n  'es-PH': 'PEN',\n  'es-PR': 'USD',\n  'es-PY': 'PYG',\n  'es-SV': 'SVC',\n  'es-TT': 'SVC',\n  'es-US': 'USD',\n  'es-UY': 'UYU',\n  'es-VE': 'VEB',\n  'et-EE': 'EEK',\n  'et-FI': 'EEK',\n  'eu-ES': 'EUR',\n  'eu-FR': 'EUR',\n  'fa-AE': 'EUR',\n  'fa-AF': 'EUR',\n  'fa-IQ': 'EUR',\n  'fa-IR': 'IRR',\n  'fa-OM': 'IRR',\n  'fa-PK': 'IRR',\n  'fa-QA': 'IRR',\n  'fa-TJ': 'IRR',\n  'fb-LT': 'IRR',\n  'ff-GN': 'IRR',\n  'ff-MR': 'IRR',\n  'ff-SN': 'IRR',\n  'fi-FI': 'EUR',\n  'fi-RU': 'EUR',\n  'fi-SE': 'EUR',\n  'fj-FJ': 'EUR',\n  'fo-FO': 'DKK',\n  'fr-AD': 'DKK',\n  'fr-BE': 'EUR',\n  'fr-BF': 'EUR',\n  'fr-BI': 'EUR',\n  'fr-BJ': 'EUR',\n  'fr-BL': 'EUR',\n  'fr-CA': 'CAD',\n  'fr-CD': 'CAD',\n  'fr-CF': 'CAD',\n  'fr-CG': 'CAD',\n  'fr-CH': 'CHF',\n  'fr-CI': 'CHF',\n  'fr-CM': 'CHF',\n  'fr-CP': 'CHF',\n  'fr-DJ': 'CHF',\n  'fr-DZ': 'CHF',\n  'fr-FR': 'EUR',\n  'fr-GA': 'EUR',\n  'fr-GB': 'EUR',\n  'fr-GF': 'EUR',\n  'fr-GN': 'EUR',\n  'fr-GP': 'EUR',\n  'fr-GQ': 'EUR',\n  'fr-HT': 'EUR',\n  'fr-IT': 'EUR',\n  'fr-KM': 'EUR',\n  'fr-LB': 'EUR',\n  'fr-LU': 'EUR',\n  'fr-MA': 'EUR',\n  'fr-MC': 'EUR',\n  'fr-MF': 'EUR',\n  'fr-MG': 'EUR',\n  'fr-ML': 'EUR',\n  'fr-MQ': 'EUR',\n  'fr-MR': 'EUR',\n  'fr-MU': 'EUR',\n  'fr-NC': 'EUR',\n  'fr-NE': 'EUR',\n  'fr-PF': 'EUR',\n  'fr-PM': 'EUR',\n  'fr-RE': 'EUR',\n  'fr-RW': 'EUR',\n  'fr-SC': 'EUR',\n  'fr-SN': 'EUR',\n  'fr-SY': 'EUR',\n  'fr-TD': 'EUR',\n  'fr-TF': 'EUR',\n  'fr-TG': 'EUR',\n  'fr-TN': 'EUR',\n  'fr-US': 'EUR',\n  'fr-VU': 'EUR',\n  'fr-WF': 'EUR',\n  'fr-YT': 'EUR',\n  'fy-NL': 'EUR',\n  'ga-GB': 'EUR',\n  'ga-IE': 'EUR',\n  'gd-GB': 'GBP',\n  'gl-ES': 'EUR',\n  'gl-PT': 'EUR',\n  'gn-AR': 'EUR',\n  'gn-BO': 'EUR',\n  'gn-PY': 'EUR',\n  'gu-IN': 'INR',\n  'gu-KE': 'INR',\n  'gv-IM': 'INR',\n  'he-IL': 'ILS',\n  'hi-FJ': 'ILS',\n  'hi-IN': 'INR',\n  'hi-NP': 'INR',\n  'hi-UG': 'INR',\n  'hi-ZA': 'INR',\n  'ho-PG': 'INR',\n  'hr-AT': 'INR',\n  'hr-BA': 'INR',\n  'hr-DE': 'INR',\n  'hr-HR': 'HRK',\n  'hr-HU': 'HRK',\n  'hr-IT': 'HRK',\n  'ht-HT': 'HTG',\n  'hu-AT': 'HTG',\n  'hu-HU': 'HUF',\n  'hu-IL': 'HUF',\n  'hu-RO': 'HUF',\n  'hu-RS': 'HUF',\n  'hu-SI': 'HUF',\n  'hu-SK': 'HUF',\n  'hu-UA': 'HUF',\n  'hy-AM': 'AMD',\n  'hy-CY': 'AMD',\n  'hy-GE': 'AMD',\n  'hy-IR': 'AMD',\n  'hy-LB': 'AMD',\n  'hy-SY': 'AMD',\n  'hy-TR': 'AMD',\n  'ia-SE': 'AMD',\n  'id-ID': 'IDR',\n  'id-NL': 'IDR',\n  'ig-NG': 'NGN',\n  'ii-CN': 'NGN',\n  'ik-US': 'NGN',\n  'is-IS': 'ISK',\n  'it-AU': 'ISK',\n  'it-BR': 'ISK',\n  'it-CA': 'ISK',\n  'it-CH': 'CHF',\n  'it-DE': 'CHF',\n  'it-FR': 'CHF',\n  'it-GB': 'CHF',\n  'it-HR': 'CHF',\n  'it-IT': 'EUR',\n  'it-SI': 'EUR',\n  'it-SM': 'EUR',\n  'it-US': 'EUR',\n  'it-VA': 'EUR',\n  'iu-GL': 'EUR',\n  'ja-BR': 'EUR',\n  'ja-JP': 'JPY',\n  'jv-ID': 'JPY',\n  'jv-MY': 'JPY',\n  'ka-GE': 'GEL',\n  'ka-IR': 'GEL',\n  'ka-TR': 'GEL',\n  'kg-CD': 'GEL',\n  'ki-KE': 'GEL',\n  'kj-NA': 'GEL',\n  'kl-DK': 'GEL',\n  'kl-GL': 'DKK',\n  'km-KH': 'KHR',\n  'kn-IN': 'INR',\n  'ko-BR': 'INR',\n  'ko-CN': 'INR',\n  'ko-JP': 'INR',\n  'ko-KP': 'INR',\n  'ko-KR': 'KRW',\n  'ko-US': 'KRW',\n  'ks-GB': 'KRW',\n  'ks-IN': 'INR',\n  'ks-PK': 'INR',\n  'ku-TR': 'TRY',\n  'kw-GB': 'GBP',\n  'la-VA': 'GBP',\n  'lb-LU': 'GBP',\n  'lg-UG': 'UGX',\n  'li-NL': 'EUR',\n  'ln-CD': 'EUR',\n  'ln-CG': 'EUR',\n  'lo-LA': 'LAK',\n  'lt-LT': 'LTL',\n  'lu-CD': 'LTL',\n  'lv-LV': 'LVL',\n  'mg-MG': 'MGA',\n  'mh-MH': 'MGA',\n  'mi-NZ': 'NZD',\n  'mk-AL': 'NZD',\n  'mk-GR': 'NZD',\n  'mk-MK': 'MKD',\n  'ml-AE': 'MKD',\n  'ml-BH': 'MKD',\n  'ml-GB': 'MKD',\n  'ml-IL': 'MKD',\n  'ml-IN': 'INR',\n  'ml-MY': 'INR',\n  'ml-QA': 'INR',\n  'ml-SG': 'INR',\n  'mr-IN': 'INR',\n  'ms-BN': 'INR',\n  'ms-CC': 'INR',\n  'ms-ID': 'INR',\n  'ms-MY': 'MYR',\n  'ms-SG': 'MYR',\n  'mt-MT': 'EUR',\n  'my-BD': 'EUR',\n  'my-MM': 'MMK',\n  'na-NR': 'MMK',\n  'nb-NO': 'NOK',\n  'nb-SJ': 'NOK',\n  'nd-ZW': 'NOK',\n  'ne-BT': 'NOK',\n  'ne-IN': 'NOK',\n  'ne-NP': 'INR',\n  'ng-NA': 'INR',\n  'nl-AW': 'AWG',\n  'nl-BE': 'EUR',\n  'nl-DE': 'EUR',\n  'nl-FR': 'EUR',\n  'nl-NL': 'EUR',\n  'nl-SR': 'EUR',\n  'nn-NO': 'NOK',\n  'nr-ZA': 'ZAR',\n  'nv-US': 'ZAR',\n  'ny-MW': 'ZAR',\n  'ny-MZ': 'ZAR',\n  'ny-ZM': 'ZAR',\n  'ny-ZW': 'ZAR',\n  'oc-FR': 'EUR',\n  'om-ET': 'ETB',\n  'om-KE': 'KES',\n  'om-SO': 'KES',\n  'or-IN': 'INR',\n  'os-GE': 'INR',\n  'pa-IN': 'INR',\n  'pl-CZ': 'INR',\n  'pl-DE': 'INR',\n  'pl-IL': 'INR',\n  'pl-PL': 'PLN',\n  'pl-RO': 'PLN',\n  'pl-SK': 'PLN',\n  'pl-UA': 'PLN',\n  'ps-AE': 'PLN',\n  'ps-AF': 'AFN',\n  'ps-IR': 'AFN',\n  'ps-PK': 'AFN',\n  'pt-AG': 'AFN',\n  'pt-AO': 'AFN',\n  'pt-BR': 'BRL',\n  'pt-CV': 'BRL',\n  'pt-FR': 'BRL',\n  'pt-GW': 'BRL',\n  'pt-MO': 'BRL',\n  'pt-MZ': 'BRL',\n  'pt-PT': 'EUR',\n  'pt-ST': 'EUR',\n  'pt-TL': 'EUR',\n  'qu-BO': 'EUR',\n  'qu-PE': 'EUR',\n  'rm-CH': 'EUR',\n  'rn-BI': 'EUR',\n  'ro-HU': 'EUR',\n  'ro-IL': 'EUR',\n  'ro-MD': 'EUR',\n  'ro-RO': 'RON',\n  'ro-RS': 'RON',\n  'ro-UA': 'RON',\n  'ru-BY': 'RON',\n  'ru-CN': 'RON',\n  'ru-DE': 'RON',\n  'ru-EE': 'RON',\n  'ru-FI': 'RON',\n  'ru-GE': 'RON',\n  'ru-IL': 'RON',\n  'ru-KG': 'RON',\n  'ru-KZ': 'RON',\n  'ru-LT': 'RON',\n  'ru-LV': 'RON',\n  'ru-MD': 'RON',\n  'ru-MN': 'RON',\n  'ru-RU': 'RUB',\n  'ru-SJ': 'RUB',\n  'ru-TM': 'RUB',\n  'ru-UA': 'UAH',\n  'ru-US': 'UAH',\n  'ru-UZ': 'UAH',\n  'rw-CD': 'UAH',\n  'rw-RW': 'RWF',\n  'rw-UG': 'RWF',\n  'sa-IN': 'INR',\n  'se-FI': 'INR',\n  'se-NO': 'NOK',\n  'se-SE': 'NOK',\n  'sg-CF': 'NOK',\n  'si-LK': 'LKR',\n  'sk-HU': 'LKR',\n  'sk-RS': 'LKR',\n  'sk-SK': 'EUR',\n  'sl-AT': 'EUR',\n  'sl-HU': 'EUR',\n  'sl-IT': 'EUR',\n  'sl-SI': 'EUR',\n  'sm-AS': 'EUR',\n  'sm-WS': 'EUR',\n  'sn-ZW': 'EUR',\n  'so-DJ': 'DJF',\n  'so-ET': 'ETB',\n  'so-KE': 'ETB',\n  'so-SO': 'SOS',\n  'sq-AL': 'ALL',\n  'sq-GR': 'ALL',\n  'sq-ME': 'ALL',\n  'sq-MK': 'MKD',\n  'sq-RS': 'MKD',\n  'sq-TR': 'MKD',\n  'sr-RS': 'RSD',\n  'ss-LS': 'RSD',\n  'ss-SZ': 'RSD',\n  'ss-ZA': 'ZAR',\n  'st-LS': 'ZAR',\n  'st-ZA': 'ZAR',\n  'su-ID': 'ZAR',\n  'sv-AX': 'ZAR',\n  'sv-FI': 'EUR',\n  'sv-SE': 'SEK',\n  'sw-BI': 'SEK',\n  'sw-CD': 'SEK',\n  'sw-KE': 'SEK',\n  'sw-MZ': 'SEK',\n  'sw-SO': 'SEK',\n  'sw-TZ': 'SEK',\n  'sw-UG': 'SEK',\n  'sw-YT': 'SEK',\n  'sw-ZA': 'SEK',\n  'ta-IN': 'INR',\n  'ta-LK': 'INR',\n  'ta-MU': 'INR',\n  'ta-MY': 'INR',\n  'ta-RE': 'INR',\n  'ta-SG': 'INR',\n  'te-IN': 'INR',\n  'th-TH': 'THB',\n  'ti-ER': 'ERN',\n  'ti-ET': 'ETB',\n  'ti-IL': 'ETB',\n  'tk-AF': 'ETB',\n  'tk-IR': 'ETB',\n  'tk-TM': 'TMM',\n  'tl-PH': 'PHP',\n  'tl-US': 'PHP',\n  'tn-BW': 'PHP',\n  'tn-NA': 'PHP',\n  'tn-ZA': 'ZAR',\n  'tn-ZW': 'ZAR',\n  'to-TO': 'ZAR',\n  'tr-BG': 'ZAR',\n  'tr-CY': 'TRY',\n  'tr-DE': 'TRY',\n  'tr-GR': 'TRY',\n  'tr-MK': 'TRY',\n  'tr-NL': 'TRY',\n  'tr-RO': 'TRY',\n  'tr-TR': 'TRY',\n  'tr-UA': 'TRY',\n  'tr-UZ': 'TRY',\n  'ts-MZ': 'TRY',\n  'ts-SZ': 'TRY',\n  'ts-ZA': 'ZAR',\n  'tt-RU': 'RUB',\n  'ty-PF': 'RUB',\n  'uk-PL': 'RUB',\n  'uk-SK': 'RUB',\n  'uk-UA': 'UAH',\n  'ur-IN': 'UAH',\n  'ur-MU': 'UAH',\n  'ur-PK': 'PKR',\n  've-ZA': 'ZAR',\n  've-ZW': 'ZAR',\n  'vi-CN': 'ZAR',\n  'vi-US': 'ZAR',\n  'vi-VN': 'VND',\n  'wa-BE': 'EUR',\n  'xh-LS': 'EUR',\n  'xh-ZA': 'ZAR',\n  'yi-UA': 'ZAR',\n  'yo-BJ': 'ZAR',\n  'yo-NG': 'NGN',\n  'za-CN': 'NGN',\n  'zh-CN': 'CNY',\n  'zh-HK': 'HKD',\n  'zh-TW': 'TWD',\n  'zu-LS': 'TWD',\n  'zu-MW': 'TWD',\n  'zu-MZ': 'TWD',\n  'zu-SZ': 'TWD',\n  'zu-ZA': 'ZAR',\n};\n","import { InjectionToken } from '@angular/core';\n\nimport LOCALE_CURRENCY from './locale-currency';\nimport {\n  TranslocoLocaleConfig,\n  LocaleConfigMapping,\n  LangToLocaleMapping,\n  LocaleToCurrencyMapping,\n  Locale,\n  Currency,\n} from './transloco-locale.types';\n\nexport const defaultConfig: Required<TranslocoLocaleConfig> = {\n  localeConfig: {\n    global: {},\n    localeBased: {},\n  },\n  defaultLocale: 'en-US',\n  defaultCurrency: 'USD',\n  localeToCurrencyMapping: LOCALE_CURRENCY,\n  langToLocaleMapping: {},\n};\n\nexport const TRANSLOCO_LOCALE_DEFAULT_LOCALE = new InjectionToken<Locale>(\n  'TRANSLOCO_LOCALE_DEFAULT_LOCALE'\n);\nexport const TRANSLOCO_LOCALE_DEFAULT_CURRENCY = new InjectionToken<Currency>(\n  'TRANSLOCO_LOCALE_DEFAULT_CURRENCY'\n);\nexport const TRANSLOCO_LOCALE_LANG_MAPPING =\n  new InjectionToken<LangToLocaleMapping>('TRANSLOCO_LOCALE_LANG_MAPPING');\nexport const TRANSLOCO_LOCALE_CONFIG = new InjectionToken<LocaleConfigMapping>(\n  'TRANSLOCO_LOCALE_CONFIG'\n);\nexport const TRANSLOCO_LOCALE_CURRENCY_MAPPING =\n  new InjectionToken<LocaleToCurrencyMapping>(\n    'TRANSLOCO_LOCALE_CURRENCY_MAPPING'\n  );\n","import { InjectionToken } from '@angular/core';\n\nimport { localizeNumber, localizeDate } from './helpers';\nimport {\n  Locale,\n  DateFormatOptions,\n  NumberStyles,\n} from './transloco-locale.types';\n\nexport interface TranslocoDateTransformer {\n  transform(date: Date, locale: Locale, options: DateFormatOptions): string;\n}\nexport interface TranslocoNumberTransformer {\n  transform(\n    value: number | string,\n    type: NumberStyles,\n    locale: Locale,\n    options: Intl.NumberFormatOptions\n  ): string;\n}\n\nexport const TRANSLOCO_DATE_TRANSFORMER =\n  new InjectionToken<TranslocoDateTransformer>('TRANSLOCO_DATE_TRANSFORMER');\nexport const TRANSLOCO_NUMBER_TRANSFORMER =\n  new InjectionToken<TranslocoNumberTransformer>(\n    'TRANSLOCO_NUMBER_TRANSFORMER'\n  );\n\nexport class DefaultDateTransformer implements TranslocoDateTransformer {\n  public transform(\n    date: Date,\n    locale: Locale,\n    options: DateFormatOptions\n  ): string {\n    return localizeDate(date, locale, options);\n  }\n}\nexport class DefaultNumberTransformer implements TranslocoNumberTransformer {\n  public transform(\n    value: number | string,\n    type: NumberStyles,\n    locale: string,\n    options: Intl.NumberFormatOptions\n  ): string {\n    return localizeNumber(value, locale, { ...options, style: type });\n  }\n}\n","import { inject, Injectable, OnDestroy } from '@angular/core';\nimport { TranslocoService } from '@jsverse/transloco';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\n\nimport { isLocaleFormat, toDate } from './helpers';\nimport { getDefaultOptions } from './shared';\nimport {\n  TRANSLOCO_LOCALE_CONFIG,\n  TRANSLOCO_LOCALE_CURRENCY_MAPPING,\n  TRANSLOCO_LOCALE_DEFAULT_CURRENCY,\n  TRANSLOCO_LOCALE_DEFAULT_LOCALE,\n  TRANSLOCO_LOCALE_LANG_MAPPING,\n} from './transloco-locale.config';\nimport {\n  TRANSLOCO_DATE_TRANSFORMER,\n  TRANSLOCO_NUMBER_TRANSFORMER,\n} from './transloco-locale.transformers';\nimport {\n  DateFormatOptions,\n  Locale,\n  LocaleConfig,\n  NumberStyles,\n  ValidDate,\n} from './transloco-locale.types';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class TranslocoLocaleService implements OnDestroy {\n  private translocoService = inject(TranslocoService);\n  private langLocaleMapping = inject(TRANSLOCO_LOCALE_LANG_MAPPING);\n  private defaultLocale = inject(TRANSLOCO_LOCALE_DEFAULT_LOCALE);\n  private defaultCurrency = inject(TRANSLOCO_LOCALE_DEFAULT_CURRENCY);\n  private localeCurrencyMapping = inject(TRANSLOCO_LOCALE_CURRENCY_MAPPING);\n  private numberTransformer = inject(TRANSLOCO_NUMBER_TRANSFORMER);\n  private dateTransformer = inject(TRANSLOCO_DATE_TRANSFORMER);\n  private localeConfig: LocaleConfig = inject(TRANSLOCO_LOCALE_CONFIG);\n\n  private _locale =\n    this.defaultLocale || this.toLocale(this.translocoService.getActiveLang());\n  private locale: BehaviorSubject<Locale> = new BehaviorSubject(this._locale);\n  private subscription: Subscription | null = this.translocoService.langChanges$\n    .pipe(\n      map((lang) => this.toLocale(lang)),\n      filter(Boolean)\n    )\n    .subscribe((locale: Locale) => this.setLocale(locale));\n\n  localeChanges$ = this.locale.asObservable().pipe(distinctUntilChanged());\n\n  getLocale() {\n    return this._locale;\n  }\n\n  setLocale(locale: Locale) {\n    if (!isLocaleFormat(locale)) {\n      console.error(`${locale} isn't a valid locale format`);\n      return;\n    }\n\n    this.locale.next(locale);\n    this._locale = locale;\n  }\n\n  /**\n   * Get the currency symbol for the currently set locale.\n   */\n  getCurrencySymbol(locale = this.getLocale()) {\n    const currency = this.localeCurrencyMapping[locale];\n    const numberFormat = new Intl.NumberFormat(locale, {\n      style: 'currency',\n      currencyDisplay: 'symbol',\n      currency,\n      minimumFractionDigits: 0,\n      maximumFractionDigits: 0,\n    });\n\n    const pivot = 0;\n\n    return numberFormat\n      .format(pivot)\n      .split(pivot.toString())\n      .map((element) => element.trim())\n      .find((element) => !!element);\n  }\n\n  /**\n   * Transform a date into the locale's date format.\n   *\n   * The date expression: a `Date` object, a number\n   * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).\n   *\n   * @example\n   *\n   * localizeDate(new Date(2019, 9, 7, 12, 0, 0)) // 10/7/2019\n   * localizeDate(date, 'en-US', { dateStyle: 'medium', timeStyle: 'medium' }) // Sep 10, 2019, 10:46:12 PM\n   * localizeDate(date) 'en-US', { timeZone: 'UTC', timeStyle: 'full' } // 7:40:32 PM Coordinated Universal Time\n   * localizeDate(1, 'en-US', { dateStyle: 'medium' }) // Jan 1, 1970\n   * localizeDate('2019-02-08', 'en-US', { dateStyle: 'medium' }) // Feb 8, 2019\n   */\n  localizeDate(\n    date: ValidDate,\n    locale: Locale = this.getLocale(),\n    options: DateFormatOptions = {}\n  ): string {\n    const resolved =\n      options ?? getDefaultOptions(locale, 'date', this.localeConfig);\n\n    return this.dateTransformer.transform(toDate(date), locale, resolved);\n  }\n\n  /**\n   * Transform a number into the locale's number format according to the number type.\n   *\n   * localizeNumber(1234567890, 'decimal') // 1,234,567,890\n   * localizeNumber(0.5, 'percent') // 50%\n   * localizeNumber(1000, 'currency') // $1,000.00\n   */\n  localizeNumber(\n    value: number | string,\n    style: NumberStyles,\n    locale: Locale = this.getLocale(),\n    options?: Intl.NumberFormatOptions\n  ): string {\n    let resolved =\n      options ?? getDefaultOptions(locale, style, this.localeConfig);\n\n    if (style === 'currency') {\n      resolved = {\n        ...resolved,\n        currency: resolved.currency || this._resolveCurrencyCode(locale),\n      };\n    }\n\n    return this.numberTransformer.transform(value, style, locale, resolved);\n  }\n\n  /**\n   * @internal\n   */\n  _resolveCurrencyCode(locale: Locale = this.getLocale()) {\n    return this.localeCurrencyMapping[locale] || this.defaultCurrency;\n  }\n\n  ngOnDestroy() {\n    this.subscription?.unsubscribe();\n    // Caretaker note: it's important to clean up references to subscriptions since they save the `next`\n    // callback within its `destination` property, preventing classes from being GC'd.\n    this.subscription = null;\n  }\n\n  private toLocale(val: string | Locale): Locale {\n    if (this.langLocaleMapping[val]) {\n      return this.langLocaleMapping[val];\n    }\n\n    if (isLocaleFormat(val)) {\n      return val;\n    }\n\n    return '';\n  }\n}\n","import {\n  ChangeDetectorRef,\n  inject,\n  Injectable,\n  OnDestroy,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Locale } from '../../lib/transloco-locale.types';\nimport { TranslocoLocaleService } from '../transloco-locale.service';\n\n@Injectable()\nexport abstract class BaseLocalePipe implements OnDestroy {\n  protected localeService = inject(TranslocoLocaleService);\n  protected cdr = inject(ChangeDetectorRef);\n\n  private localeChangeSub: Subscription | null =\n    this.localeService.localeChanges$.subscribe(() => this.cdr.markForCheck());\n\n  protected getLocale(locale?: Locale): Locale {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    return locale || this.localeService.getLocale()!;\n  }\n\n  ngOnDestroy(): void {\n    this.localeChangeSub?.unsubscribe();\n    // Caretaker note: it's important to clean up references to subscriptions since they save the `next`\n    // callback within its `destination` property, preventing classes from being GC'd.\n    this.localeChangeSub = null;\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { isNil } from '@jsverse/transloco';\n\nimport { getDefaultOptions } from '../shared';\nimport { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';\nimport {\n  Currency,\n  Locale,\n  LocaleConfig,\n  NumberFormatOptions,\n} from '../transloco-locale.types';\n\nimport { BaseLocalePipe } from './base-locale.pipe';\n\n@Pipe({\n  name: 'translocoCurrency',\n  pure: false,\n  standalone: true,\n})\nexport class TranslocoCurrencyPipe\n  extends BaseLocalePipe\n  implements PipeTransform\n{\n  private localeConfig: LocaleConfig = inject(TRANSLOCO_LOCALE_CONFIG);\n\n  /**\n   * Transform a given number into the locale's currency format.\n   *\n   * @example\n   *\n   * 1000000 | translocoCurrency: 'symbol' : {} : USD // $1,000,000.00\n   * 1000000 | translocoCurrency: 'name' : {} : USD // 1,000,000.00 US dollars\n   * 1000000 | translocoCurrency: 'symbol' : {minimumFractionDigits: 0 } : USD // $1,000,000\n   * 1000000 | translocoCurrency: 'symbol' : {minimumFractionDigits: 0 } : CAD // CA$1,000,000\n   * 1000000 | translocoCurrency: 'narrowSymbol' : {minimumFractionDigits: 0 } : CAD // $1,000,000\n   *\n   */\n  transform(\n    value: number | string,\n    display: 'code' | 'symbol' | 'narrowSymbol' | 'name' = 'symbol',\n    numberFormatOptions: NumberFormatOptions = {},\n    currencyCode?: Currency,\n    locale?: Locale\n  ): string {\n    if (isNil(value)) return '';\n    locale = this.getLocale(locale);\n\n    const options = {\n      ...getDefaultOptions(locale, 'currency', this.localeConfig),\n      ...numberFormatOptions,\n      currencyDisplay: display,\n      currency: currencyCode || this.localeService._resolveCurrencyCode(),\n    };\n\n    return this.localeService.localizeNumber(\n      value,\n      'currency',\n      locale,\n      options\n    );\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { isNil } from '@jsverse/transloco';\n\nimport { getDefaultOptions } from '../shared';\nimport { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';\nimport {\n  DateFormatOptions,\n  Locale,\n  LocaleConfig,\n  ValidDate,\n} from '../transloco-locale.types';\n\nimport { BaseLocalePipe } from './base-locale.pipe';\n\n@Pipe({\n  name: 'translocoDate',\n  pure: false,\n  standalone: true,\n})\nexport class TranslocoDatePipe extends BaseLocalePipe implements PipeTransform {\n  private localeConfig: LocaleConfig = inject(TRANSLOCO_LOCALE_CONFIG);\n\n  /**\n   * Transform a date into the locale's date format.\n   *\n   * The date expression: a `Date` object,  a number\n   * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).\n   *\n   * @example\n   *\n   * date | translocoDate: {} : en-US // 9/10/2019\n   * date | translocoDate: { dateStyle: 'medium', timeStyle: 'medium' } : en-US // Sep 10, 2019, 10:46:12 PM\n   * date | translocoDate: { timeZone: 'UTC', timeStyle: 'full' } : en-US // 7:40:32 PM Coordinated Universal Time\n   * 1 | translocoDate: { dateStyle: 'medium' } // Jan 1, 1970\n   * '2019-02-08' | translocoDate: { dateStyle: 'medium' } // Feb 8, 2019\n   */\n  transform(date: ValidDate, options: DateFormatOptions = {}, locale?: Locale) {\n    if (isNil(date)) return '';\n    locale = this.getLocale(locale);\n\n    return this.localeService.localizeDate(date, locale, {\n      ...getDefaultOptions(locale, 'date', this.localeConfig),\n      ...options,\n    });\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { isNil } from '@jsverse/transloco';\n\nimport { getDefaultOptions } from '../shared';\nimport { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';\nimport {\n  Locale,\n  LocaleConfig,\n  NumberFormatOptions,\n} from '../transloco-locale.types';\n\nimport { BaseLocalePipe } from './base-locale.pipe';\n\n@Pipe({\n  name: 'translocoDecimal',\n  pure: false,\n  standalone: true,\n})\nexport class TranslocoDecimalPipe\n  extends BaseLocalePipe\n  implements PipeTransform\n{\n  private localeConfig: LocaleConfig = inject(TRANSLOCO_LOCALE_CONFIG);\n\n  /**\n   * Transform a given number into the locale's currency format.\n   *\n   * @example\n   *\n   * 1234567890 | translocoDecimal: {} : en-US // 1,234,567,890\n   * 1234567890 | translocoDecimal: {useGrouping: false}: en-US // 1234567890\n   *\n   */\n  transform(\n    value: string | number,\n    numberFormatOptions: NumberFormatOptions = {},\n    locale?: Locale\n  ): string {\n    if (isNil(value)) return '';\n    locale = this.getLocale(locale);\n\n    const options = {\n      ...getDefaultOptions(locale, 'decimal', this.localeConfig),\n      ...numberFormatOptions,\n    };\n\n    return this.localeService.localizeNumber(value, 'decimal', locale, options);\n  }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { isNil } from '@jsverse/transloco';\n\nimport { getDefaultOptions } from '../shared';\nimport { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config';\nimport {\n  Locale,\n  LocaleConfig,\n  NumberFormatOptions,\n} from '../transloco-locale.types';\n\nimport { BaseLocalePipe } from './base-locale.pipe';\n\n@Pipe({\n  name: 'translocoPercent',\n  pure: false,\n  standalone: true,\n})\nexport class TranslocoPercentPipe\n  extends BaseLocalePipe\n  implements PipeTransform\n{\n  private localeConfig: LocaleConfig = inject(TRANSLOCO_LOCALE_CONFIG);\n\n  /**\n   * Transform a given number into the locale's currency format.\n   *\n   * @example\n   *\n   * 1 | translocoPercent : {} : en-US // 100%\n   * \"1\" | translocoPercent : {} : en-US // 100%\n   *\n   */\n  transform(\n    value: number | string,\n    numberFormatOptions: NumberFormatOptions = {},\n    locale?: Locale\n  ): string {\n    if (isNil(value)) return '';\n    locale = this.getLocale(locale);\n\n    const options = {\n      ...getDefaultOptions(locale, 'percent', this.localeConfig),\n      ...numberFormatOptions,\n    };\n\n    return this.localeService.localizeNumber(value, 'percent', locale, options);\n  }\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n  TranslocoCurrencyPipe,\n  TranslocoDatePipe,\n  TranslocoDecimalPipe,\n  TranslocoPercentPipe,\n} from './pipes';\n\nconst decl = [\n  TranslocoCurrencyPipe,\n  TranslocoDatePipe,\n  TranslocoDecimalPipe,\n  TranslocoPercentPipe,\n];\n\n@NgModule({\n  imports: decl,\n  exports: decl,\n})\nexport class TranslocoLocaleModule {}\n","import { makeEnvironmentProviders, Type } from '@angular/core';\n\nimport {\n  Currency,\n  LangToLocaleMapping,\n  Locale,\n  LocaleConfig,\n  LocaleToCurrencyMapping,\n  TranslocoLocaleConfig,\n} from './transloco-locale.types';\nimport {\n  defaultConfig,\n  TRANSLOCO_LOCALE_CONFIG,\n  TRANSLOCO_LOCALE_CURRENCY_MAPPING,\n  TRANSLOCO_LOCALE_DEFAULT_CURRENCY,\n  TRANSLOCO_LOCALE_DEFAULT_LOCALE,\n  TRANSLOCO_LOCALE_LANG_MAPPING,\n} from './transloco-locale.config';\nimport {\n  DefaultDateTransformer,\n  DefaultNumberTransformer,\n  TRANSLOCO_DATE_TRANSFORMER,\n  TRANSLOCO_NUMBER_TRANSFORMER,\n  TranslocoDateTransformer,\n  TranslocoNumberTransformer,\n} from './transloco-locale.transformers';\n\nexport function provideTranslocoLocale(config?: TranslocoLocaleConfig) {\n  const merged = {\n    ...defaultConfig,\n    ...config,\n  };\n\n  return [\n    provideTranslocoLocaleConfig(merged.localeConfig),\n    provideTranslocoDefaultLocale(merged.defaultLocale),\n    provideTranslocoDefaultCurrency(merged.defaultCurrency),\n    provideTranslocoLocaleLangMapping(merged.langToLocaleMapping),\n    provideTranslocoLocaleCurrencyMapping(merged.localeToCurrencyMapping),\n    provideTranslocoDateTransformer(DefaultDateTransformer),\n    provideTranslocoNumberTransformer(DefaultNumberTransformer),\n  ];\n}\n\nexport function provideTranslocoLocaleConfig(config: LocaleConfig) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_LOCALE_CONFIG,\n      useValue: config,\n    },\n  ]);\n}\n\nexport function provideTranslocoLocaleLangMapping(\n  langToLocale: LangToLocaleMapping\n) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_LOCALE_LANG_MAPPING,\n      useValue: langToLocale,\n    },\n  ]);\n}\n\nexport function provideTranslocoLocaleCurrencyMapping(\n  localeToCurrency: LocaleToCurrencyMapping\n) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_LOCALE_CURRENCY_MAPPING,\n      useValue: localeToCurrency,\n    },\n  ]);\n}\n\nexport function provideTranslocoDefaultLocale(defaultLocale: Locale) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_LOCALE_DEFAULT_LOCALE,\n      useValue: defaultLocale,\n    },\n  ]);\n}\n\nexport function provideTranslocoDefaultCurrency(defaultCurrency: Currency) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_LOCALE_DEFAULT_CURRENCY,\n      useValue: defaultCurrency,\n    },\n  ]);\n}\n\nexport function provideTranslocoDateTransformer(\n  transformer: Type<TranslocoDateTransformer>\n) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_DATE_TRANSFORMER,\n      useClass: transformer,\n    },\n  ]);\n}\n\nexport function provideTranslocoNumberTransformer(\n  transformer: Type<TranslocoNumberTransformer>\n) {\n  return makeEnvironmentProviders([\n    {\n      provide: TRANSLOCO_NUMBER_TRANSFORMER,\n      useClass: transformer,\n    },\n  ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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AK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KA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"}