{
  "version": 3,
  "sources": ["../../../../../../node_modules/property-expr/index.js", "../../../../../../node_modules/tiny-case/index.js", "../../../../../../node_modules/toposort/index.js", "../../../../../../owl-nest/common/models/src/i18n.ts", "../../../../../../owl-nest/common/config/env/countries.ts", "../../../../../../owl-nest/common/models/src/reward.ts", "../../../../../../owl-nest/common/models/src/image.ts", "../../../../../../owl-nest/common/models/src/option.ts", "../../../../../../owl-nest/common/models/src/variant.ts", "../../../../../../owl-nest/common/models/src/project/base.ts", "../../../../../../owl-nest/common/models/src/project/index.ts", "../../../../../../owl-nest/common/models/src/project/extratime.ts", "../../../../../../owl-nest/common/models/index.ts", "../../../../../../owl-nest/common/models/src/channel.ts", "../../../../../../owl-nest/common/models/src/faq.ts", "../../../../../../owl-nest/common/models/src/impact.ts", "../../../../../../owl-nest/common/models/src/order.ts", "../../../../../../owl-nest/common/models/src/orderItem.ts", "../../../../../../owl-nest/common/models/src/pickup.ts", "../../../../../../owl-nest/ulule/common/address/src/model.ts", "../../../../../../owl-nest/ulule/common/address/src/phone/phoneValidator.ts", "../../../../../../node_modules/libphonenumber-js/max/index.js", "../../../../../../node_modules/libphonenumber-js/max/exports/parsePhoneNumberWithError.js", "../../../../../../node_modules/libphonenumber-js/max/exports/withMetadataArgument.js", "../../../../../../node_modules/libphonenumber-js/metadata.max.json.js", "../../../../../../node_modules/libphonenumber-js/core/index.js", "../../../../../../node_modules/libphonenumber-js/source/ParseError.js", "../../../../../../node_modules/libphonenumber-js/source/parsePhoneNumberWithError.js", "../../../../../../node_modules/libphonenumber-js/source/parse.js", "../../../../../../node_modules/libphonenumber-js/source/constants.js", "../../../../../../node_modules/libphonenumber-js/source/tools/semver-compare.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/isObject.js", "../../../../../../node_modules/libphonenumber-js/source/metadata.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/parseDigits.js", "../../../../../../node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js", "../../../../../../node_modules/libphonenumber-js/source/getCountryCallingCode.js", "../../../../../../node_modules/libphonenumber-js/source/isPossible.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/checkNumberLength.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/mergeArrays.js", "../../../../../../node_modules/libphonenumber-js/source/isValid.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/matchesEntirely.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/getNumberType.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/getIddPrefix.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/RFC3966.js", "../../../../../../node_modules/libphonenumber-js/source/format.js", "../../../../../../node_modules/libphonenumber-js/source/PhoneNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js", "../../../../../../node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js", "../../../../../../node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js", "../../../../../../node_modules/libphonenumber-js/source/normalizeArguments.js", "../../../../../../node_modules/yup/index.esm.js", "../../../../../../owl-nest/common/models/src/proposal.ts", "../../../../../../owl-nest/common/models/src/subscription.ts", "../../../../../../owl-nest/common/models/src/sku.ts", "../../../../../../owl-nest/common/models/src/sponsorship.ts", "../../../../../../owl-nest/common/models/src/user.ts"],
  "sourcesContent": ["/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n  this._maxSize = maxSize\n  this.clear()\n}\nCache.prototype.clear = function () {\n  this._size = 0\n  this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n  return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n  this._size >= this._maxSize && this.clear()\n  if (!(key in this._values)) this._size++\n\n  return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n  DIGIT_REGEX = /^\\d+$/,\n  LEAD_DIGIT_REGEX = /^\\d/,\n  SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n  CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n  MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n  setCache = new Cache(MAX_CACHE_SIZE),\n  getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n  Cache: Cache,\n\n  split: split,\n\n  normalizePath: normalizePath,\n\n  setter: function (path) {\n    var parts = normalizePath(path)\n\n    return (\n      setCache.get(path) ||\n      setCache.set(path, function setter(obj, value) {\n        var index = 0\n        var len = parts.length\n        var data = obj\n\n        while (index < len - 1) {\n          var part = parts[index]\n          if (\n            part === '__proto__' ||\n            part === 'constructor' ||\n            part === 'prototype'\n          ) {\n            return obj\n          }\n\n          data = data[parts[index++]]\n        }\n        data[parts[index]] = value\n      })\n    )\n  },\n\n  getter: function (path, safe) {\n    var parts = normalizePath(path)\n    return (\n      getCache.get(path) ||\n      getCache.set(path, function getter(data) {\n        var index = 0,\n          len = parts.length\n        while (index < len) {\n          if (data != null || !safe) data = data[parts[index++]]\n          else return\n        }\n        return data\n      })\n    )\n  },\n\n  join: function (segments) {\n    return segments.reduce(function (path, part) {\n      return (\n        path +\n        (isQuoted(part) || DIGIT_REGEX.test(part)\n          ? '[' + part + ']'\n          : (path ? '.' : '') + part)\n      )\n    }, '')\n  },\n\n  forEach: function (path, cb, thisArg) {\n    forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n  },\n}\n\nfunction normalizePath(path) {\n  return (\n    pathCache.get(path) ||\n    pathCache.set(\n      path,\n      split(path).map(function (part) {\n        return part.replace(CLEAN_QUOTES_REGEX, '$2')\n      })\n    )\n  )\n}\n\nfunction split(path) {\n  return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n  var len = parts.length,\n    part,\n    idx,\n    isArray,\n    isBracket\n\n  for (idx = 0; idx < len; idx++) {\n    part = parts[idx]\n\n    if (part) {\n      if (shouldBeQuoted(part)) {\n        part = '\"' + part + '\"'\n      }\n\n      isBracket = isQuoted(part)\n      isArray = !isBracket && /^\\d+$/.test(part)\n\n      iter.call(thisArg, part, isBracket, isArray, idx, parts)\n    }\n  }\n}\n\nfunction isQuoted(str) {\n  return (\n    typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n  )\n}\n\nfunction hasLeadingNumber(part) {\n  return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n  return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n  return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n", "const reWords = /[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+|(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*/g\n\nconst words = (str) => str.match(reWords) || []\n\nconst upperFirst = (str) => str[0].toUpperCase() + str.slice(1)\n\nconst join = (str, d) => words(str).join(d).toLowerCase()\n\nconst camelCase = (str) =>\n  words(str).reduce(\n    (acc, next) =>\n      `${acc}${\n        !acc\n          ? next.toLowerCase()\n          : next[0].toUpperCase() + next.slice(1).toLowerCase()\n      }`,\n    '',\n  )\n\nconst pascalCase = (str) => upperFirst(camelCase(str))\n\nconst snakeCase = (str) => join(str, '_')\n\nconst kebabCase = (str) => join(str, '-')\n\nconst sentenceCase = (str) => upperFirst(join(str, ' '))\n\nconst titleCase = (str) => words(str).map(upperFirst).join(' ')\n\nmodule.exports = {\n  words,\n  upperFirst,\n  camelCase,\n  pascalCase,\n  snakeCase,\n  kebabCase,\n  sentenceCase,\n  titleCase,\n}\n", "\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n  return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n  var cursor = nodes.length\n    , sorted = new Array(cursor)\n    , visited = {}\n    , i = cursor\n    // Better data structures make algorithm much faster.\n    , outgoingEdges = makeOutgoingEdges(edges)\n    , nodesHash = makeNodesHash(nodes)\n\n  // check for unknown nodes\n  edges.forEach(function(edge) {\n    if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n      throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n    }\n  })\n\n  while (i--) {\n    if (!visited[i]) visit(nodes[i], i, new Set())\n  }\n\n  return sorted\n\n  function visit(node, i, predecessors) {\n    if(predecessors.has(node)) {\n      var nodeRep\n      try {\n        nodeRep = \", node was:\" + JSON.stringify(node)\n      } catch(e) {\n        nodeRep = \"\"\n      }\n      throw new Error('Cyclic dependency' + nodeRep)\n    }\n\n    if (!nodesHash.has(node)) {\n      throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n    }\n\n    if (visited[i]) return;\n    visited[i] = true\n\n    var outgoing = outgoingEdges.get(node) || new Set()\n    outgoing = Array.from(outgoing)\n\n    if (i = outgoing.length) {\n      predecessors.add(node)\n      do {\n        var child = outgoing[--i]\n        visit(child, nodesHash.get(child), predecessors)\n      } while (i)\n      predecessors.delete(node)\n    }\n\n    sorted[--cursor] = node\n  }\n}\n\nfunction uniqueNodes(arr){\n  var res = new Set()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    res.add(edge[0])\n    res.add(edge[1])\n  }\n  return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n  var edges = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n    if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n    edges.get(edge[0]).add(edge[1])\n  }\n  return edges\n}\n\nfunction makeNodesHash(arr){\n  var res = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    res.set(arr[i], i)\n  }\n  return res\n}\n", "import { I18n, Lang } from '@owl-nest/api-client/latest'\nimport * as env from '@owl-nest/config'\n\n/**\n * First try user lang, then param fallbackLang and fallback to first key found with defined value (and non empty if string)\n */\nexport function get<TYPE>(i18n: I18n<TYPE>): TYPE | undefined\nexport function get<TYPE>(i18n: I18n<TYPE>, fallbackLang: Lang): TYPE | undefined\nexport function get<TYPE>(i18n: I18n<TYPE>, fallbackLang: Lang | undefined, fallback: TYPE): TYPE\nexport function get<TYPE>(i18n: I18n<TYPE>, fallbackLang?: Lang | undefined, fallback?: TYPE): TYPE | undefined {\n  const userLang = env.getUserConfig().lang\n\n  return getWithLang(i18n, userLang, fallbackLang, fallback)\n}\n\nexport function getWithLang<TYPE>(\n  i18n: I18n<TYPE>,\n  userLang: Lang,\n  fallbackLang?: Lang | undefined,\n  fallback?: TYPE,\n): TYPE | undefined {\n  return deepGet(i18n, (t) => t, userLang, fallbackLang, fallback)\n}\n\nexport function deepGet<TYPE, VALUE>(\n  i18n: I18n<TYPE>,\n  getter: (type: TYPE) => VALUE | undefined,\n  userLang: Lang,\n  fallbackLang?: Lang | undefined,\n  fallback?: VALUE,\n): VALUE | undefined {\n  const userLangTraduction = i18n[userLang]\n  if (userLangTraduction && getter(userLangTraduction)) {\n    return getter(userLangTraduction)\n  }\n\n  const esTraduction = i18n['es']\n  if (userLang === 'ca' && esTraduction && getter(esTraduction)) {\n    return getter(esTraduction)\n  }\n\n  const defaultLocaleTraduction = i18n[env.DEFAULT_LOCALE]\n  if (defaultLocaleTraduction && getter(defaultLocaleTraduction)) {\n    return getter(defaultLocaleTraduction)\n  }\n\n  if (fallbackLang) {\n    const fallbackTranslation = i18n[fallbackLang]\n    if (fallbackTranslation && getter(fallbackTranslation)) {\n      return getter(fallbackTranslation)\n    }\n  }\n\n  for (const translation of Object.values(i18n)) {\n    if (translation && getter(translation)) {\n      const value = getter(translation)\n      if (typeof value === 'string') {\n        if (value !== '') {\n          return value\n        }\n      } else {\n        return value\n      }\n    }\n  }\n\n  return fallback\n}\n\nexport function resetData<TYPE>(i18n: I18n<TYPE>, def: TYPE): I18n<TYPE> {\n  return Object.keys(i18n).reduce((i18n, lang) => {\n    i18n[lang as Lang] = def\n    return i18n\n  }, {} as I18n<TYPE>)\n}\n\nexport function addLang<TYPE>(i18n: I18n<TYPE>, lang: Lang, value: TYPE): I18n<TYPE> {\n  return {\n    ...i18n,\n    [lang]: value,\n  }\n}\n\nexport function removeLang<TYPE>(i18n: I18n<TYPE>, lang: Lang): I18n<TYPE> {\n  return {\n    ...i18n,\n    [lang]: null,\n  }\n}\n\nexport function isEmpty<TYPE>(i18n: I18n<TYPE>): boolean {\n  return Object.values(i18n).every((entry) => !entry)\n}\n\nexport function getLangs<TYPE>(i18n: I18n<TYPE>, isEmpty: (type: TYPE) => boolean = (type) => !type): Lang[] {\n  const langs: Lang[] = []\n\n  const keys = Object.keys(i18n) as Lang[]\n\n  for (const lang of keys) {\n    const entry = i18n[lang]\n    if (entry && !isEmpty(entry)) {\n      langs.push(lang)\n    }\n  }\n\n  return langs\n}\n", "import { getUserConfig } from '../useUserConfig.ts'\nimport { translateCountriesLabel } from '../utils.ts'\n\nexport type Country = {\n  label: () => string\n  code: string\n  flag: string\n  prefix: number\n}\n\nexport const CURRENCIES_COUNTRY: Record<string, string> = {\n  AF: 'USD',\n  AX: 'EUR',\n  AL: 'USD',\n  DZ: 'USD',\n  AS: 'USD',\n  AD: 'EUR',\n  AO: 'USD',\n  AI: 'USD',\n  AQ: 'USD',\n  AG: 'USD',\n  AR: 'USD',\n  AM: 'USD',\n  AW: 'USD',\n  AU: 'AUD',\n  AT: 'EUR',\n  AZ: 'USD',\n  BS: 'USD',\n  BH: 'USD',\n  BD: 'USD',\n  BB: 'USD',\n  BY: 'USD',\n  BE: 'EUR',\n  BZ: 'USD',\n  BJ: 'USD',\n  BM: 'USD',\n  BT: 'USD',\n  BO: 'USD',\n  BA: 'USD',\n  BW: 'USD',\n  BV: 'NOK',\n  BR: 'USD',\n  IO: 'USD',\n  BG: 'USD',\n  BF: 'USD',\n  BI: 'USD',\n  KH: 'USD',\n  CM: 'USD',\n  CA: 'CAD',\n  CV: 'USD',\n  KY: 'USD',\n  CF: 'USD',\n  TD: 'USD',\n  CL: 'USD',\n  CN: 'USD',\n  CX: 'AUD',\n  CC: 'AUD',\n  CO: 'USD',\n  KM: 'USD',\n  CG: 'USD',\n  CD: 'USD',\n  CK: 'NZD',\n  CR: 'USD',\n  CI: 'USD',\n  HR: 'USD',\n  CU: 'USD',\n  CY: 'EUR',\n  DK: 'DKK',\n  DJ: 'USD',\n  DM: 'USD',\n  DO: 'USD',\n  EC: 'USD',\n  EG: 'USD',\n  SV: 'USD',\n  GQ: 'USD',\n  ER: 'USD',\n  EE: 'EUR',\n  ET: 'USD',\n  FK: 'GBP',\n  FO: 'DKK',\n  FJ: 'USD',\n  FI: 'EUR',\n  FR: 'EUR',\n  GF: 'EUR',\n  PF: 'USD',\n  TF: 'EUR',\n  GA: 'USD',\n  GM: 'USD',\n  GE: 'USD',\n  DE: 'EUR',\n  GH: 'USD',\n  GI: 'GBP',\n  GR: 'EUR',\n  GL: 'DKK',\n  GD: 'USD',\n  GP: 'EUR',\n  GU: 'USD',\n  GT: 'USD',\n  GG: 'GBP',\n  GN: 'USD',\n  GW: 'USD',\n  GY: 'USD',\n  HT: 'USD',\n  HM: 'AUD',\n  VA: 'EUR',\n  HN: 'USD',\n  IS: 'USD',\n  IN: 'USD',\n  ID: 'USD',\n  IR: 'USD',\n  IQ: 'USD',\n  IE: 'EUR',\n  IM: 'GBP',\n  IT: 'EUR',\n  JM: 'USD',\n  JE: 'GBP',\n  JO: 'USD',\n  KZ: 'USD',\n  KE: 'USD',\n  KI: 'AUD',\n  KP: 'USD',\n  KR: 'USD',\n  KW: 'USD',\n  KG: 'USD',\n  LA: 'USD',\n  LV: 'USD',\n  LB: 'USD',\n  LS: 'USD',\n  LR: 'USD',\n  LY: 'USD',\n  LI: 'CHF',\n  LT: 'USD',\n  LU: 'EUR',\n  MO: 'USD',\n  MK: 'USD',\n  MG: 'USD',\n  MW: 'USD',\n  MV: 'USD',\n  ML: 'USD',\n  MT: 'EUR',\n  MH: 'USD',\n  MQ: 'EUR',\n  MR: 'USD',\n  MU: 'USD',\n  YT: 'EUR',\n  FM: 'USD',\n  MD: 'USD',\n  MC: 'EUR',\n  MN: 'USD',\n  ME: 'EUR',\n  MS: 'USD',\n  MA: 'USD',\n  MZ: 'USD',\n  MM: 'USD',\n  NA: 'USD',\n  NR: 'AUD',\n  NP: 'USD',\n  NL: 'EUR',\n  AN: 'USD',\n  NC: 'USD',\n  NZ: 'NZD',\n  NI: 'USD',\n  NE: 'USD',\n  NG: 'USD',\n  NU: 'NZD',\n  NF: 'AUD',\n  MP: 'USD',\n  NO: 'NOK',\n  OM: 'USD',\n  PK: 'USD',\n  PW: 'USD',\n  PA: 'USD',\n  PG: 'USD',\n  PY: 'USD',\n  PE: 'USD',\n  PN: 'NZD',\n  PT: 'EUR',\n  PR: 'USD',\n  QA: 'USD',\n  RE: 'EUR',\n  RO: 'USD',\n  RU: 'USD',\n  RW: 'USD',\n  BL: 'EUR',\n  SH: 'GBP',\n  KN: 'USD',\n  LC: 'USD',\n  MF: 'EUR',\n  PM: 'EUR',\n  VC: 'USD',\n  WS: 'USD',\n  SM: 'EUR',\n  ST: 'USD',\n  SA: 'USD',\n  SN: 'USD',\n  RS: 'USD',\n  SC: 'USD',\n  SL: 'USD',\n  SK: 'EUR',\n  SI: 'EUR',\n  SB: 'USD',\n  SO: 'USD',\n  ZA: 'USD',\n  GS: 'GBP',\n  ES: 'EUR',\n  LK: 'USD',\n  SD: 'USD',\n  SR: 'USD',\n  SJ: 'NOK',\n  SZ: 'USD',\n  SE: 'SEK',\n  CH: 'CHF',\n  SY: 'USD',\n  TJ: 'USD',\n  TZ: 'USD',\n  TL: 'USD',\n  TG: 'USD',\n  TO: 'USD',\n  TT: 'USD',\n  TN: 'USD',\n  TR: 'USD',\n  TM: 'USD',\n  TC: 'USD',\n  TV: 'AUD',\n  UG: 'USD',\n  UA: 'USD',\n  AE: 'USD',\n  GB: 'GBP',\n  US: 'USD',\n  UM: 'USD',\n  UY: 'USD',\n  UZ: 'USD',\n  VU: 'USD',\n  VE: 'USD',\n  VN: 'USD',\n  VG: 'USD',\n  VI: 'USD',\n  WF: 'USD',\n  EH: 'USD',\n  YE: 'USD',\n  ZM: 'USD',\n  ZW: 'USD',\n}\n\ntype SupportedCountries = {\n  [currencyCode: string]: {\n    [countryCode: string]: () => string\n  }\n}\n\nfunction getLabel(code: string) {\n  const userConfig = getUserConfig()\n  return translateCountriesLabel(code, userConfig.lang)\n}\n\nexport const SUPPORTED_COUNTRIES: SupportedCountries = {\n  EUR: {\n    AD: () => {\n      return getLabel('AD') ?? 'Andorre'\n    },\n    AT: () => {\n      return getLabel('AT') ?? 'Autriche'\n    },\n    BE: () => {\n      return getLabel('BE') ?? 'Belgique'\n    },\n    BG: () => {\n      return getLabel('BG') ?? 'Bulgarie'\n    },\n    IE: () => {\n      return getLabel('IE') ?? 'Irlande'\n    },\n    IT: () => {\n      return getLabel('IT') ?? 'Italie'\n    },\n    IS: () => {\n      return getLabel('IS') ?? 'Islande'\n    },\n    FI: () => {\n      return getLabel('FI') ?? 'Finlande'\n    },\n    FR: () => {\n      return getLabel('FR') ?? 'France'\n    },\n    LU: () => {\n      return getLabel('LU') ?? 'Luxembourg'\n    },\n    NL: () => {\n      return getLabel('NL') ?? 'Pays-Bas'\n    },\n    PT: () => {\n      return getLabel('PT') ?? 'Portugal'\n    },\n    ES: () => {\n      return getLabel('ES') ?? 'Espagne'\n    },\n    RO: () => {\n      return getLabel('RO') ?? 'Roumanie'\n    },\n    PL: () => {\n      return getLabel('PL') ?? 'Pologne'\n    },\n    LV: () => {\n      return getLabel('LV') ?? 'Lettonie'\n    },\n    CY: () => {\n      return getLabel('CY') ?? 'Chypre'\n    },\n    CZ: () => {\n      return getLabel('CZ') ?? 'R\u00E9publique tch\u00E8que'\n    },\n    EE: () => {\n      return getLabel('EE') ?? 'Estonie'\n    },\n    GR: () => {\n      return getLabel('GR') ?? 'Gr\u00E8ce'\n    },\n    HR: () => {\n      return getLabel('HR') ?? 'Croatie'\n    },\n    HU: () => {\n      return getLabel('HU') ?? 'Hongrie'\n    },\n    NO: () => {\n      return getLabel('NO') ?? 'Norv\u00E8ge'\n    },\n    LT: () => {\n      return getLabel('LT') ?? 'Lituanie'\n    },\n    MC: () => {\n      return getLabel('MC') ?? 'Monaco'\n    },\n    MT: () => {\n      return getLabel('MT') ?? 'Malte'\n    },\n    SM: () => {\n      return getLabel('SM') ?? 'Saint-Marin'\n    },\n    SI: () => {\n      return getLabel('SI') ?? 'Slov\u00E9nie'\n    },\n    SK: () => {\n      return getLabel('SK') ?? 'Slovaquie'\n    },\n    CH: () => {\n      return getLabel('CH') ?? 'Suisse'\n    },\n  },\n  USD: {\n    US: () => {\n      return getLabel('US') ?? '\u00C9tats-Unis'\n    },\n  },\n  GBP: {\n    GB: () => {\n      return getLabel('GB') ?? 'Royaume-Uni'\n    },\n    GI: () => {\n      return getLabel('GI') ?? 'Gibraltar'\n    },\n  },\n  CAD: {\n    CA: () => {\n      return getLabel('CA') ?? 'Canada'\n    },\n  },\n  DKK: {\n    DK: () => {\n      return getLabel('DK') ?? 'Danemark'\n    },\n  },\n  AUD: {\n    AU: () => {\n      return getLabel('AU') ?? 'Australie'\n    },\n  },\n  SEK: {\n    SE: () => {\n      return getLabel('SE') ?? 'Su\u00E8de'\n    },\n  },\n  NOK: {\n    NO: () => {\n      return getLabel('NO') ?? 'Norv\u00E8ge'\n    },\n  },\n  CHF: {\n    CH: () => {\n      return getLabel('CH') ?? 'Suisse'\n    },\n  },\n}\n\nexport const COUNTRIES: Country[] = [\n  {\n    label: () => {\n      return getLabel('AF') ?? 'Afghanistan'\n    },\n    code: 'AF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/af.svg',\n    prefix: 93,\n  },\n  {\n    label: () => {\n      return getLabel('ZA') ?? 'Afrique du Sud'\n    },\n    code: 'ZA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/za.svg',\n    prefix: 27,\n  },\n  {\n    label: () => {\n      return getLabel('AL') ?? 'Albanie'\n    },\n    code: 'AL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/al.svg',\n    prefix: 355,\n  },\n  {\n    label: () => {\n      return getLabel('DZ') ?? 'Alg\u00E9rie'\n    },\n    code: 'DZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/dz.svg',\n    prefix: 213,\n  },\n  {\n    label: () => {\n      return getLabel('DE') ?? 'Allemagne'\n    },\n    code: 'DE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/de.svg',\n    prefix: 49,\n  },\n  {\n    label: () => {\n      return getLabel('AD') ?? 'Andorre'\n    },\n    code: 'AD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ad.svg',\n    prefix: 376,\n  },\n  {\n    label: () => {\n      return getLabel('AO') ?? 'Angola'\n    },\n    code: 'AO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ao.svg',\n    prefix: 244,\n  },\n  {\n    label: () => {\n      return getLabel('AI') ?? 'Anguilla'\n    },\n    code: 'AI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ai.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('AG') ?? 'Antigua-et-Barbuda'\n    },\n    code: 'AG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ag.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('SA') ?? 'Arabie Saoudite'\n    },\n    code: 'SA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sa.svg',\n    prefix: 966,\n  },\n  {\n    label: () => {\n      return getLabel('AR') ?? 'Argentine'\n    },\n    code: 'AR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ar.svg',\n    prefix: 54,\n  },\n  {\n    label: () => {\n      return getLabel('AM') ?? 'Arm\u00E9nie'\n    },\n    code: 'AM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/am.svg',\n    prefix: 374,\n  },\n  {\n    label: () => {\n      return getLabel('AW') ?? 'Aruba'\n    },\n    code: 'AW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/aw.svg',\n    prefix: 297,\n  },\n  {\n    label: () => {\n      return getLabel('AU') ?? 'Australie'\n    },\n    code: 'AU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/au.svg',\n    prefix: 61,\n  },\n  {\n    label: () => {\n      return getLabel('AT') ?? 'Autriche'\n    },\n    code: 'AT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/at.svg',\n    prefix: 43,\n  },\n  {\n    label: () => {\n      return getLabel('AZ') ?? 'Azerba\u00EFdjan'\n    },\n    code: 'AZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/az.svg',\n    prefix: 994,\n  },\n  {\n    label: () => {\n      return getLabel('BS') ?? 'Bahamas'\n    },\n    code: 'BS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bs.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('BH') ?? 'Bahre\u00EFn'\n    },\n    code: 'BH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bh.svg',\n    prefix: 973,\n  },\n  {\n    label: () => {\n      return getLabel('BD') ?? 'Bangladesh'\n    },\n    code: 'BD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bd.svg',\n    prefix: 880,\n  },\n  {\n    label: () => {\n      return getLabel('BB') ?? 'Barbade'\n    },\n    code: 'BB',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bb.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('BE') ?? 'Belgique'\n    },\n    code: 'BE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/be.svg',\n    prefix: 32,\n  },\n  {\n    label: () => {\n      return getLabel('BZ') ?? 'B\u00E9lize'\n    },\n    code: 'BZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bz.svg',\n    prefix: 501,\n  },\n  {\n    label: () => {\n      return getLabel('BJ') ?? 'B\u00E9nin'\n    },\n    code: 'BJ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bj.svg',\n    prefix: 229,\n  },\n  {\n    label: () => {\n      return getLabel('BM') ?? 'Bermudes'\n    },\n    code: 'BM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bm.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('BT') ?? 'Bhoutan'\n    },\n    code: 'BT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bt.svg',\n    prefix: 975,\n  },\n  {\n    label: () => {\n      return getLabel('BY') ?? 'Bi\u00E9lorussie'\n    },\n    code: 'BY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/by.svg',\n    prefix: 375,\n  },\n  {\n    label: () => {\n      return getLabel('MM') ?? 'Birmanie'\n    },\n    code: 'MM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mm.svg',\n    prefix: 95,\n  },\n  {\n    label: () => {\n      return getLabel('BO') ?? 'Bolivie'\n    },\n    code: 'BO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bo.svg',\n    prefix: 591,\n  },\n  {\n    label: () => {\n      return getLabel('BQ') ?? 'Bonaire, Saint Eustache et Saba'\n    },\n    code: 'BQ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bq.svg',\n    prefix: 599,\n  },\n  {\n    label: () => {\n      return getLabel('BA') ?? 'Bosnie-Herz\u00E9govine'\n    },\n    code: 'BA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ba.svg',\n    prefix: 387,\n  },\n  {\n    label: () => {\n      return getLabel('BW') ?? 'Botswana'\n    },\n    code: 'BW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bw.svg',\n    prefix: 267,\n  },\n  {\n    label: () => {\n      return getLabel('BR') ?? 'Br\u00E9sil'\n    },\n    code: 'BR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/br.svg',\n    prefix: 55,\n  },\n  {\n    label: () => {\n      return getLabel('BN') ?? 'Brunei'\n    },\n    code: 'BN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bn.svg',\n    prefix: 673,\n  },\n  {\n    label: () => {\n      return getLabel('BG') ?? 'Bulgarie'\n    },\n    code: 'BG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bg.svg',\n    prefix: 359,\n  },\n  {\n    label: () => {\n      return getLabel('BF') ?? 'Burkina Faso'\n    },\n    code: 'BF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bf.svg',\n    prefix: 226,\n  },\n  {\n    label: () => {\n      return getLabel('BI') ?? 'Burundi'\n    },\n    code: 'BI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bi.svg',\n    prefix: 257,\n  },\n  {\n    label: () => {\n      return getLabel('KH') ?? 'Cambodge'\n    },\n    code: 'KH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kh.svg',\n    prefix: 855,\n  },\n  {\n    label: () => {\n      return getLabel('CM') ?? 'Cameroun'\n    },\n    code: 'CM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cm.svg',\n    prefix: 237,\n  },\n  {\n    label: () => {\n      return getLabel('CA') ?? 'Canada'\n    },\n    code: 'CA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ca.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('CV') ?? 'Cap-Vert'\n    },\n    code: 'CV',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cv.svg',\n    prefix: 238,\n  },\n  {\n    label: () => {\n      return getLabel('CL') ?? 'Chili'\n    },\n    code: 'CL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cl.svg',\n    prefix: 56,\n  },\n  {\n    label: () => {\n      return getLabel('CN') ?? 'Chine'\n    },\n    code: 'CN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cn.svg',\n    prefix: 86,\n  },\n  {\n    label: () => {\n      return getLabel('CY') ?? 'Chypre'\n    },\n    code: 'CY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cy.svg',\n    prefix: 357,\n  },\n  {\n    label: () => {\n      return getLabel('CO') ?? 'Colombie'\n    },\n    code: 'CO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/co.svg',\n    prefix: 57,\n  },\n  {\n    label: () => {\n      return getLabel('KM') ?? 'Comores'\n    },\n    code: 'KM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/km.svg',\n    prefix: 269,\n  },\n  {\n    label: () => {\n      return getLabel('CG') ?? 'Congo'\n    },\n    code: 'CG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cg.svg',\n    prefix: 242,\n  },\n  {\n    label: () => {\n      return getLabel('KP') ?? 'Cor\u00E9e du Nord'\n    },\n    code: 'KP',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kp.svg',\n    prefix: 850,\n  },\n  {\n    label: () => {\n      return getLabel('KR') ?? 'Cor\u00E9e du Sud'\n    },\n    code: 'KR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kr.svg',\n    prefix: 82,\n  },\n  {\n    label: () => {\n      return getLabel('CR') ?? 'Costa Rica'\n    },\n    code: 'CR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cr.svg',\n    prefix: 506,\n  },\n  {\n    label: () => {\n      return getLabel('CI') ?? \"C\u00F4te d'Ivoire\"\n    },\n    code: 'CI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ci.svg',\n    prefix: 225,\n  },\n  {\n    label: () => {\n      return getLabel('HR') ?? 'Croatie'\n    },\n    code: 'HR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/hr.svg',\n    prefix: 385,\n  },\n  {\n    label: () => {\n      return getLabel('CU') ?? 'Cuba'\n    },\n    code: 'CU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cu.svg',\n    prefix: 53,\n  },\n  {\n    label: () => {\n      return getLabel('CW') ?? 'Cura\u00E7ao'\n    },\n    code: 'CW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cw.svg',\n    prefix: 599,\n  },\n  {\n    label: () => {\n      return getLabel('DK') ?? 'Danemark'\n    },\n    code: 'DK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/dk.svg',\n    prefix: 45,\n  },\n  {\n    label: () => {\n      return getLabel('DJ') ?? 'Djibouti'\n    },\n    code: 'DJ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/dj.svg',\n    prefix: 253,\n  },\n  {\n    label: () => {\n      return getLabel('DM') ?? 'Dominique'\n    },\n    code: 'DM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/dm.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('EG') ?? '\u00C9gypte'\n    },\n    code: 'EG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/eg.svg',\n    prefix: 20,\n  },\n  {\n    label: () => {\n      return getLabel('AE') ?? '\u00C9mirats arabes unis'\n    },\n    code: 'AE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ae.svg',\n    prefix: 971,\n  },\n  {\n    label: () => {\n      return getLabel('EC') ?? '\u00C9quateur'\n    },\n    code: 'EC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ec.svg',\n    prefix: 593,\n  },\n  {\n    label: () => {\n      return getLabel('ER') ?? '\u00C9rythr\u00E9e'\n    },\n    code: 'ER',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/er.svg',\n    prefix: 291,\n  },\n  {\n    label: () => {\n      return getLabel('ES') ?? 'Espagne'\n    },\n    code: 'ES',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/es.svg',\n    prefix: 34,\n  },\n  {\n    label: () => {\n      return getLabel('EE') ?? 'Estonie'\n    },\n    code: 'EE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ee.svg',\n    prefix: 372,\n  },\n  {\n    label: () => {\n      return getLabel('SZ') ?? \"Eswatini (R\u00E9publique d')\"\n    },\n    code: 'SZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sz.svg',\n    prefix: 268,\n  },\n  {\n    label: () => {\n      return getLabel('US') ?? '\u00C9tats-Unis'\n    },\n    code: 'US',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/us.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('ET') ?? '\u00C9thiopie'\n    },\n    code: 'ET',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/et.svg',\n    prefix: 251,\n  },\n  {\n    label: () => {\n      return getLabel('FJ') ?? 'Fidji'\n    },\n    code: 'FJ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fj.svg',\n    prefix: 679,\n  },\n  {\n    label: () => {\n      return getLabel('FI') ?? 'Finlande'\n    },\n    code: 'FI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fi.svg',\n    prefix: 358,\n  },\n  {\n    label: () => {\n      return getLabel('FR') ?? 'France'\n    },\n    code: 'FR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fr.svg',\n    prefix: 33,\n  },\n  {\n    label: () => {\n      return getLabel('GA') ?? 'Gabon'\n    },\n    code: 'GA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ga.svg',\n    prefix: 241,\n  },\n  {\n    label: () => {\n      return getLabel('GM') ?? 'Gambie'\n    },\n    code: 'GM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gm.svg',\n    prefix: 220,\n  },\n  {\n    label: () => {\n      return getLabel('GE') ?? 'G\u00E9orgie'\n    },\n    code: 'GE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ge.svg',\n    prefix: 995,\n  },\n  {\n    label: () => {\n      return getLabel('GH') ?? 'Ghana'\n    },\n    code: 'GH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gh.svg',\n    prefix: 233,\n  },\n  {\n    label: () => {\n      return getLabel('GI') ?? 'Gibraltar'\n    },\n    code: 'GI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gi.svg',\n    prefix: 350,\n  },\n  {\n    label: () => {\n      return getLabel('GR') ?? 'Gr\u00E8ce'\n    },\n    code: 'GR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gr.svg',\n    prefix: 30,\n  },\n  {\n    label: () => {\n      return getLabel('GD') ?? 'Grenade'\n    },\n    code: 'GD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gd.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('GL') ?? 'Groenland'\n    },\n    code: 'GL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gl.svg',\n    prefix: 299,\n  },\n  {\n    label: () => {\n      return getLabel('GP') ?? 'Guadeloupe'\n    },\n    code: 'GP',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gp.svg',\n    prefix: 590,\n  },\n  {\n    label: () => {\n      return getLabel('GU') ?? 'Guam'\n    },\n    code: 'GU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gu.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('GT') ?? 'Guat\u00E9mala'\n    },\n    code: 'GT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gt.svg',\n    prefix: 502,\n  },\n  {\n    label: () => {\n      return getLabel('GG') ?? 'Guernesey'\n    },\n    code: 'GG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gg.svg',\n    prefix: 44,\n  },\n  {\n    label: () => {\n      return getLabel('GN') ?? 'Guin\u00E9e'\n    },\n    code: 'GN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gn.svg',\n    prefix: 224,\n  },\n  {\n    label: () => {\n      return getLabel('GQ') ?? 'Guin\u00E9e \u00E9quatoriale'\n    },\n    code: 'GQ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gq.svg',\n    prefix: 240,\n  },\n  {\n    label: () => {\n      return getLabel('GW') ?? 'Guin\u00E9e-Bissau'\n    },\n    code: 'GW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gw.svg',\n    prefix: 245,\n  },\n  {\n    label: () => {\n      return getLabel('GY') ?? 'Guyane'\n    },\n    code: 'GY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gy.svg',\n    prefix: 592,\n  },\n  {\n    label: () => {\n      return getLabel('GF') ?? 'Guyane fran\u00E7aise'\n    },\n    code: 'GF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gf.svg',\n    prefix: 594,\n  },\n  {\n    label: () => {\n      return getLabel('HT') ?? 'Ha\u00EFti'\n    },\n    code: 'HT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ht.svg',\n    prefix: 509,\n  },\n  {\n    label: () => {\n      return getLabel('HN') ?? 'Honduras'\n    },\n    code: 'HN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/hn.svg',\n    prefix: 504,\n  },\n  {\n    label: () => {\n      return getLabel('HK') ?? 'Hong Kong'\n    },\n    code: 'HK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/hk.svg',\n    prefix: 852,\n  },\n  {\n    label: () => {\n      return getLabel('HU') ?? 'Hongrie'\n    },\n    code: 'HU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/hu.svg',\n    prefix: 36,\n  },\n  {\n    label: () => {\n      return getLabel('CX') ?? '\u00CEle Christmas'\n    },\n    code: 'CX',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cx.svg',\n    prefix: 61,\n  },\n  {\n    label: () => {\n      return getLabel('SJ') ?? '\u00CEle Jan Mayen'\n    },\n    code: 'SJ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sj.svg',\n    prefix: 47,\n  },\n  {\n    label: () => {\n      return getLabel('NF') ?? '\u00CEle Norfolk'\n    },\n    code: 'NF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nf.svg',\n    prefix: 672,\n  },\n  {\n    label: () => {\n      return getLabel('IM') ?? '\u00CEle de Man'\n    },\n    code: 'IM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/im.svg',\n    prefix: 44,\n  },\n  {\n    label: () => {\n      return getLabel('AX') ?? '\u00CEles \u00C5land'\n    },\n    code: 'AX',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ax.svg',\n    prefix: 358,\n  },\n  {\n    label: () => {\n      return getLabel('KY') ?? '\u00CEles Ca\u00EFmans'\n    },\n    code: 'KY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ky.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('CC') ?? '\u00CEles Cocos'\n    },\n    code: 'CC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cc.svg',\n    prefix: 61,\n  },\n  {\n    label: () => {\n      return getLabel('CK') ?? '\u00CEles Cook'\n    },\n    code: 'CK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ck.svg',\n    prefix: 682,\n  },\n  {\n    label: () => {\n      return getLabel('FO') ?? '\u00CEles F\u00E9ro\u00E9'\n    },\n    code: 'FO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fo.svg',\n    prefix: 298,\n  },\n  {\n    label: () => {\n      return getLabel('FK') ?? '\u00CEles Malouines'\n    },\n    code: 'FK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fk.svg',\n    prefix: 500,\n  },\n  {\n    label: () => {\n      return getLabel('MP') ?? '\u00CEles Mariannes du Nord'\n    },\n    code: 'MP',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mp.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('MH') ?? '\u00CEles Marshal'\n    },\n    code: 'MH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mh.svg',\n    prefix: 692,\n  },\n  {\n    label: () => {\n      return getLabel('TC') ?? '\u00CEles Turques-et-Ca\u00EFques'\n    },\n    code: 'TC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tc.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('VG') ?? '\u00CEles Vierges britanniques'\n    },\n    code: 'VG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/vg.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('VI') ?? '\u00CEles Vierges des \u00C9tats-Unis'\n    },\n    code: 'VI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/vi.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('IN') ?? 'Inde'\n    },\n    code: 'IN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/in.svg',\n    prefix: 91,\n  },\n  {\n    label: () => {\n      return getLabel('ID') ?? 'Indon\u00E9sie'\n    },\n    code: 'ID',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/id.svg',\n    prefix: 62,\n  },\n  {\n    label: () => {\n      return getLabel('IQ') ?? 'Irak'\n    },\n    code: 'IQ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/iq.svg',\n    prefix: 964,\n  },\n  {\n    label: () => {\n      return getLabel('IR') ?? 'Iran'\n    },\n    code: 'IR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ir.svg',\n    prefix: 98,\n  },\n  {\n    label: () => {\n      return getLabel('IE') ?? 'Irlande'\n    },\n    code: 'IE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ie.svg',\n    prefix: 353,\n  },\n  {\n    label: () => {\n      return getLabel('IS') ?? 'Islande'\n    },\n    code: 'IS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/is.svg',\n    prefix: 354,\n  },\n  {\n    label: () => {\n      return getLabel('IL') ?? 'Isra\u00EBl'\n    },\n    code: 'IL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/il.svg',\n    prefix: 972,\n  },\n  {\n    label: () => {\n      return getLabel('IT') ?? 'Italie'\n    },\n    code: 'IT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/it.svg',\n    prefix: 39,\n  },\n  {\n    label: () => {\n      return getLabel('JM') ?? 'Jama\u00EFque'\n    },\n    code: 'JM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/jm.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('JP') ?? 'Japon'\n    },\n    code: 'JP',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/jp.svg',\n    prefix: 81,\n  },\n  {\n    label: () => {\n      return getLabel('JE') ?? 'Jersey'\n    },\n    code: 'JE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/je.svg',\n    prefix: 44,\n  },\n  {\n    label: () => {\n      return getLabel('JO') ?? 'Jordanie'\n    },\n    code: 'JO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/jo.svg',\n    prefix: 962,\n  },\n  {\n    label: () => {\n      return getLabel('KZ') ?? 'Kazakhstan'\n    },\n    code: 'KZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kz.svg',\n    prefix: 7,\n  },\n  {\n    label: () => {\n      return getLabel('KE') ?? 'Kenya'\n    },\n    code: 'KE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ke.svg',\n    prefix: 254,\n  },\n  {\n    label: () => {\n      return getLabel('KG') ?? 'Kirghizistan'\n    },\n    code: 'KG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kg.svg',\n    prefix: 996,\n  },\n  {\n    label: () => {\n      return getLabel('KI') ?? 'Kiribati'\n    },\n    code: 'KI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ki.svg',\n    prefix: 686,\n  },\n  {\n    label: () => {\n      return getLabel('KW') ?? 'Kowe\u00EFt'\n    },\n    code: 'KW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kw.svg',\n    prefix: 965,\n  },\n  {\n    label: () => {\n      return getLabel('LA') ?? 'Laos'\n    },\n    code: 'LA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/la.svg',\n    prefix: 856,\n  },\n  {\n    label: () => {\n      return getLabel('LS') ?? 'Lesotho'\n    },\n    code: 'LS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ls.svg',\n    prefix: 266,\n  },\n  {\n    label: () => {\n      return getLabel('LV') ?? 'Lettonie'\n    },\n    code: 'LV',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lv.svg',\n    prefix: 371,\n  },\n  {\n    label: () => {\n      return getLabel('LB') ?? 'Liban'\n    },\n    code: 'LB',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lb.svg',\n    prefix: 961,\n  },\n  {\n    label: () => {\n      return getLabel('LR') ?? 'Lib\u00E9ria'\n    },\n    code: 'LR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lr.svg',\n    prefix: 231,\n  },\n  {\n    label: () => {\n      return getLabel('LY') ?? 'Libye'\n    },\n    code: 'LY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ly.svg',\n    prefix: 218,\n  },\n  {\n    label: () => {\n      return getLabel('LI') ?? 'Liechtenstein'\n    },\n    code: 'LI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/li.svg',\n    prefix: 423,\n  },\n  {\n    label: () => {\n      return getLabel('LT') ?? 'Lituanie'\n    },\n    code: 'LT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lt.svg',\n    prefix: 370,\n  },\n  {\n    label: () => {\n      return getLabel('LU') ?? 'Luxembourg'\n    },\n    code: 'LU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lu.svg',\n    prefix: 352,\n  },\n  {\n    label: () => {\n      return getLabel('MO') ?? 'Macao'\n    },\n    code: 'MO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mo.svg',\n    prefix: 853,\n  },\n  {\n    label: () => {\n      return getLabel('MG') ?? 'Madagascar'\n    },\n    code: 'MG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mg.svg',\n    prefix: 261,\n  },\n  {\n    label: () => {\n      return getLabel('MY') ?? 'Malaisie'\n    },\n    code: 'MY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/my.svg',\n    prefix: 60,\n  },\n  {\n    label: () => {\n      return getLabel('MW') ?? 'Malawi'\n    },\n    code: 'MW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mw.svg',\n    prefix: 265,\n  },\n  {\n    label: () => {\n      return getLabel('MV') ?? 'Maldives'\n    },\n    code: 'MV',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mv.svg',\n    prefix: 960,\n  },\n  {\n    label: () => {\n      return getLabel('ML') ?? 'Mali'\n    },\n    code: 'ML',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ml.svg',\n    prefix: 223,\n  },\n  {\n    label: () => {\n      return getLabel('MT') ?? 'Malte'\n    },\n    code: 'MT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mt.svg',\n    prefix: 356,\n  },\n  {\n    label: () => {\n      return getLabel('MA') ?? 'Maroc'\n    },\n    code: 'MA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ma.svg',\n    prefix: 212,\n  },\n  {\n    label: () => {\n      return getLabel('MQ') ?? 'Martinique'\n    },\n    code: 'MQ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mq.svg',\n    prefix: 596,\n  },\n  {\n    label: () => {\n      return getLabel('MU') ?? 'Maurice'\n    },\n    code: 'MU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mu.svg',\n    prefix: 230,\n  },\n  {\n    label: () => {\n      return getLabel('MR') ?? 'Mauritanie'\n    },\n    code: 'MR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mr.svg',\n    prefix: 222,\n  },\n  {\n    label: () => {\n      return getLabel('YT') ?? 'Mayotte'\n    },\n    code: 'YT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/yt.svg',\n    prefix: 262,\n  },\n  {\n    label: () => {\n      return getLabel('MX') ?? 'Mexique'\n    },\n    code: 'MX',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mx.svg',\n    prefix: 52,\n  },\n  {\n    label: () => {\n      return getLabel('FM') ?? 'Micron\u00E9sie (\u00C9tats F\u00E9d\u00E9r\u00E9s de)'\n    },\n    code: 'FM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/fm.svg',\n    prefix: 691,\n  },\n  {\n    label: () => {\n      return getLabel('MD') ?? 'Moldavie'\n    },\n    code: 'MD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/md.svg',\n    prefix: 373,\n  },\n  {\n    label: () => {\n      return getLabel('MC') ?? 'Monaco'\n    },\n    code: 'MC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mc.svg',\n    prefix: 377,\n  },\n  {\n    label: () => {\n      return getLabel('MN') ?? 'Mongolie'\n    },\n    code: 'MN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mn.svg',\n    prefix: 976,\n  },\n  {\n    label: () => {\n      return getLabel('ME') ?? 'Mont\u00E9n\u00E9gro'\n    },\n    code: 'ME',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/me.svg',\n    prefix: 382,\n  },\n  {\n    label: () => {\n      return getLabel('MS') ?? 'Montserrat'\n    },\n    code: 'MS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ms.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('MZ') ?? 'Mozambique'\n    },\n    code: 'MZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mz.svg',\n    prefix: 258,\n  },\n  {\n    label: () => {\n      return getLabel('NA') ?? 'Namibie'\n    },\n    code: 'NA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/na.svg',\n    prefix: 264,\n  },\n  {\n    label: () => {\n      return getLabel('NR') ?? 'Nauru'\n    },\n    code: 'NR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nr.svg',\n    prefix: 674,\n  },\n  {\n    label: () => {\n      return getLabel('NP') ?? 'N\u00E9pal'\n    },\n    code: 'NP',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/np.svg',\n    prefix: 977,\n  },\n  {\n    label: () => {\n      return getLabel('NI') ?? 'Nicaragua'\n    },\n    code: 'NI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ni.svg',\n    prefix: 505,\n  },\n  {\n    label: () => {\n      return getLabel('NE') ?? 'Niger'\n    },\n    code: 'NE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ne.svg',\n    prefix: 227,\n  },\n  {\n    label: () => {\n      return getLabel('NG') ?? 'Nigeria'\n    },\n    code: 'NG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ng.svg',\n    prefix: 234,\n  },\n  {\n    label: () => {\n      return getLabel('NU') ?? 'Niue'\n    },\n    code: 'NU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nu.svg',\n    prefix: 683,\n  },\n  {\n    label: () => {\n      return getLabel('NO') ?? 'Norv\u00E8ge'\n    },\n    code: 'NO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/no.svg',\n    prefix: 47,\n  },\n  {\n    label: () => {\n      return getLabel('NC') ?? 'Nouvelle-Cal\u00E9donie'\n    },\n    code: 'NC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nc.svg',\n    prefix: 687,\n  },\n  {\n    label: () => {\n      return getLabel('NZ') ?? 'Nouvelle-Z\u00E9lande'\n    },\n    code: 'NZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nz.svg',\n    prefix: 64,\n  },\n  {\n    label: () => {\n      return getLabel('OM') ?? 'Oman'\n    },\n    code: 'OM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/om.svg',\n    prefix: 968,\n  },\n  {\n    label: () => {\n      return getLabel('UG') ?? 'Ouganda'\n    },\n    code: 'UG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ug.svg',\n    prefix: 256,\n  },\n  {\n    label: () => {\n      return getLabel('UZ') ?? 'Ouzb\u00E9kistan'\n    },\n    code: 'UZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/uz.svg',\n    prefix: 998,\n  },\n  {\n    label: () => {\n      return getLabel('PK') ?? 'Pakistan'\n    },\n    code: 'PK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pk.svg',\n    prefix: 92,\n  },\n  {\n    label: () => {\n      return getLabel('PW') ?? 'Palaos'\n    },\n    code: 'PW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pw.svg',\n    prefix: 680,\n  },\n  {\n    label: () => {\n      return getLabel('PS') ?? 'Palestine, \u00C9tat de'\n    },\n    code: 'PS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ps.svg',\n    prefix: 970,\n  },\n  {\n    label: () => {\n      return getLabel('PA') ?? 'Panama'\n    },\n    code: 'PA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pa.svg',\n    prefix: 507,\n  },\n  {\n    label: () => {\n      return getLabel('PG') ?? 'Papouasie-Nouvelle-Guin\u00E9e'\n    },\n    code: 'PG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pg.svg',\n    prefix: 675,\n  },\n  {\n    label: () => {\n      return getLabel('PY') ?? 'Paraguay'\n    },\n    code: 'PY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/py.svg',\n    prefix: 595,\n  },\n  {\n    label: () => {\n      return getLabel('NL') ?? 'Pays-Bas'\n    },\n    code: 'NL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/nl.svg',\n    prefix: 31,\n  },\n  {\n    label: () => {\n      return getLabel('PE') ?? 'P\u00E9rou'\n    },\n    code: 'PE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pe.svg',\n    prefix: 51,\n  },\n  {\n    label: () => {\n      return getLabel('PH') ?? 'Philippines'\n    },\n    code: 'PH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ph.svg',\n    prefix: 63,\n  },\n  {\n    label: () => {\n      return getLabel('PL') ?? 'Pologne'\n    },\n    code: 'PL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pl.svg',\n    prefix: 48,\n  },\n  {\n    label: () => {\n      return getLabel('PF') ?? 'Polyn\u00E9sie fran\u00E7aise'\n    },\n    code: 'PF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pf.svg',\n    prefix: 689,\n  },\n  {\n    label: () => {\n      return getLabel('PR') ?? 'Porto Rico'\n    },\n    code: 'PR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pr.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('PT') ?? 'Portugal'\n    },\n    code: 'PT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pt.svg',\n    prefix: 351,\n  },\n  {\n    label: () => {\n      return getLabel('QA') ?? 'Qatar'\n    },\n    code: 'QA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/qa.svg',\n    prefix: 974,\n  },\n  {\n    label: () => {\n      return getLabel('CF') ?? 'R\u00E9publique centrafricaine'\n    },\n    code: 'CF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cf.svg',\n    prefix: 236,\n  },\n  {\n    label: () => {\n      return getLabel('MK') ?? 'R\u00E9publique de Mac\u00E9doine du Nord'\n    },\n    code: 'MK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mk.svg',\n    prefix: 389,\n  },\n  {\n    label: () => {\n      return getLabel('CD') ?? 'R\u00E9publique d\u00E9mocratique du Congo'\n    },\n    code: 'CD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cd.svg',\n    prefix: 243,\n  },\n  {\n    label: () => {\n      return getLabel('DO') ?? 'R\u00E9publique dominicaine'\n    },\n    code: 'DO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/do.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('CZ') ?? 'R\u00E9publique tch\u00E8que'\n    },\n    code: 'CZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/cz.svg',\n    prefix: 420,\n  },\n  {\n    label: () => {\n      return getLabel('RE') ?? 'R\u00E9union, La'\n    },\n    code: 'RE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/re.svg',\n    prefix: 262,\n  },\n  {\n    label: () => {\n      return getLabel('RO') ?? 'Roumanie'\n    },\n    code: 'RO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ro.svg',\n    prefix: 40,\n  },\n  {\n    label: () => {\n      return getLabel('GB') ?? 'Royaume-Uni'\n    },\n    code: 'GB',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/gb.svg',\n    prefix: 44,\n  },\n  {\n    label: () => {\n      return getLabel('RU') ?? 'Russie'\n    },\n    code: 'RU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ru.svg',\n    prefix: 7,\n  },\n  {\n    label: () => {\n      return getLabel('RW') ?? 'Rwanda'\n    },\n    code: 'RW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/rw.svg',\n    prefix: 250,\n  },\n  {\n    label: () => {\n      return getLabel('EH') ?? 'Sahara occidental'\n    },\n    code: 'EH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/eh.svg',\n    prefix: 212,\n  },\n  {\n    label: () => {\n      return getLabel('BL') ?? 'Saint Barth\u00E9lemy'\n    },\n    code: 'BL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/bl.svg',\n    prefix: 590,\n  },\n  {\n    label: () => {\n      return getLabel('KN') ?? 'Saint-Christophe-et-Ni\u00E9v\u00E8s'\n    },\n    code: 'KN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/kn.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('SM') ?? 'Saint-Marin'\n    },\n    code: 'SM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sm.svg',\n    prefix: 378,\n  },\n  {\n    label: () => {\n      return getLabel('MF') ?? 'Saint-Martin (Antilles fran\u00E7aises)'\n    },\n    code: 'MF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/mf.svg',\n    prefix: 590,\n  },\n  {\n    label: () => {\n      return getLabel('SX') ?? 'Saint-Martin (Royaume des Pays-Bas)'\n    },\n    code: 'SX',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sx.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('PM') ?? 'Saint-Pierre-et-Miquelon'\n    },\n    code: 'PM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/pm.svg',\n    prefix: 508,\n  },\n  {\n    label: () => {\n      return getLabel('VA') ?? 'Saint-Si\u00E8ge'\n    },\n    code: 'VA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/va.svg',\n    prefix: 39,\n  },\n  {\n    label: () => {\n      return getLabel('VC') ?? 'Saint-Vincent-et-les-Grenadines'\n    },\n    code: 'VC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/vc.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('SH') ?? 'Sainte-H\u00E9l\u00E8ne, Ascension et Tristan da Cunha'\n    },\n    code: 'SH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sh.svg',\n    prefix: 290,\n  },\n  {\n    label: () => {\n      return getLabel('LC') ?? 'Sainte-Lucie'\n    },\n    code: 'LC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lc.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('SB') ?? 'Salomon'\n    },\n    code: 'SB',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sb.svg',\n    prefix: 677,\n  },\n  {\n    label: () => {\n      return getLabel('SV') ?? 'Salvador'\n    },\n    code: 'SV',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sv.svg',\n    prefix: 503,\n  },\n  {\n    label: () => {\n      return getLabel('WS') ?? 'Samoa'\n    },\n    code: 'WS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ws.svg',\n    prefix: 685,\n  },\n  {\n    label: () => {\n      return getLabel('AS') ?? 'Samoa am\u00E9ricaines'\n    },\n    code: 'AS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/as.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('ST') ?? 'Sao Tom\u00E9-et-Principe'\n    },\n    code: 'ST',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/st.svg',\n    prefix: 239,\n  },\n  {\n    label: () => {\n      return getLabel('SN') ?? 'S\u00E9n\u00E9gal'\n    },\n    code: 'SN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sn.svg',\n    prefix: 221,\n  },\n  {\n    label: () => {\n      return getLabel('RS') ?? 'Serbie'\n    },\n    code: 'RS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/rs.svg',\n    prefix: 381,\n  },\n  {\n    label: () => {\n      return getLabel('SC') ?? 'Seychelles'\n    },\n    code: 'SC',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sc.svg',\n    prefix: 248,\n  },\n  {\n    label: () => {\n      return getLabel('SL') ?? 'Sierra Leone'\n    },\n    code: 'SL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sl.svg',\n    prefix: 232,\n  },\n  {\n    label: () => {\n      return getLabel('SG') ?? 'Singapour'\n    },\n    code: 'SG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sg.svg',\n    prefix: 65,\n  },\n  {\n    label: () => {\n      return getLabel('SK') ?? 'Slovaquie'\n    },\n    code: 'SK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sk.svg',\n    prefix: 421,\n  },\n  {\n    label: () => {\n      return getLabel('SI') ?? 'Slov\u00E9nie'\n    },\n    code: 'SI',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/si.svg',\n    prefix: 386,\n  },\n  {\n    label: () => {\n      return getLabel('SO') ?? 'Somalie'\n    },\n    code: 'SO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/so.svg',\n    prefix: 252,\n  },\n  {\n    label: () => {\n      return getLabel('SD') ?? 'Soudan'\n    },\n    code: 'SD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sd.svg',\n    prefix: 249,\n  },\n  {\n    label: () => {\n      return getLabel('SS') ?? 'Soudan du Sud'\n    },\n    code: 'SS',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ss.svg',\n    prefix: 211,\n  },\n  {\n    label: () => {\n      return getLabel('LK') ?? 'Sri Lanka'\n    },\n    code: 'LK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/lk.svg',\n    prefix: 94,\n  },\n  {\n    label: () => {\n      return getLabel('SE') ?? 'Su\u00E8de'\n    },\n    code: 'SE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/se.svg',\n    prefix: 46,\n  },\n  {\n    label: () => {\n      return getLabel('CH') ?? 'Suisse'\n    },\n    code: 'CH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ch.svg',\n    prefix: 41,\n  },\n  {\n    label: () => {\n      return getLabel('SR') ?? 'Suriname'\n    },\n    code: 'SR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sr.svg',\n    prefix: 597,\n  },\n  {\n    label: () => {\n      return getLabel('SY') ?? 'Syrie'\n    },\n    code: 'SY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/sy.svg',\n    prefix: 963,\n  },\n  {\n    label: () => {\n      return getLabel('TJ') ?? 'Tadjikistan'\n    },\n    code: 'TJ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tj.svg',\n    prefix: 992,\n  },\n  {\n    label: () => {\n      return getLabel('TW') ?? 'Taiwan'\n    },\n    code: 'TW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tw.svg',\n    prefix: 886,\n  },\n  {\n    label: () => {\n      return getLabel('TZ') ?? 'Tanzanie'\n    },\n    code: 'TZ',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tz.svg',\n    prefix: 255,\n  },\n  {\n    label: () => {\n      return getLabel('TD') ?? 'Tchad'\n    },\n    code: 'TD',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/td.svg',\n    prefix: 235,\n  },\n  {\n    label: () => {\n      return getLabel('IO') ?? \"Territoire britannique de l'oc\u00E9an Indien\"\n    },\n    code: 'IO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/io.svg',\n    prefix: 246,\n  },\n  {\n    label: () => {\n      return getLabel('TH') ?? 'Tha\u00EFlande'\n    },\n    code: 'TH',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/th.svg',\n    prefix: 66,\n  },\n  {\n    label: () => {\n      return getLabel('TL') ?? 'Timor Oriental'\n    },\n    code: 'TL',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tl.svg',\n    prefix: 670,\n  },\n  {\n    label: () => {\n      return getLabel('TG') ?? 'Togo'\n    },\n    code: 'TG',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tg.svg',\n    prefix: 228,\n  },\n  {\n    label: () => {\n      return getLabel('TK') ?? 'Tokelau'\n    },\n    code: 'TK',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tk.svg',\n    prefix: 690,\n  },\n  {\n    label: () => {\n      return getLabel('TO') ?? 'Tonga'\n    },\n    code: 'TO',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/to.svg',\n    prefix: 676,\n  },\n  {\n    label: () => {\n      return getLabel('TT') ?? 'Trinidad et Tobago'\n    },\n    code: 'TT',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tt.svg',\n    prefix: 1,\n  },\n  {\n    label: () => {\n      return getLabel('TN') ?? 'Tunisie'\n    },\n    code: 'TN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tn.svg',\n    prefix: 216,\n  },\n  {\n    label: () => {\n      return getLabel('TM') ?? 'Turkm\u00E9nistan'\n    },\n    code: 'TM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tm.svg',\n    prefix: 993,\n  },\n  {\n    label: () => {\n      return getLabel('TR') ?? 'Turquie'\n    },\n    code: 'TR',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tr.svg',\n    prefix: 90,\n  },\n  {\n    label: () => {\n      return getLabel('TV') ?? 'Tuvalu'\n    },\n    code: 'TV',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/tv.svg',\n    prefix: 688,\n  },\n  {\n    label: () => {\n      return getLabel('UA') ?? 'Ukraine'\n    },\n    code: 'UA',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ua.svg',\n    prefix: 380,\n  },\n  {\n    label: () => {\n      return getLabel('UY') ?? 'Uruguay'\n    },\n    code: 'UY',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/uy.svg',\n    prefix: 598,\n  },\n  {\n    label: () => {\n      return getLabel('VU') ?? 'Vanuatu'\n    },\n    code: 'VU',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/vu.svg',\n    prefix: 678,\n  },\n  {\n    label: () => {\n      return getLabel('VE') ?? 'Venezuela'\n    },\n    code: 'VE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ve.svg',\n    prefix: 58,\n  },\n  {\n    label: () => {\n      return getLabel('VN') ?? 'Vi\u00EAt Nam'\n    },\n    code: 'VN',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/vn.svg',\n    prefix: 84,\n  },\n  {\n    label: () => {\n      return getLabel('WF') ?? 'Wallis et Futuna'\n    },\n    code: 'WF',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/wf.svg',\n    prefix: 681,\n  },\n  {\n    label: () => {\n      return getLabel('YE') ?? 'Y\u00E9men'\n    },\n    code: 'YE',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/ye.svg',\n    prefix: 967,\n  },\n  {\n    label: () => {\n      return getLabel('ZM') ?? 'Zambie'\n    },\n    code: 'ZM',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/zm.svg',\n    prefix: 260,\n  },\n  {\n    label: () => {\n      return getLabel('ZW') ?? 'Zimbabwe'\n    },\n    code: 'ZW',\n    flag: 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.4.3/flags/4x3/zw.svg',\n    prefix: 263,\n  },\n]\n", "import { Lang, Project, Reward as RawReward } from '@owl-nest/api-client/latest'\nimport * as date from '@owl-nest/date'\nimport { t } from '@owl-nest/localize'\nimport * as env from '@owl-nest/config'\n\nimport * as i18n from './i18n'\nimport * as imageModel from './image'\nimport * as optionModel from './option'\nimport * as variantModel from './variant'\nimport * as projectModel from './project/base'\n\nexport type Reward<PROJECT_EXTRA_FIELDS extends string = ''> = Omit<RawReward, 'variants' | 'project'> & {\n  project: Project<PROJECT_EXTRA_FIELDS>\n  options: optionModel.Option[]\n  variants: variantModel.Variant<PROJECT_EXTRA_FIELDS>[]\n}\n\nexport type RewardStock = {\n  available?: number | null\n  taken: number\n  total?: number | null\n}\n\nexport function Reward<PROJECT_EXTRA_FIELDS extends string = ''>(\n  rawReward: RawReward,\n  project: Project<PROJECT_EXTRA_FIELDS>,\n): Reward<PROJECT_EXTRA_FIELDS> {\n  const { variants: _, ...reward } = rawReward\n\n  const isMembership = projectModel.isMembership(project)\n\n  const rewardWithParent = {\n    ...reward,\n    project,\n  } as Reward<PROJECT_EXTRA_FIELDS>\n\n  if (isMembership && rawReward.is_free) {\n    rewardWithParent.title = { [project.lang]: (reward.title && reward.title[project.lang]) || t('Free membership') }\n    rewardWithParent.description = {\n      [project.lang]:\n        (reward.description && reward.description[project.lang]) ||\n        t('Join the community and be notified of upcoming public posts.'),\n    }\n  }\n\n  const options = rawReward.options?.map((option) => optionModel.Option(option, rewardWithParent)) || []\n  const variants = rawReward.variants?.map((variant) => variantModel.Variant(variant, rewardWithParent)) || []\n\n  return {\n    ...rewardWithParent,\n    options,\n    variants,\n  }\n}\n\n/**\n * Returns the reward description in the user's locale. If none, falls back to the project language.\n * @param reward\n * @param lang\n */\nexport function description<PROJECT_EXTRA_FIELDS extends string = ''>(\n  reward: Reward<PROJECT_EXTRA_FIELDS>,\n  lang: Lang = env.getUserConfig().lang,\n): string {\n  // TODO: add project lang as fallback language\n  return i18n.getWithLang(reward.description, lang) || ''\n}\n\n/**\n * Formats the reward delivery date in the user's locale.\n * Defaults to the 'MONTH year' format.\n * @param reward\n * @param format Optional - Unicode token to describe the desired format\n */\nexport function formattedDeliveryDate<PROJECT_EXTRA_FIELDS extends string = ''>(\n  reward: Reward<PROJECT_EXTRA_FIELDS>,\n  format = 'MMMM yyyy',\n): string {\n  const rewardDeliveryDate = reward.shippings?.date_delivery\n  return rewardDeliveryDate ? date.format(date.parseISO(rewardDeliveryDate), format) : ''\n}\n\n/**\n * Returns the reward image for the user's locale. If none, falls back to the project language.\n * @param reward\n * @param version\n * @param lang\n */\nexport function image<PROJECT_EXTRA_FIELDS extends string = ''>(\n  reward: Reward<PROJECT_EXTRA_FIELDS>,\n  version = 'full',\n  lang: Lang = env.getUserConfig().lang,\n): string | undefined {\n  if (reward.image === undefined) return undefined\n\n  // TODO: add project lang as fallback language\n  const imageResource = i18n.getWithLang(reward.image, lang)\n  return imageModel.getUrl(imageResource?.versions, version)\n}\n\n/**\n * Determines whether the reward is a legacy reward (doesn't have a title)\n * @param reward\n */\nexport function isLegacy<PROJECT_EXTRA_FIELDS extends string = ''>(reward: Reward<PROJECT_EXTRA_FIELDS>): boolean {\n  return reward.title === undefined\n}\n\n/**\n * Groups the reward stock data in a handy format.\n * @param reward\n */\nexport function stock<PROJECT_EXTRA_FIELDS extends string = ''>(reward: Reward<PROJECT_EXTRA_FIELDS>): RewardStock {\n  return {\n    available: reward.aware_stock_available,\n    taken: reward.stock_taken,\n    total: reward.aware_stock,\n  }\n}\n\n/**\n * Returns the reward title in the user's locale. Otherwise, falls back to the project language.\n * @param reward\n * @param lang\n */\nexport function title<PROJECT_EXTRA_FIELDS extends string = ''>(\n  reward: Reward<PROJECT_EXTRA_FIELDS>,\n  lang: Lang = env.getUserConfig().lang,\n): string | undefined {\n  if (isLegacy(reward)) return undefined\n\n  // TODO: add project lang as fallback language\n  return i18n.getWithLang(reward.title, lang)\n}\n\nexport function languages<PROJECT_EXTRA_FIELDS extends string = ''>(reward: Reward<PROJECT_EXTRA_FIELDS>) {\n  if (isLegacy(reward)) {\n    return Object.keys(reward.description)\n  }\n  return Object.keys(reward.title)\n}\n\nexport function isTaken<PROJECT_EXTRA_FIELDS extends string = ''>(reward: Reward<PROJECT_EXTRA_FIELDS>) {\n  if (reward.variants.length === 0) {\n    return reward.stock_taken !== 0\n  }\n  return reward.variants.some((variant) => variant.stock_taken !== 0)\n}\n\nexport function getShippingFormattedDate(reward: Reward, format = 'MMMM yyyy') {\n  if (reward.shippings?.date_delivery === undefined) {\n    return ''\n  }\n\n  return date.format(\n    date.parseISO(date.createDateWithTimezone(new Date(reward.shippings.date_delivery), 'Etc/UTC').toISOString()),\n    format,\n  )\n}\n\nexport function getVariantsCount(reward: Reward): number {\n  // No variant\n  if (reward.variants_count === 0) {\n    return 0\n  }\n\n  // Reward is combined\n  if (reward.is_combined) {\n    return reward.variants_count\n  }\n\n  //Reward is not combined, the number of variants is the sum of values in each option\n  return reward.options.reduce((nbVariants, currentOption) => nbVariants + currentOption.values.length, 0)\n}\n", "import { ImageResource } from '@owl-nest/api-client/latest'\n\nexport function getUrl(versions: ImageResource['versions'], version: string): string | undefined {\n  return versions?.[version]?.url\n}\n", "import { Lang, RewardOption as RawOption, RewardOptionValue } from '@owl-nest/api-client/latest'\n\nimport * as i18n from './i18n'\nimport * as rewardModel from './reward'\n\nexport type Option<PROJECT_EXTRA_FIELDS extends string = ''> = RawOption & {\n  parent: rewardModel.Reward<PROJECT_EXTRA_FIELDS>\n}\n\nexport function Option<PROJECT_EXTRA_FIELDS extends string = ''>(\n  option: RawOption,\n  parent: rewardModel.Reward<PROJECT_EXTRA_FIELDS>,\n): Option<PROJECT_EXTRA_FIELDS> {\n  return { ...option, parent }\n}\n\n/**\n * Returns the option description if available. Either in the user's locale, or in the project language if the former is empty.\n * @param option\n */\nexport function description(option: Option): string | undefined {\n  if (!option.description) {\n    return\n  }\n  return i18n.get(option.description, option.parent.project?.lang as Lang, '')\n}\n\n/**\n * Returns the option name in the user's locale. If none, falls back to the project language.\n * @param option\n */\nexport function name(option: Option): string | undefined {\n  return i18n.get(option.name, option.parent.project?.lang as Lang, '')\n}\n\n/**\n * Returns the option value name in the user's locale. If none, falls back to the project language.\n * @param optionValue\n * @param option\n */\nexport function valueDescription(optionValue: RewardOptionValue, option: Option) {\n  return i18n.get(optionValue.name, option.parent.project?.lang as Lang, '')\n}\n", "import { Lang, Variant as RawVariant, RewardOptionValue } from '@owl-nest/api-client/latest'\nimport * as env from '@owl-nest/config'\n\nimport * as i18n from './i18n'\nimport * as rewardModel from './reward'\nimport * as imageModel from './image'\n\nexport type Variant<PROJECT_EXTRA_FIELDS extends string = ''> = Omit<RawVariant, 'parent'> & {\n  parent: rewardModel.Reward<PROJECT_EXTRA_FIELDS>\n}\n\nexport function Variant<PROJECT_EXTRA_FIELDS extends string = ''>(\n  variant: RawVariant,\n  parent: rewardModel.Reward<PROJECT_EXTRA_FIELDS>,\n): Variant<PROJECT_EXTRA_FIELDS> {\n  return { ...variant, parent }\n}\n\n/**\n * Returns the variant description in the user's locale. If none, falls back to the project language.\n * @param variant\n */\nexport function description(variant: Variant<any>): string {\n  return i18n.get(variant.description, variant.parent.project?.lang as Lang, '')\n}\n\n/**\n * Groups the variant stock data in a handy format.\n * @param variant\n */\nexport function stock(variant: Variant<any>): rewardModel.RewardStock {\n  return {\n    available: variant.aware_stock_available,\n    taken: variant.stock_taken,\n    total: variant.aware_stock,\n  }\n}\n\n/**\n * Returns the great variant image, from combined or not\n * @param variant\n */\nexport function image(\n  variant: Variant,\n  version = 'full',\n  lang: Lang = env.getUserConfig().lang,\n  rewardOptionValues: RewardOptionValue[] = [],\n): string | undefined {\n  const optionValues = rewardOptionValues.length > 0 ? rewardOptionValues : (values(variant) ?? [])\n\n  if (variant.image !== undefined) {\n    const imageResource = i18n.getWithLang(variant.image, lang)\n    return imageModel.getUrl(imageResource?.versions, version)\n  }\n\n  if (variant.value_ids !== undefined && variant.parent !== undefined) {\n    if (optionValues.length > 0) {\n      let i = optionValues.length - 1\n\n      while (i >= 0) {\n        const image = optionValues[i].image\n        if (image) {\n          const imageResource = i18n.getWithLang(image, lang)\n          return imageModel.getUrl(imageResource?.versions, version)\n        }\n        i--\n      }\n    }\n  }\n\n  if (variant.parent.image) {\n    const imageResource = i18n.getWithLang(variant.parent.image, lang)\n    return imageModel.getUrl(imageResource?.versions, version)\n  }\n\n  return ''\n}\n\nexport function values(variant: Variant): RewardOptionValue[] | undefined {\n  if (!variant.parent || !variant.value_ids) return undefined\n\n  return variant.value_ids.flatMap(\n    (valueId) =>\n      variant.parent.options?.flatMap((option) =>\n        option.values.filter((value) =>\n          valueId.id !== undefined ? valueId.id === value.id : valueId.identifier === value.identifier,\n        ),\n      ) ?? [],\n  )\n}\n", "import * as api from '@owl-nest/api-client/latest'\nimport * as date from '@owl-nest/date'\nimport { t } from '@owl-nest/localize'\nimport * as logger from '@owl-nest/logger'\nimport { payment } from '@owl-nest/utils'\nimport * as env from '@owl-nest/config'\n\nimport * as i18n from '../i18n'\nimport * as image from '../image'\n\nexport const EXTRA_FIELDS = [\n  'account',\n  'analytics',\n  'latest_project_online',\n  'links',\n  'partnerships',\n  'rewards',\n  'share_images',\n  'shippings',\n  'sponsorships',\n  'tags',\n  'socials',\n] as const\nexport type ExtraFields = (typeof EXTRA_FIELDS)[number]\nexport type Project = api.Project<ExtraFields>\n\nexport type DonationFrequency = 'monthly' | 'one-time'\n\nexport enum DonationAllowed {\n  All = 'all',\n  Monthly = 'monthly',\n  OneTime = 'one-time',\n}\n\nexport const OWNER_EXTRA_FIELDS = [\n  'account',\n  'analytics',\n  'answer_code',\n  'billing',\n  'community_members',\n  'default_manager',\n  'examples',\n  'fields_needed',\n  'fieldsets',\n  'latest_news',\n  'latest_project_online',\n  'latest_supporter',\n  'links',\n  'manager',\n  'onboarding_steps',\n  'owner.stats',\n  'partnerships',\n  'proposal',\n  'rewards',\n  'share_images',\n  'shippings',\n  'socials',\n  'sponsorships',\n  'sponsorships.channel',\n  'tags',\n  'tax_receipts_available',\n  'thread',\n  'unread_count',\n  'user_orders',\n  'user_role',\n  'user_subscriptions',\n  'membership.stats',\n] as const\nexport type ProjectOwnerExtraFields = (typeof OWNER_EXTRA_FIELDS)[number]\nexport type ProjectForOwner = api.Project<ProjectOwnerExtraFields>\nexport type UpdateProject = api.UpdateProject<ProjectOwnerExtraFields>\n\nexport const STAFF_EXTRA_FIELDS = [...OWNER_EXTRA_FIELDS, 'slugs'] as const\nexport type StaffExtraFields = (typeof STAFF_EXTRA_FIELDS)[number]\nexport type ProjectForStaff = api.Project<StaffExtraFields>\n\nexport type BackofficeExtraFields = ProjectOwnerExtraFields | StaffExtraFields\n\nexport type RibbonData = {\n  partnerOwnerId: number\n  partnerUrl: string\n  ribbonImageUrl: string | undefined\n}\n\nexport enum EditingUserRole {\n  EDITOR = 'editor',\n  OWNER = 'owner',\n  STAFF = 'staff',\n}\n\nexport enum LifecycleStatus {\n  CANCELLED,\n  CLOSED,\n  EXTENDED,\n  FAILURE,\n  OFFLINE,\n  ONGOING,\n  REFUSED,\n  SUCCESS,\n}\n\nconst PRIMARY_PAYMENT_METHOD = 'card'\n\nexport function allowedDonationFrequency<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): DonationAllowed {\n  if (project.donations_single_allowed && project.donations_monthly_allowed) {\n    return DonationAllowed.All\n  }\n\n  if (project.donations_monthly_allowed && !project.donations_single_allowed) {\n    return DonationAllowed.Monthly\n  }\n\n  return DonationAllowed.OneTime\n}\n\nexport function backgroundColor<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): string | undefined {\n  return project.background_color && i18n.get(project.background_color, project.lang as api.Lang)\n}\n\nexport function backgroundImage<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): string | undefined {\n  const backgroundImageResource = project.background_image && i18n.get(project.background_image)\n  return backgroundImageResource?.url\n}\n\nexport function comingSoonLabel(project: api.Project, isStaff: boolean): string {\n  if (\n    isStaff ||\n    (project.user_role && [api.UserRole.Editor, api.UserRole.Moderator, api.UserRole.Owner].includes(project.user_role))\n  ) {\n    return project.status === api.ProjectStatus.VALIDATED ? t('Ready to go online') : t('In progress')\n  }\n  return t('Online shortly, sign up now!')\n}\n\nexport function currencySymbol<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): string {\n  const currency = project.currency\n  const currencySymbol = env.CURRENCIES_SYMBOL[currency]\n  return currencySymbol && currencySymbol.symbol\n}\n\nexport function description<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): string | undefined {\n  return i18n.get(project.description || {}, language<EXTRA_FIELDS>(project) as api.Lang, '')\n}\n\nexport function failure<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return isFinished(project) && !project.goal_raised\n}\n\nexport function funded<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return !project.finished && progress(project) >= 100\n}\n\nexport function fundingDescription<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): string | undefined {\n  return i18n.get(project.description_funding || {}, language(project) as api.Lang, '')\n}\n\nexport function getCountDown<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  short = true,\n): string {\n  if (!project.date_end) {\n    return ''\n  }\n  const endDate = new Date(project.date_end)\n  const countDown = date.getCountDown(endDate, short)\n\n  if (project.type === api.ProjectType.Donation && countDown.value === '-') {\n    return ''\n  }\n\n  return countDown.label\n}\n\nexport function getEditingUserRole(project: api.Project, isStaff: boolean): EditingUserRole | undefined {\n  if (isStaff) return EditingUserRole.STAFF\n  if (project.user_role === api.UserRole.Owner) return EditingUserRole.OWNER\n  if (project.user_role === api.UserRole.Editor) return EditingUserRole.EDITOR\n\n  return undefined\n}\n\nexport function getFinishedLabel(endTime: string): string {\n  const endDate = new Date(endTime)\n  const currentDate = new Date()\n  const hoursPassed = date.differenceInHours(currentDate, endDate)\n  const minutesPassed = date.differenceInMinutes(currentDate, endDate)\n\n  if (hoursPassed === 0) {\n    return t('Just ended %(hours)d min ago!', { hours: minutesPassed })\n  }\n\n  if (hoursPassed < 12 && hoursPassed > 0) {\n    return t('Just ended %(hours)dh ago!', { hours: hoursPassed })\n  }\n\n  return t('Finished')\n}\n\nexport function getPaymentMethods<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): payment.PaymentMethod[] {\n  const paymentMethods = payment.getPaymentMethods(isDonationBased(project))\n  return project.payment_methods?.map((method) => paymentMethods[method]).filter((method) => method !== undefined) || []\n}\n\nexport function getNumberOfPublicRewards(project: api.Project): number {\n  return project.rewards?.filter((reward) => !reward.is_hidden).length ?? 0\n}\n\nexport function getOrderedPaymentMethods(project: api.Project, enablePaypal = true): payment.PaymentMethod[] {\n  const paymentMethods = getPaymentMethods(project)\n\n  // Primary method must always be first\n  function sortPaymentMethods(methodA: payment.PaymentMethod, methodB: payment.PaymentMethod): number {\n    return methodA.id === PRIMARY_PAYMENT_METHOD ? -1 : methodB.id === PRIMARY_PAYMENT_METHOD ? 1 : 0\n  }\n\n  return paymentMethods.filter((method) => enablePaypal || method.id !== 'paypal').sort(sortPaymentMethods)\n}\n\nexport function getPrimaryPaymentMethod<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  enablePaypal = true,\n): payment.PaymentMethod {\n  const primaryPaymentMethod = getOrderedPaymentMethods(project, enablePaypal)[0]\n\n  if (!primaryPaymentMethod) {\n    logger.warn('[project] Found no primary payment method', { project })\n  }\n\n  return primaryPaymentMethod || payment.getPaymentMethods()[PRIMARY_PAYMENT_METHOD]\n}\n\nexport type StatusProperties = 'failed' | 'pending' | 'succeeded' | 'waiting'\nexport type StepProperties = {\n  status: StatusProperties\n  percent: number\n}\n\nexport type Properties =\n  | {\n      preparation: StepProperties\n      publishing: StepProperties\n      reread: StepProperties\n    }\n  | undefined\n\nexport function getStepProperties(project: api.Project): Properties {\n  const allRequiredFieldFilled = isAllFieldsetsFilled(project)\n\n  switch (project.status) {\n    case api.ProjectStatus.NEW:\n      if (!allRequiredFieldFilled) {\n        return {\n          preparation: { status: 'pending', percent: 25 },\n          reread: { status: 'waiting', percent: 0 },\n          publishing: { status: 'waiting', percent: 0 },\n        }\n      } else {\n        return {\n          preparation: { status: 'pending', percent: 75 },\n          reread: { status: 'waiting', percent: 0 },\n          publishing: { status: 'waiting', percent: 0 },\n        }\n      }\n\n    case api.ProjectStatus.PENDING:\n      return {\n        preparation: { status: 'succeeded', percent: 100 },\n        reread: { status: 'pending', percent: 25 },\n        publishing: { status: 'waiting', percent: 0 },\n      }\n    case api.ProjectStatus.PENDING_OWNER:\n    case api.ProjectStatus.PENDING_FINAL_VALIDATION:\n      if (project.moderation_message) {\n        if (project.moderation_message.read_by_owner) {\n          return {\n            preparation: { status: 'succeeded', percent: 100 },\n            reread: { status: 'pending', percent: 75 },\n            publishing: { status: 'waiting', percent: 0 },\n          }\n        }\n        return {\n          preparation: { status: 'succeeded', percent: 100 },\n          reread: { status: 'pending', percent: 50 },\n          publishing: { status: 'waiting', percent: 0 },\n        }\n      }\n\n      return {\n        preparation: { status: 'succeeded', percent: 100 },\n        reread: { status: 'pending', percent: 75 },\n        publishing: { status: 'waiting', percent: 0 },\n      }\n\n    case api.ProjectStatus.VALIDATED:\n      if (project.validation_message === undefined) {\n        return {\n          preparation: { status: 'succeeded', percent: 100 },\n          reread: { status: 'succeeded', percent: 100 },\n          publishing: { status: 'pending', percent: 75 },\n        }\n      } else if (project.validation_message.read_by_owner) {\n        return {\n          preparation: { status: 'succeeded', percent: 100 },\n          reread: { status: 'succeeded', percent: 100 },\n          publishing: { status: 'pending', percent: 75 },\n        }\n      }\n\n      return {\n        preparation: { status: 'succeeded', percent: 100 },\n        reread: { status: 'succeeded', percent: 100 },\n        publishing: { status: 'pending', percent: 25 },\n      }\n\n    default:\n      return\n  }\n}\n\nexport enum Steps {\n  SETUP = 'setup',\n  AWAITING_REVIEW_SUBMISSION = 'awaiting_review_submission',\n  IN_REVIEW = 'in_review',\n  AWAITING_OWNER_REVIEW_REPLY = 'awaiting_owner_review_reply',\n  AWAITING_VALIDATION = 'awaiting_validation',\n  AWAITING_OWNER_VALIDATION_ACKNOWLEDGMENT = 'awaiting_owner_validation_acknowledgement',\n  AWAITING_OWNER_PUBLISHING = 'awaiting_owner_publishing',\n}\n\nexport function getCurrentStep(project: api.Project) {\n  const properties = getStepProperties(project)\n\n  if (!properties) {\n    return\n  }\n\n  if (properties.preparation.status === 'pending') {\n    if (properties.preparation.percent > 50) {\n      return Steps.AWAITING_REVIEW_SUBMISSION\n    }\n\n    if (properties.preparation.percent < 50) {\n      return Steps.SETUP\n    }\n  }\n\n  if (properties.reread.status === 'pending') {\n    if (properties.reread.percent === 25) {\n      return Steps.IN_REVIEW\n    }\n\n    if (properties.reread.percent === 50) {\n      return Steps.AWAITING_OWNER_REVIEW_REPLY\n    }\n\n    if (properties.reread.percent === 75) {\n      return Steps.AWAITING_VALIDATION\n    }\n  }\n\n  if (properties.publishing.status === 'pending') {\n    if (properties.publishing.percent === 25) {\n      return Steps.AWAITING_OWNER_VALIDATION_ACKNOWLEDGMENT\n    }\n\n    if (properties.publishing.percent === 75) {\n      return Steps.AWAITING_OWNER_PUBLISHING\n    }\n  }\n}\n\nexport function getFieldset(project: api.Project, key: api.FIELDSETS_KEYS) {\n  return project.fieldsets?.find((fieldset) => fieldset.key === key)\n}\n\nexport function getRibbonData(project: api.Project): RibbonData | null {\n  if (!project || !project.partnerships) {\n    return null\n  }\n\n  const ribbonPartnership = project.partnerships.find((partnership) => !!partnership.ribbon)\n\n  if (ribbonPartnership) {\n    return {\n      partnerOwnerId: ribbonPartnership.partner.user_id,\n      partnerUrl: ribbonPartnership.partner.url,\n      ribbonImageUrl: ribbonPartnership.ribbon?.url,\n    }\n  }\n\n  const winnerSponsor = project.partnerships.find(\n    (partnership) => partnership.is_winner && partnership.partner.ribbon_winner,\n  )\n\n  if (winnerSponsor) {\n    return {\n      partnerOwnerId: winnerSponsor.partner.user_id,\n      partnerUrl: winnerSponsor.partner.url,\n      ribbonImageUrl: winnerSponsor.partner.ribbon_winner?.url,\n    }\n  }\n\n  const supportiveSponsor = project.partnerships.find(\n    (partnership) => partnership.is_support && partnership.partner.ribbon,\n  )\n\n  if (supportiveSponsor) {\n    return {\n      partnerOwnerId: supportiveSponsor.partner.user_id,\n      partnerUrl: supportiveSponsor.partner.url,\n      ribbonImageUrl: supportiveSponsor.partner.ribbon?.url,\n    }\n  }\n\n  return null\n}\n\nexport function getSecondaryPaymentMethods<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  enablePaypal = true,\n): payment.PaymentMethod[] {\n  const paymentMethods = payment.getPaymentMethods(isDonationBased(project))\n  const primaryPaymentMethod = getPrimaryPaymentMethod(project, enablePaypal)\n  return (\n    (project.payment_methods ?? [])\n      .map((method) => paymentMethods[method])\n      .filter((method) => method !== undefined && method.id !== primaryPaymentMethod?.id) || []\n  )\n}\n\nexport function getStatus(project: api.Project): string | undefined {\n  if (project.is_in_extra_time) {\n    return t('Extension')\n  } else if (project.finished) {\n    return t('Finished')\n  } else if (project.is_online && !project.date_end) {\n    return ''\n  }\n}\n\nexport function hadExtraTime<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  if (!project.date_end_extra_time) return false\n\n  const dateEndExtraTime = project.extra_time_canceled_at\n    ? new Date(project.extra_time_canceled_at)\n    : new Date(project.date_end_extra_time)\n  const currentDate = new Date()\n\n  return isFinished(project) && date.compareAsc(currentDate, dateEndExtraTime) >= 0\n}\n\nconst FIELDSET_NEEDED_FOR_PREVIEW = [\n  api.FIELDSETS_KEYS.DATE_END,\n  api.FIELDSETS_KEYS.GOAL,\n  api.FIELDSETS_KEYS.MAIN_IMAGE,\n  api.FIELDSETS_KEYS.NB_DAYS,\n  api.FIELDSETS_KEYS.TITLE,\n]\ntype HasAccessToPreviewAllowKey = (typeof FIELDSET_NEEDED_FOR_PREVIEW)[number]\n\nexport function hasAccessToPreview(project: api.Project): boolean {\n  // HACK: This should be handled by the API\n  const projectIsDonationBased = isDonationBased(project)\n  const fieldsNeeded = project.fieldsets\n  const KEYS = api.FIELDSETS_KEYS\n\n  if (isAllFieldsetsFilled(project)) {\n    return true\n  }\n\n  const fieldsFiltered = fieldsNeeded?.reduce(\n    (fieldAcc, field) => {\n      if (FIELDSET_NEEDED_FOR_PREVIEW.includes(field.key)) {\n        return { ...fieldAcc, [field.key]: { ...field } }\n      }\n\n      return fieldAcc\n    },\n    [] as { [key in HasAccessToPreviewAllowKey]?: api.ProjectFieldset },\n  )\n\n  if (projectIsDonationBased) {\n    return (\n      (fieldsFiltered !== undefined &&\n        fieldsFiltered[KEYS.TITLE]?.completed &&\n        fieldsFiltered[KEYS.MAIN_IMAGE]?.completed) ??\n      false\n    )\n  } else {\n    return (\n      (fieldsFiltered !== undefined &&\n        getNumberOfPublicRewards(project) > 0 &&\n        fieldsFiltered[KEYS.TITLE]?.completed &&\n        fieldsFiltered[KEYS.MAIN_IMAGE]?.completed &&\n        fieldsFiltered[KEYS.GOAL]?.completed &&\n        (fieldsFiltered[KEYS.DATE_END]?.completed || fieldsFiltered[KEYS.NB_DAYS]?.completed)) ??\n      false\n    )\n  }\n}\n\n// return if project has a checkout\nexport function hasCheckout(project: api.Project): boolean {\n  if (project.user_role === api.UserRole.Owner) {\n    return true\n  }\n\n  if (isFinished(project)) {\n    return project.post_campaign_link !== undefined\n  }\n\n  return project.is_online && !isCancelled(project)\n}\n\nexport function hasExtraTime<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.has_extra_time\n}\n\nexport function hasSubscriptions<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.subscriptions_count !== undefined && project.subscriptions_count >= 1\n}\n\nexport function hasSelfPermission<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  permission: api.ProjectSelfPermission,\n): boolean {\n  if (project.permissions.self === null) {\n    return false\n  }\n  return project.permissions.self.includes(permission)\n}\n\nexport function isAllFieldsetsFilled(project: api.Project) {\n  const fieldsets = project.fieldsets\n  return fieldsets !== undefined && fieldsets.every((field) => !field.required || field.completed)\n}\n\nexport function isCancelled<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return project.goal_status === api.GoalStatus.CANCELLED || project.is_cancelled\n}\n\nexport function isFraud<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return project.goal_status === api.GoalStatus.FRAUD\n}\n\nexport function isClosed(project: api.Project): boolean {\n  return isFinished(project) || isCancelled(project)\n}\n\n// Although we avoid implementing such simple model methods, this one is here for a purpose:\n// be able to easily locate view sections and logic blocks that are related to donation-based projects.\nexport function isDonationBased(project: api.Project): boolean {\n  return project.type === api.ProjectType.Donation\n}\n\nexport function isMembership(project: api.Project): boolean {\n  return project.type === api.ProjectType.Membership\n}\n\nexport function isRewardBased(project: api.Project): boolean {\n  return project.type === api.ProjectType.Presale || project.type == api.ProjectType.Project\n}\n\nexport function isVendorBased(project: api.Project): boolean {\n  return project.type === api.ProjectType.Vendor\n}\n\nexport function isExtraTime<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.is_in_extra_time\n}\n\nexport function isFinished<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return project.finished && !project.is_in_extra_time\n}\n\nexport function isComingSoonEnabled(project: api.Project): boolean {\n  return (\n    !project.is_cancelled &&\n    ![api.ProjectStatus.ONLINE, api.ProjectStatus.REFUSED].includes(project.status) &&\n    project.answer_code !== api.ProjectAnswerCode.NEED_MODERATION\n  )\n}\n\nexport function isOnline<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return project.status === api.ProjectStatus.ONLINE\n}\n\nexport function isOkpalOffboardingAvailable<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): boolean {\n  return project.currency === 'EUR' || project.currency === 'CAD'\n}\n\nexport function isValidated<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS> | ProjectForOwner | ProjectForStaff,\n): boolean {\n  return project.status === api.ProjectStatus.VALIDATED\n}\n\nexport function language<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): string | undefined {\n  return project?.lang\n}\n\nexport function lifecycleStatus<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): LifecycleStatus {\n  // Project with status 'refused' or goal_status 'fraud'\n  if (refused(project) || project.goal_status === api.GoalStatus.FRAUD) {\n    return LifecycleStatus.REFUSED\n  }\n\n  // Project with goal_status 'cancelled', no matters the status\n  if (isCancelled(project)) {\n    return LifecycleStatus.CANCELLED\n  }\n\n  // Project not online yet (status 'new', 'pending', 'pending-owner', 'waiting',\n  // 'pending-final-validation' or 'validated'\n  if (offline(project)) {\n    return LifecycleStatus.OFFLINE\n  }\n\n  // At this point, all statuses are handled except 'online'\n\n  // RB finished and successfull projects or DB/MB closed projects\n  if (success(project)) {\n    if (isRewardBased(project)) {\n      return LifecycleStatus.SUCCESS\n    }\n\n    return LifecycleStatus.CLOSED\n  }\n\n  // RB successfull and extended projects\n  if (!isDonationBased(project) && project.is_in_extra_time) {\n    return LifecycleStatus.EXTENDED\n  }\n\n  // Failed projects\n  if (failure(project)) {\n    return LifecycleStatus.FAILURE\n  }\n\n  // Others projects including:\n  // - RB projects with status 'online' and goal_status 'funding'\n  // - DB/MB projects that are not finished, with status 'online'\n  // and goal_status 'failed' or 'funding'\n  return LifecycleStatus.ONGOING\n}\n\nexport function mainImage<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  size = 'large',\n  lang = env.getUserConfig().lang,\n): string | undefined {\n  const mainImageResource = project.main_image && i18n.getWithLang(project.main_image, lang, project.lang)\n  return image.getUrl(mainImageResource?.versions, size)\n}\n\nexport function shareImages(project: api.Project, lang = env.getUserConfig().lang): string | undefined {\n  return project.share_images?.facebook && i18n.getWithLang(project.share_images.facebook, lang, project.lang)\n}\n\nexport function avatarImage(project: api.Project, lang = env.getUserConfig().lang, size: string): string | undefined {\n  const avatarImageResource = project.avatar_image && i18n.getWithLang(project.avatar_image, lang, project.lang)\n  return image.getUrl(avatarImageResource?.versions, size)\n}\n\nexport function mainTag<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): string | undefined {\n  return project.main_tag && i18n.get(project.main_tag.name, project.lang as api.Lang)\n}\n\nexport function name<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  overrideLang?: api.Lang,\n  fallbackLang?: api.Lang,\n): string | undefined {\n  if (overrideLang) {\n    return (\n      project.name[overrideLang] ??\n      /* HACK: Cannot solely rely on i18n.get() on ulule/next since it depends on \"ufe.locale\", which doesn't reflect the real-world value. */\n      // HACK: i18n.get uses UFE.USER_LOCALE first, which happen to be \"fr\" on @ulule/next,\n      // but current production values doesn't reflect, that so we're controlling it from here.\n      // If the targeted project.name[overrideLang] fails we try project.name[fallbackLang]\n      // if fallbackLang is defined\n      (fallbackLang && project.name[fallbackLang]) ??\n      // and eventually fallback to UFE.USER_LOCALE from within i18n.get\n      i18n.get(project.name, project.lang as api.Lang)\n    )\n  }\n\n  return i18n.get(project.name, project.lang as api.Lang)\n}\n\nexport function ownerDescription<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  lang = env.getUserConfig().lang,\n): string | undefined {\n  return i18n.getWithLang(project.description_yourself || {}, lang, project.lang)\n}\n\nexport function progress<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): number {\n  return Math.floor(rawProgress(project))\n}\n\nexport function rawProgress<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): number {\n  const projectGoal = project.goal\n\n  if (projectGoal <= 0) {\n    return 0\n  }\n\n  let value = project.amount_raised\n  if (project.type === api.ProjectType.Presale) {\n    value = project.nb_products_sold\n  } else if (project.type === api.ProjectType.Membership) {\n    if (project.goal_type === api.GoalType.QUANTITATIVE && project.subscriptions_count) {\n      value = project.subscriptions_count\n    } else if (project.goal_type === api.GoalType.FINANCIAL && project.subscriptions_amount) {\n      value = project.subscriptions_amount\n    } else {\n      value = 0\n    }\n  }\n\n  return (value * 100) / projectGoal\n}\n\nexport function refused<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.status === api.ProjectStatus.REFUSED\n}\n\nexport function success<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.goal_status === api.GoalStatus.SUCCESS && !project.is_in_extra_time\n}\n\nexport function offline<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return (\n    project.status === api.ProjectStatus.PENDING ||\n    project.status === api.ProjectStatus.PENDING_FINAL_VALIDATION ||\n    project.status === api.ProjectStatus.PENDING_OWNER ||\n    project.status === api.ProjectStatus.VALIDATED ||\n    project.status === api.ProjectStatus.WAITING ||\n    project.status === api.ProjectStatus.NEW\n  )\n}\n\nexport function subtitle<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n  lang = env.getUserConfig().lang,\n): string | undefined {\n  return i18n.getWithLang(project.subtitle, lang, project.lang)\n}\n\nexport function showOnboardingSteps(project: api.Project): boolean {\n  if (project.status !== api.ProjectStatus.NEW) {\n    return false\n  }\n\n  // when using old onboarding, we rely on step 'slug'\n  const onboardingSteps = project.onboarding_steps\n\n  // when using new onboarding, we have to rely on step 'done' if we want to avoid confettis everytime\n  if (onboardingSteps?.onboarding?.done) {\n    return false\n  }\n\n  return project.user_role === api.UserRole.Owner\n}\n\nexport function tagName<EXTRA_FIELDS extends string = ''>(\n  tag: api.TagBase,\n  project: api.Project<EXTRA_FIELDS>,\n): string | undefined {\n  return i18n.get(tag.name, project.lang as api.Lang)\n}\n\nexport function video<EXTRA_FIELDS extends string = ''>(\n  project: api.Project<EXTRA_FIELDS>,\n): api.VideoResource | undefined {\n  return project.video && i18n.get(project.video, project.lang as api.Lang)\n}\n\nexport function isOrdersEnabled<EXTRA_FIELDS extends string = ''>(project: api.Project<EXTRA_FIELDS>): boolean {\n  return project.orders_enabled !== undefined ? project.orders_enabled : true\n}\n\nexport function isPresaleType(project: api.Project): boolean {\n  return project.type === api.ProjectType.Presale\n}\n\nexport function getShippingFormattedDate(project: api.Project, format = 'MMMM yyyy') {\n  if (project.date_delivery === undefined) {\n    return ''\n  }\n\n  return date.format(date.parseISO(project.date_delivery), format)\n}\n\nexport function isUserMember(project: api.Project): boolean {\n  return getActiveMembershipOrder(project) !== undefined\n}\n\nexport function getActiveMembershipOrder(project: api.Project): api.Subscription | undefined {\n  return project.user_subscriptions?.[0]\n}\n\nexport function getAutomaticGoalValue(project: api.Project): number | undefined {\n  const currentAmount = getSubscriptionsCount(project)\n\n  if (currentAmount === undefined) {\n    return\n  }\n\n  const levels =\n    project.goal_type === api.GoalType.QUANTITATIVE\n      ? [\n          { target: 10, step: 10 },\n          { target: 100, step: 25 },\n          { target: 500, step: 50 },\n          { target: 1000, step: 100 },\n          { target: 5000, step: 250 },\n          { target: 10000, step: 500 },\n          { target: 50000, step: 2500 },\n          { target: Infinity, step: 5000 },\n        ]\n      : [\n          { target: 100, step: 25 },\n          { target: 500, step: 50 },\n          { target: 1000, step: 100 },\n          { target: 5000, step: 250 },\n          { target: 10000, step: 500 },\n          { target: 50000, step: 2500 },\n          { target: Infinity, step: 5000 },\n        ]\n\n  let nextGoal = 1\n  let i = 0\n\n  while (nextGoal === 1) {\n    const level = levels[i]\n    if (currentAmount < level.target) {\n      nextGoal = (Math.floor(currentAmount / level.step) + 1) * level.step\n    } else {\n      i += 1\n    }\n  }\n\n  return nextGoal\n}\n\nexport function getSubscriptionName(project: api.Project, lang: api.Lang) {\n  const reward = getActiveMembershipOrder(project)?.reward\n\n  if (reward?.title) {\n    return i18n.getWithLang(reward.title, lang, project.lang)\n  }\n\n  return undefined\n}\n\nexport function getSubscriptionType(project: api.Project) {\n  const reward = getActiveMembershipOrder(project)?.reward\n\n  if (reward) {\n    return reward.is_free ? 'free' : 'paid'\n  }\n  return 'none'\n}\n\n// FIXME: We need to rename this.\nexport function getSubscriptionsCount(project: api.Project) {\n  return project.goal_type === api.GoalType.QUANTITATIVE ? project.subscriptions_count : project.subscriptions_amount\n}\n", "export * from './base'\nexport * as extratime from './extratime'\n", "import * as api from '@owl-nest/api-client/latest'\nimport * as base from './base'\n\nexport enum ExtraTimeStatus {\n  DATE_END_IS_TOO_FAR_FUNDED = 'date_end_is_to_far_funded',\n  DATE_END_IS_TOO_FAR_NOT_FUNDED = 'date_end_is_to_far_not_funded',\n  EXTRA_TIME_IS_ENDED_AUTO = 'extra_time_is_ended_auto',\n  EXTRA_TIME_IS_ENDED_MANUAL = 'extra_time_is_ended_manual',\n  EXTRA_TIME_IS_ON = 'extra_time_is_on',\n  EXTRA_TIME_NOT_AVAILABLE = 'extra_time_not_available',\n  NOT_FUNDED = 'not_funded',\n  ONLINE_WITH_EXTRA_TIME_NO_SAVED = 'online_with_extra_time_no_saved',\n  ONLINE_WITH_EXTRA_TIME_SAVED = 'online_with_extra_time_saved',\n  ONLINE_WITHOUT_EXTRA_TIME = 'online_without_extra_time',\n}\n\nexport function isEditionBlocked(currentStatus: ExtraTimeStatus) {\n  return currentStatus === ExtraTimeStatus.EXTRA_TIME_NOT_AVAILABLE\n}\n\nexport function isDisabled(currentStatus: ExtraTimeStatus) {\n  return (\n    currentStatus === ExtraTimeStatus.EXTRA_TIME_NOT_AVAILABLE ||\n    currentStatus === ExtraTimeStatus.NOT_FUNDED ||\n    currentStatus === ExtraTimeStatus.DATE_END_IS_TOO_FAR_FUNDED ||\n    currentStatus === ExtraTimeStatus.DATE_END_IS_TOO_FAR_NOT_FUNDED\n  )\n}\n\nexport function isEnded(currentStatus: ExtraTimeStatus) {\n  return (\n    currentStatus === ExtraTimeStatus.EXTRA_TIME_IS_ENDED_AUTO ||\n    currentStatus === ExtraTimeStatus.EXTRA_TIME_IS_ENDED_MANUAL\n  )\n}\n\nexport function isFinishOrOn(currentStatus: ExtraTimeStatus) {\n  return (\n    isEnded(currentStatus) ||\n    currentStatus === ExtraTimeStatus.EXTRA_TIME_NOT_AVAILABLE ||\n    currentStatus === ExtraTimeStatus.EXTRA_TIME_IS_ON ||\n    currentStatus === ExtraTimeStatus.ONLINE_WITH_EXTRA_TIME_SAVED\n  )\n}\n\nexport function isOnAndSaved(currentStatus: ExtraTimeStatus) {\n  return (\n    currentStatus === ExtraTimeStatus.ONLINE_WITH_EXTRA_TIME_SAVED || currentStatus === ExtraTimeStatus.EXTRA_TIME_IS_ON\n  )\n}\n\nexport function getExtraTimeStatus({\n  extraTimeActivated,\n  numberMinutesLeft,\n  numberDayToEnd,\n  project,\n}: {\n  extraTimeActivated: boolean\n  numberMinutesLeft: number\n  numberDayToEnd: number\n  project: api.Project\n}): ExtraTimeStatus {\n  // Wordings and behaviour of the extratime feature are the same for projects\n  // that are still being edited (and not online ye) and projects already online but not funded yet.\n  // Both cases are considered as not funded.\n  if (!base.isOnline(project)) {\n    return ExtraTimeStatus.NOT_FUNDED\n  }\n\n  if (numberDayToEnd >= 7) {\n    return project.goal_raised\n      ? ExtraTimeStatus.DATE_END_IS_TOO_FAR_FUNDED\n      : ExtraTimeStatus.DATE_END_IS_TOO_FAR_NOT_FUNDED\n  }\n\n  if (numberMinutesLeft <= 0 && !extraTimeActivated && !base.hadExtraTime(project)) {\n    return ExtraTimeStatus.EXTRA_TIME_NOT_AVAILABLE\n  }\n\n  if (base.isExtraTime(project)) {\n    return ExtraTimeStatus.EXTRA_TIME_IS_ON\n  }\n\n  // EXTRA_TIME_IS_ENDED_MANUAL and EXTRA_TIME_IS_ENDED_AUTO are set\n  // if and only if time to set an extenstion is over\n  // In other words: if a project has a canceled or ended extention\n  // and if there is still some reminaing time to activate an extension (7 days after project end),\n  // we don't use these 2 statuses.\n  if (numberMinutesLeft <= 0) {\n    if (project.extra_time_canceled_at !== undefined) {\n      return ExtraTimeStatus.EXTRA_TIME_IS_ENDED_MANUAL\n    }\n\n    if (base.hadExtraTime(project)) {\n      return ExtraTimeStatus.EXTRA_TIME_IS_ENDED_AUTO\n    }\n  }\n\n  if (!project.goal_raised) {\n    return ExtraTimeStatus.NOT_FUNDED\n  }\n\n  if (base.hasExtraTime(project) && extraTimeActivated) {\n    return ExtraTimeStatus.ONLINE_WITH_EXTRA_TIME_SAVED\n  }\n\n  if (extraTimeActivated) {\n    return ExtraTimeStatus.ONLINE_WITH_EXTRA_TIME_NO_SAVED\n  } else {\n    return ExtraTimeStatus.ONLINE_WITHOUT_EXTRA_TIME\n  }\n}\n", "export * as channel from './src/channel'\nexport * as faq from './src/faq'\nexport * as i18n from './src/i18n'\nexport * as image from './src/image'\nexport * as impact from './src/impact'\nexport * as option from './src/option'\nexport * as order from './src/order'\nexport * as orderItem from './src/orderItem'\nexport * as pickup from './src/pickup'\nexport * as project from './src/project/'\nexport * as proposal from './src/proposal'\nexport * as reward from './src/reward'\nexport * as subscription from './src/subscription'\nexport * as sku from './src/sku'\nexport * as sponsorship from './src/sponsorship'\nexport * as user from './src/user'\nexport * as variant from './src/variant'\n", "import { Channel } from '@owl-nest/api-client/latest'\n\nimport * as i18n from './i18n'\nimport * as image from './image'\n\nexport function name(channel: Channel): string {\n  return i18n.get(channel.name, 'en', '')\n}\n\nexport function description(channel: Channel): string {\n  return i18n.get(channel.description, 'en', '')\n}\n\nexport function backgroundImage(channel: Channel, size = 'full'): string | undefined {\n  return image.getUrl(channel.background?.versions, size)\n}\n\nexport function ctaBackgroundImage(channel: Channel, size = 'full'): string | undefined {\n  return image.getUrl(channel.cta_background?.versions, size)\n}\n", "import { Faq, Lang } from '@owl-nest/api-client/latest'\nimport * as i18n from './i18n'\n\nexport const getAnswer = (faq: Faq, lang: Lang): string => {\n  return i18n.get(faq.answer, lang, '')\n}\n\nexport const getQuestion = (faq: Faq, lang: Lang): string => {\n  return i18n.get(faq.question, lang, '')\n}\n", "import * as api from '@owl-nest/api-client/latest'\nimport * as i18n from './i18n'\n\nexport type Impact = Omit<api.Impact, 'sdgs'> & {\n  sdgs: (Omit<api.ProjectSDG, 'id'> & { id: number | undefined; deleted?: boolean; touched?: boolean })[]\n}\n\nexport function model(impact: api.Impact): Impact {\n  return {\n    ...impact,\n    sdgs: impact.sdgs ?? [],\n  }\n}\n\nexport function getCertifications(impact: Impact, lang: api.Lang): string {\n  return i18n.get(impact.certifications, lang, '')\n}\n\nexport function getChallenges(impact: Impact, lang: api.Lang): string {\n  return i18n.get(impact.challenges, lang, '')\n}\n\nexport function getImpact(impact: Impact, lang: api.Lang): string {\n  return i18n.get(impact.impact, lang, '')\n}\n\nexport function isEmpty(impact: Impact): boolean {\n  return (\n    (Object.keys(impact.impact).length === 0 || Object.values(impact.impact).every((value) => !value)) &&\n    (Object.keys(impact.certifications).length === 0 || Object.values(impact.certifications).some((value) => !value)) &&\n    impact.sdgs.length === 0\n  )\n}\n\nexport function getLangs(impact: Impact | api.Impact): api.Lang[] {\n  const langs = new Set([\n    ...i18n.getLangs(impact.certifications),\n    ...i18n.getLangs(impact.challenges),\n    ...i18n.getLangs(impact.impact),\n  ])\n\n  if (impact.sdgs) {\n    for (const sdg of impact.sdgs) {\n      i18n.getLangs(sdg.description).forEach((lang) => langs.add(lang))\n    }\n  }\n\n  return Array.from(langs.keys())\n}\n", "import * as api from '@owl-nest/api-client/latest'\nimport * as dateUtils from '@owl-nest/date'\n\nimport * as orderItem from './orderItem'\n\nexport function isPaidByCheck(order: api.Order): boolean {\n  return order.payment_method === 'check'\n}\n\nexport function isProcessing(order: api.Order): boolean {\n  if (order.status === 'awaiting-confirmation' && isPaidByCheck(order)) {\n    return false\n  }\n\n  return ['processing', 'selecting-payment', 'awaiting-confirmation'].indexOf(order.status) > -1\n}\n\nexport function isFailed(order: api.Order): boolean {\n  return ['aborted', 'payment-invalid', 'payment-reimbursed', 'payment-refunded', 'error'].indexOf(order.status) > -1\n}\n\nexport function isCancelled(order: api.Order): boolean {\n  return order.status === 'cancelled'\n}\n\nexport function isSucceeded(order: api.Order): boolean {\n  if (order.status === 'awaiting-confirmation' && isPaidByCheck(order)) {\n    return true\n  }\n\n  return ['payment-completed', 'shipped', 'payment-done'].indexOf(order.status) > -1\n}\n\nexport enum OrderStatus {\n  AWAITING_PAYMENT,\n  AWAITING_DELIVERY,\n  AWAITING_BANKWIRE,\n  REIMBURSMENT_FAILURE,\n  PAYMENT_FAILURE,\n  PAYMENT_REIMBURSED,\n  PAYMENT_CANCELED,\n  PAYMENT_INVALID,\n  SUBSCRIPTION_CANCELED,\n}\n\nexport function getOrderStatus<WITH_PROJECT = false, EXTRA_FIELDS extends string = ''>(\n  order: api.Order<WITH_PROJECT, EXTRA_FIELDS>,\n  project: api.Project,\n  user?: api.AuthenticatedUser,\n): OrderStatus | undefined {\n  if (order.payment_method === api.PaymentMethod.BANKWIRE && order.status === 'awaiting-confirmation') {\n    return OrderStatus.AWAITING_BANKWIRE\n  }\n  if (user?.is_staff && order.status === 'awaiting-confirmation') {\n    return OrderStatus.AWAITING_PAYMENT\n  }\n  if (/** TODO when the api is capable to send the information */ false) {\n    return OrderStatus.REIMBURSMENT_FAILURE\n  }\n  if (order.status === 'payment-reimbursed') {\n    return OrderStatus.PAYMENT_REIMBURSED\n  }\n  if (order.status === 'cancelled') {\n    return OrderStatus.PAYMENT_CANCELED\n  }\n  if (order.status === 'payment-invalid') {\n    return OrderStatus.PAYMENT_INVALID\n  }\n  if (order.status === 'error') {\n    return OrderStatus.PAYMENT_FAILURE\n  }\n  if (order.subscription?.status === api.SubscriptionStatus.CANCELED) {\n    return OrderStatus.SUBSCRIPTION_CANCELED\n  }\n  const lastDelivery = getLastDelivery(order, project)\n  if (\n    lastDelivery &&\n    dateUtils.addMonths(lastDelivery, 2) < new Date() &&\n    order.shipping_status !== api.ShippingStatus.DELIVERED\n  ) {\n    return OrderStatus.AWAITING_DELIVERY\n  }\n}\n\nexport function getLastDelivery<WITH_PROJECT = false, EXTRA_FIELDS extends string = ''>(\n  order: api.Order<WITH_PROJECT, EXTRA_FIELDS>,\n  project: api.Project,\n): Date | undefined {\n  const safeOrders = order.items ?? []\n\n  if (safeOrders.length === 0) {\n    return undefined\n  }\n\n  const lastDeliveryDate = safeOrders\n    .map((item) => {\n      const deliveryDate = orderItem.getReward(item, project)?.shippings?.date_delivery\n      if (!deliveryDate) {\n        return undefined\n      }\n      return dateUtils.parse(deliveryDate, 'yyyy-MM', new Date())\n    })\n    .filter((date): date is Date => date !== undefined)\n    .sort((a, b) => b.getTime() - a.getTime())[0]\n\n  return lastDeliveryDate\n}\n", "import { OrderItem, Project, Reward as RawReward, Variant as RawVariant } from '@owl-nest/api-client/latest'\nimport { Reward } from './reward'\nimport { Variant } from './variant'\n\nexport function isReward(item: RawReward | RawVariant): item is RawReward {\n  return !('parent' in item)\n}\n\nexport function getReward<PROJECT_EXTRA_FIELDS extends string = ''>(\n  orderItem: OrderItem<any>,\n  project: Project<PROJECT_EXTRA_FIELDS>,\n): Reward<PROJECT_EXTRA_FIELDS> | undefined {\n  const rewardData = orderItem.reward\n  if (isReward(rewardData)) {\n    return Reward(rewardData, project)\n  }\n  if (rewardData.parent) {\n    return Reward(rewardData.parent, project)\n  }\n}\n\nexport function getVariant<PROJECT_EXTRA_FIELDS extends string = ''>(\n  orderItem: OrderItem,\n  project: Project<PROJECT_EXTRA_FIELDS>,\n): Variant<PROJECT_EXTRA_FIELDS> | undefined {\n  const rewardData = orderItem.reward\n  if (isReward(rewardData)) {\n    return undefined\n  }\n  if (rewardData.parent) {\n    return Variant(rewardData, Reward(rewardData.parent, project))\n  }\n}\n", "import { PickupPoint } from '@owl-nest/api-client/latest'\nimport * as env from '@owl-nest/config'\nimport { formatLine } from '@owl-nest/address/src/model'\nimport * as i18nUtils from './i18n'\n\nexport function city(pickupPoint: PickupPoint): string {\n  return i18nUtils.get(pickupPoint.name, undefined, '')\n}\n\nexport function address(pickupPoint: PickupPoint): string {\n  return pickupPoint.address ? formatLine(pickupPoint.address, env.COUNTRIES) : ''\n}\n\nexport function description(pickupPoint: PickupPoint): string {\n  return i18nUtils.get(pickupPoint.description, undefined, '')\n}\n\nexport function name(pickupPoint: PickupPoint): string {\n  return i18nUtils.get(pickupPoint.name, undefined, '')\n}\n", "import { DistributiveOmit } from '@owl-nest/api-client/next'\nimport { Address, CreateAddress, AddressType } from '@owl-nest/api-client/latest'\n//TODO: use @owl-nest/validator\nimport { phoneNumber } from './phone/phoneValidator'\nimport * as yup from 'yup'\nimport { t } from '@owl-nest/localize'\nimport { Country } from '@owl-nest/config'\n\nexport type Model = DistributiveOmit<Address, 'id' | 'user_id' | 'has_shippings'> & { id: number | undefined }\n\nexport function empty(): Model {\n  return {\n    id: undefined,\n    address1: '',\n    address2: '',\n    city: '',\n    country: '',\n    postal_code: '',\n    state: '',\n    phone_number: '',\n    first_name: '',\n    last_name: '',\n    entity_name: '',\n    type: AddressType.PERSONAL,\n  }\n}\n\nexport function format(model: CreateAddress | Model, countries: Country[]): string {\n  const formatted: string[][] = []\n\n  if (model.first_name) {\n    if (formatted.length === 0) {\n      formatted.push([])\n    }\n    formatted[0].push(model.first_name)\n  }\n\n  if (model.last_name) {\n    if (formatted.length === 0) {\n      formatted.push([])\n    }\n    formatted[0].push(model.last_name)\n  }\n\n  if (model.entity_name) {\n    formatted.push([model.entity_name])\n  }\n\n  if (model.phone_number) {\n    formatted.push([model.phone_number])\n  }\n\n  formatted.push([model.address1])\n\n  if (model.address2) {\n    formatted.push([model.address2])\n  }\n\n  formatted.push([model.postal_code, model.city])\n  const country = countries.find((country) => country.code === model.country)\n  formatted.push([country ? country.label() : model.country])\n\n  return formatted.map((line) => line.join(' ')).join('\\n')\n}\n\nexport function formatMondialRelay(\n  model: (CreateAddress | Model) & {\n    delivery_type?: 'mondial_relay' | 'home_delivery'\n    dropoff_id?: string\n    dropoff_name?: string\n  },\n  countries: Country[],\n): string {\n  const formatted: string[][] = []\n\n  if (model.dropoff_name) {\n    if (formatted.length === 0) {\n      formatted.push([])\n    }\n    formatted[0].push(model.dropoff_name)\n  }\n\n  formatted.push([model.address1])\n\n  if (model.address2) {\n    formatted.push([model.address2])\n  }\n\n  formatted.push([model.postal_code, model.city])\n  const country = countries.find((country) => country.code === model.country)\n  formatted.push([country ? country.label() : model.country])\n\n  return formatted.map((line) => line.join(' ')).join('\\n')\n}\n\nexport function formatLine(model: CreateAddress | Model, countries: Country[]): string {\n  const formatted: string[][] = []\n\n  if (model.first_name) {\n    if (formatted.length === 0) {\n      formatted.push([])\n    }\n    formatted[0].push(model.first_name)\n  }\n\n  if (model.last_name) {\n    if (formatted.length === 0) {\n      formatted.push([])\n    }\n    formatted[0].push(model.last_name)\n  }\n\n  if (model.entity_name) {\n    formatted.push([model.entity_name])\n  }\n\n  if (model.phone_number) {\n    formatted.push([model.phone_number])\n  }\n\n  formatted.push([model.address1])\n\n  if (model.address2) {\n    formatted.push([model.address2])\n  }\n\n  formatted.push([model.postal_code, model.city])\n  const country = countries.find((country) => country.code === model.country)\n  formatted.push([country ? country.label() : model.country])\n\n  return formatted.map((line) => line.join(' ')).join(', ')\n}\n\nexport function baseSchema(phoneRequired: boolean): yup.ObjectSchema<any> {\n  // TODO: set this in a common module\n  yup.setLocale({\n    mixed: {\n      required: t('This field is required'),\n      default: t('This field is invalid'),\n    },\n    string: {\n      max: t('This field must contain a maximum of %(max)d characters').replace('%(max)d', '${max}'),\n    },\n  })\n\n  return yup.object().shape({\n    phone_number: phoneRequired ? yup.string().required().concat(phoneNumber()) : yup.mixed(),\n    address1: yup.string().required().max(255),\n    address2: yup.string().max(255),\n    city: yup.string().required().max(140),\n    country: yup.string().required(),\n    postal_code: yup.string().required().max(144),\n    state: yup.string().max(255),\n  })\n}\n\nexport function schema(phoneRequired: boolean): yup.ObjectSchema<any> {\n  // TODO: set this in a common module\n  yup.setLocale({\n    mixed: {\n      required: t('This field is required'),\n      default: t('This field is invalid'),\n    },\n    string: {\n      max: t('This field must contain a maximum of %(max)d characters').replace('%(max)d', '${max}'),\n    },\n  })\n\n  return baseSchema(phoneRequired).shape({\n    first_name: yup.string().when('type', {\n      is: (value: any) => value === AddressType.PERSONAL,\n      then: () => yup.string().max(30).required(),\n      otherwise: () => yup.string().max(30),\n    }),\n    last_name: yup.string().when('type', {\n      is: (value: any) => value === AddressType.PERSONAL,\n      then: () => yup.string().max(30).required(),\n      otherwise: () => yup.string().max(30),\n    }),\n    entity_name: yup.string().when('type', {\n      is: (value: any) => value !== AddressType.PERSONAL,\n      then: () => yup.string().max(250).required(),\n      otherwise: () => yup.string().max(250),\n    }),\n    type: yup.mixed().oneOf(Object.values(AddressType), t('Address should have a type')),\n  })\n}\n\nexport function address(model: Model): CreateAddress {\n  const safe = { ...model } as any\n  delete safe.id\n  delete safe.user_id\n  delete safe.has_shippings\n  return {\n    ...safe,\n    first_name: model.first_name || '',\n    last_name: model.last_name || '',\n    entity_name: model.entity_name || '',\n  }\n}\n", "import * as phone from 'libphonenumber-js/max'\nimport * as yup from 'yup'\n\nimport { t } from '@owl-nest/localize'\n\nfunction isValidPhone(value?: string): boolean {\n  if (value === undefined) {\n    return false\n  }\n\n  try {\n    const number = phone.parsePhoneNumber(value)\n    return number.isValid()\n  } catch (error) {\n    return false\n  }\n}\n\nexport function phoneNumber(length = 15): yup.StringSchema {\n  return yup\n    .string()\n    .max(\n      length,\n      t('Your phone number cannot be more than %(length)d digits', {\n        length: length,\n      }),\n    )\n    .test('isValidPhone', t('Phone number is invalid'), isValidPhone)\n}\n", "// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.\r\nexport { parsePhoneNumberWithError, parsePhoneNumberWithError as parsePhoneNumber } from './exports/parsePhoneNumberWithError.js'\r\n// `parsePhoneNumberFromString()` named export is now considered legacy:\r\n// it has been promoted to a default export due to being too verbose.\r\nexport { parsePhoneNumber as parsePhoneNumberFromString, parsePhoneNumber as default } from './exports/parsePhoneNumber.js'\r\n\r\nexport { isValidPhoneNumber } from './exports/isValidPhoneNumber.js'\r\nexport { isPossiblePhoneNumber } from './exports/isPossiblePhoneNumber.js'\r\nexport { validatePhoneNumberLength } from './exports/validatePhoneNumberLength.js'\r\n\r\n// Deprecated.\r\nexport { findNumbers } from './exports/findNumbers.js'\r\nexport { searchNumbers } from './exports/searchNumbers.js'\r\n\r\nexport { findPhoneNumbersInText } from './exports/findPhoneNumbersInText.js'\r\nexport { searchPhoneNumbersInText } from './exports/searchPhoneNumbersInText.js'\r\nexport { PhoneNumberMatcher } from './exports/PhoneNumberMatcher.js'\r\n\r\nexport { AsYouType } from './exports/AsYouType.js'\r\n\r\nexport { isSupportedCountry } from './exports/isSupportedCountry.js'\r\nexport { getCountries } from './exports/getCountries.js'\r\nexport { getCountryCallingCode } from './exports/getCountryCallingCode.js'\r\nexport { getExtPrefix } from './exports/getExtPrefix.js'\r\n\r\nexport { Metadata } from './exports/Metadata.js'\r\nexport { getExampleNumber } from './exports/getExampleNumber.js'\r\n\r\nexport { formatIncompletePhoneNumber } from './exports/formatIncompletePhoneNumber.js'\r\n\r\nexport {\r\n\tParseError,\r\n\tparseIncompletePhoneNumber,\r\n\tparsePhoneNumberCharacter,\r\n\tparseDigits,\r\n\tparseRFC3966,\r\n\tformatRFC3966,\r\n\tDIGIT_PLACEHOLDER\r\n} from '../core/index.js'\r\n", "import withMetadataArgument from './withMetadataArgument.js'\r\nimport { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumberWithError() {\r\n\treturn withMetadataArgument(_parsePhoneNumberWithError, arguments)\r\n}\r\n", "// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.max.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}", "// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6],0,0,0,0,0,0,0,[[\"6[2-467]\\\\d{3}\",[5]],[\"4\\\\d{4}\",[5]],0,0,0,0,[\"(?:0[1-9]|[1589]\\\\d)\\\\d{4}\",[6]]]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[[\"[78]\\\\d{5}\",[6]],[\"690\\\\d{6}|[356]\\\\d{5}\",[6,9]],[\"180[02]\\\\d{4}\",[8]],[\"[19]\\\\d{5}\",[6]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[2-4679][2-8]\\\\d{6}\",[8]],[\"5[024-68]\\\\d{7}\",[9]],[\"400\\\\d{6}|800\\\\d{2,9}\"],[\"900[02]\\\\d{5}\",[9]],0,0,[\"600[25]\\\\d{5}\",[9]],0,0,[\"700[05]\\\\d{5}\",[9]]]],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\\\d{6}\"],[\"7\\\\d{8}\"]]],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\",[[\"268(?:4(?:6[0-38]|84)|56[0-2])\\\\d{4}\"],[\"268(?:464|7(?:1[3-9]|[28]\\\\d|3[0246]|64|7[0-689]))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"26840[69]\\\\d{4}\"],[\"26848[01]\\\\d{4}\"]]],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\",[[\"264(?:292|4(?:6[12]|9[78]))\\\\d{4}\"],[\"264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"264724\\\\d{4}\"]]],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"4505[0-2]\\\\d{3}|(?:[2358][16-9]\\\\d[2-9]|4410)\\\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\\\d))\\\\d{5}\",[8]],[\"6(?:[78][2-9]|9\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{4}\",[7]],[\"900[1-9]\\\\d\\\\d\",[6]],[\"700[2-9]\\\\d{4}\",[8]],0,0,0,0,[\"808[1-9]\\\\d\\\\d\",[6]]]],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:1[0-25]|47)\\\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\\\d{5}\"],[\"(?:33|4[1349]|55|77|88|9[13-9])\\\\d{6}\"],[\"800\\\\d{5}\"],[\"90[016]\\\\d{5}\"],0,0,0,0,[\"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\\\d|9[0-2])\\\\d{4}\"],[\"80[1-4]\\\\d{5}\"]]],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]],0,0,0,0,0,0,[[\"2\\\\d(?:[0134][25-9]|[25-9]\\\\d)\\\\d{5}\"],[\"9[1-59]\\\\d{7}\"]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\",0,0,[[\"3888[013-9]\\\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\\\d{5}|(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\\\d{5}|(?:(?:11[1-8]|670)\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\",[10]],[\"93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\\\d{5}|9(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|9(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\\\d{5}|(?:675\\\\d|9(?:11[1-8]\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\"],[\"800\\\\d{7,8}\"],[\"60[04579]\\\\d{7}\",[10]],0,0,[\"810\\\\d{7}\",[10]]]],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\",[[\"6846(?:22|33|44|55|77|88|9[19])\\\\d{4}\"],[\"684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1(?:11\\\\d|[2-9]\\\\d{3,11})|(?:316|463|(?:51|66|73)2)\\\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\\\d{4,10}\"],[\"6(?:5[0-3579]|6[013-9]|[7-9]\\\\d)\\\\d{4,10}\",[7,8,9,10,11,12,13]],[\"800\\\\d{6,10}\",[9,10,11,12,13]],[\"(?:8[69][2-68]|9(?:0[01]|3[019]))\\\\d{6,10}\",[9,10,11,12,13]],0,0,0,0,[\"5(?:0[1-9]|17|[79]\\\\d)\\\\d{2,10}|7[28]0\\\\d{6,10}\",[5,6,7,8,9,10,11,12,13]],[\"8(?:10|2[018])\\\\d{6,10}|828\\\\d{5}\",[8,9,10,11,12,13]]]],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]],0,0,0,0,0,0,[[\"5(?:2\\\\d|8[1-9])\\\\d{4}\"],[\"(?:290|5[69]\\\\d|6(?:[03]0|22|4[0-2]|[69]\\\\d)|7(?:[34]\\\\d|7[07])|9(?:6[45]|9[4-8]))\\\\d{4}\"],[\"800\\\\d{4}\"],[\"900\\\\d{4}\"],0,0,0,0,[\"(?:28\\\\d|501)\\\\d{4}\"]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",[[\"18[1-8]\\\\d{3,6}\",[6,7,8,9]],[\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",[6,7,8,9,10]],[\"800\\\\d{4,6}\",[7,8,9]],[\"[67]00\\\\d{5,6}\",[8,9]],0,0,[\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\"]],\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[12]428|3655[02])\\\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\\\d{5}|(?:(?:1[28]|46)\\\\d|2(?:[014-6]2|[23]3))\\\\d{6}\"],[\"36554\\\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\\\d{7}\"],[\"88\\\\d{7}\"],[\"900200\\\\d{3}\"]]],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\\\d{5}\",[8]],[\"6040\\\\d{5}|6(?:03|[1-356]|44|7\\\\d)\\\\d{6}\"],[\"8[08]\\\\d{6}\",[8]],[\"9[0246]\\\\d{6}\",[8]],0,0,[\"703[235]0\\\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\\\d{4}\",[8]],0,0,[\"8[12]\\\\d{6}\",[8]]]],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\",[[\"246521[0369]\\\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\\\d|3[2-9])|5(?:20|[34]\\\\d|54|7[1-3])|6(?:2\\\\d|38)|7[35]7|9(?:1[89]|63))\\\\d{4}\"],[\"246(?:(?:2(?:[3568]\\\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\\\d)|69[5-7]|8(?:[2-5]\\\\d|83))\\\\d|52(?:1[147]|20))\\\\d{3}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"(?:246976|900[2-9]\\\\d\\\\d)\\\\d{4}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\\\d|3[016]|53))\\\\d{4}\"],0,[\"24631\\\\d{5}\"]]],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4(?:31\\\\d\\\\d|423)|5222)\\\\d{3}(?:\\\\d{2})?|8332[6-9]\\\\d\\\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\\\d{4}|(?:2(?:222|[45]\\\\d)\\\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\\\d{5}|[59]1\\\\d{5}\"],[\"(?:1[13-9]\\\\d|644)\\\\d{7}|(?:3[78]|44|66)[02-9]\\\\d{7}\",[10]],[\"80[03]\\\\d{7}\",[10]],0,0,0,0,0,[\"96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\\\d{6}\",[10]]]],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"80[2-8]\\\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\\\d{6}\",[8]],[\"4[5-9]\\\\d{7}\",[9]],[\"800[1-9]\\\\d{4}\",[8]],[\"(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\\\d\\\\d)\\\\d{4}\",[8]],0,0,[\"78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\\\d)\\\\d{4}\",[8]],0,0,[\"7879\\\\d{4}\",[8]]]],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]],0,0,0,0,0,0,[[\"2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\\\d|50|6[5-7]))\\\\d{4}\"],[\"(?:0[1-35-7]|5[0-8]|[67]\\\\d)\\\\d{6}\"]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2\\\\d{5,7}|(?:43[1-6]|70[1-9])\\\\d{4,5}|(?:[36]\\\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\\\d{5,6}\",[6,7,8]],[\"(?:43[07-9]|99[69]\\\\d)\\\\d{5}|(?:8[7-9]|98)\\\\d{7}\",[8,9]],[\"(?:00800\\\\d\\\\d|800)\\\\d{5}\",[8,12]],[\"90\\\\d{6}\",[8]],0,0,0,0,0,[\"700\\\\d{5}\",[8]]]],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]],0,0,0,0,0,0,[[\"(?:1(?:3[1356]|6[0156]|7\\\\d)\\\\d|6(?:1[16]\\\\d|500|6(?:0\\\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\\\d\\\\d|1(?:11|78)))\\\\d{4}\"],[\"(?:3(?:[0-79]\\\\d|8[0-57-9])\\\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\\\d|7[0-689])))\\\\d{4}\"],[\"8[02369]\\\\d{6}\"],[\"(?:87|9[0-8])\\\\d{6}\"],0,0,0,0,0,[\"84\\\\d{6}\"]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]],0,0,0,0,0,0,[[\"(?:22|31)\\\\d{6}\"],[\"(?:29|[67][125-9])\\\\d{6}\"]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]],0,0,0,0,0,0,[[\"2(?:02|1[037]|2[45]|3[68]|4\\\\d)\\\\d{5}\"],[\"(?:4[0-7]|[56]\\\\d|9[013-9])\\\\d{6}\"],0,0,0,0,[\"81\\\\d{6}\"],0,[\"857[58]\\\\d{4}\"]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\",[[\"441(?:[46]\\\\d\\\\d|5(?:4\\\\d|60|89))\\\\d{4}\"],[\"441(?:[2378]\\\\d|5[0-39]|9[02])\\\\d{5}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]],0,0,0,0,0,0,[[\"22[0-7]\\\\d{4}|(?:2[013-9]|[34]\\\\d|5[0-25-9])\\\\d{5}\"],[\"(?:22[89]|[78]\\\\d\\\\d)\\\\d{4}\"],0,0,0,0,0,0,[\"5[34]\\\\d{5}\"]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\",0,0,0,[[\"(?:2(?:2\\\\d\\\\d|5(?:11|[258]\\\\d|9[67])|6(?:12|2\\\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\\\d\\\\d|4(?:6\\\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\\\d\\\\d|6(?:11|[24689]\\\\d|72)))\\\\d{4}\",[8]],[\"[67]\\\\d{7}\",[8]],[\"8001[07]\\\\d{4}\",[9]]]],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\",[[\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\\\d)\\\\d{3}\"],[\"(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\"]]],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\",0,0,[[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\\\d{7}\",[10]],[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\\\d)\\\\d{7}\",[10,11]],[\"800\\\\d{6,7}\",[9,10]],[\"300\\\\d{6}|[59]00\\\\d{6,7}\",[9,10]],0,0,0,0,0,[\"(?:30[03]\\\\d{3}|4(?:0(?:0\\\\d|20)|370))\\\\d{4}|300\\\\d{5}\",[8,10]]]],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\",[[\"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\\\d{4}\"],[\"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\\\d|3[0-4]|[89]9))\\\\d{4}\"],[\"242300\\\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"242225\\\\d{4}\"]]],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]],0,0,0,0,0,0,[[\"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\\\d{5}\",[7]],[\"(?:1[67]|77)\\\\d{6}\",[8]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\\\d{4}\",[7]],[\"(?:321|7[1-8]\\\\d)\\\\d{5}\",[8]],[\"(?:0800|800\\\\d)\\\\d{6}\",[10]],[\"90\\\\d{5}\",[7]],0,0,0,0,[\"79(?:1(?:[01]\\\\d|2[0-8])|2[0-7]\\\\d)\\\\d{3}\",[8]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,[[\"(?:1(?:5(?:1[1-5]|[24]\\\\d|6[2-4]|9[1-7])|6(?:[235]\\\\d|4[1-7])|7\\\\d\\\\d)|2(?:1(?:[246]\\\\d|3[0-35-9]|5[1-9])|2(?:[235]\\\\d|4[0-8])|3(?:[26]\\\\d|3[02-79]|4[024-7]|5[03-7])))\\\\d{5}\",[9]],[\"(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{3,7}|8(?:0[13]|20\\\\d)\\\\d{7}\"],[\"(?:810|902)\\\\d{7}\",[10]],0,0,0,0,[\"249\\\\d{6}\",[9]]],\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]],0,0,0,0,0,0,[[\"(?:2(?:[02]\\\\d|36|[68]0)|[3-58](?:[02]\\\\d|[68]0)|7(?:[02]\\\\d|32|[68]0))\\\\d{4}\",[7]],[\"6[0-35-7]\\\\d{5}\",[7]],[\"0800\\\\d{7}\",[11]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"12\\\\d{7}|[1-6]\\\\d{6}\"],[\"88\\\\d{5}|(?:8[0-69]|9[017-9])\\\\d{7}\"]]],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]],0,0,0,0,0,0,[[\"2[12]\\\\d{6}\"],[\"7[024-7]\\\\d{6}\"],0,[\"8776\\\\d{4}\"]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]],0,0,0,0,0,0,[[\"222[1-589]\\\\d{5}\"],[\"026(?:1[0-5]|6[6-9])\\\\d{4}|0(?:[14-6]\\\\d\\\\d|2(?:40|5[5-8]|6[07-9]))\\\\d{5}\"],0,[\"80[0-2]\\\\d{6}\"]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\\\d{7}\"],[\"7[35-9]\\\\d{7}\"],[\"800\\\\d{6}\"],[\"90[016]\\\\d{6}\"],[\"878\\\\d{6}\"],0,[\"5[18]\\\\d{7}\"],[\"74[0248]\\\\d{6}\"],0,[\"84[0248]\\\\d{6}\"]]],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],0,0,0,0,0,0,[[\"2(?:[15]\\\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\\\d{5}\"],[\"0[157]\\\\d{8}\"]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[13-7]|4[1-5])\\\\d{3}\"],[\"[578]\\\\d{4}\"]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]],0,0,0,0,0,0,[[\"2(?:1982[0-6]|3314[05-9])\\\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\\\d\\\\d|3(?:[03467]\\\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\\\d\\\\d|9(?:3(?:[0-57-9]\\\\d\\\\d|6(?:0[02-9]|[1-9]\\\\d))|6(?:[0-8]\\\\d\\\\d|9(?:[02-79]\\\\d|1[05-9]))|7[1-9]\\\\d\\\\d|9(?:[03-9]\\\\d\\\\d|1(?:[0235-9]\\\\d|4[0-24-9])|2(?:[0-79]\\\\d|8[0-46-9]))))\\\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\\\d{7}\",[9]],[\"\",[9]],[\"(?:123|8)00\\\\d{6}\",[9,11]],0,0,0,0,0,[\"44\\\\d{7}\",[9]],[\"600\\\\d{7,8}\",[10,11]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]],0,0,0,0,0,0,[[\"2(?:22|33)\\\\d{6}\",[9]],[\"(?:24[23]|6[25-9]\\\\d)\\\\d{6}\",[9]],[\"88\\\\d{6,7}\"]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,[[\"(?:10(?:[02-79]\\\\d\\\\d|[18](?:0[1-9]|[1-9]\\\\d))|21(?:[18](?:0[1-9]|[1-9]\\\\d)|[2-79]\\\\d\\\\d))\\\\d{5}|(?:43[35]|754)\\\\d{7,8}|8(?:078\\\\d{7}|51\\\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\\\d\\\\d|95\\\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\\\d{7}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{3})?|[1-9]\\\\d{5})|[1-9]\\\\d{6})|9(?:[0-46-9]\\\\d{6}|5\\\\d{3}(?:\\\\d(?:\\\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:[02-8]\\\\d{6}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{2})?|[1-9]\\\\d{4})|[1-9]\\\\d{5})|9(?:[0-46-9]\\\\d{5}|5\\\\d{3,5}))\",[7,8,9,10,11]],[\"1740[0-5]\\\\d{6}|1(?:[38]\\\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\\\d{8}\",[11]],[\"(?:(?:10|21)8|8)00\\\\d{7}\",[10,12]],[\"16[08]\\\\d{5}\",[8]],0,0,0,0,0,[\"10(?:10\\\\d{4}|96\\\\d{3,4})|400\\\\d{7}|950\\\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))96\\\\d{3,4}\",[7,8,9,10,11]]],\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\",0,0,0,[[\"601055(?:[0-4]\\\\d|50)\\\\d\\\\d|6010(?:[0-4]\\\\d|5[0-4])\\\\d{4}|60(?:[124-7][2-9]|8[1-9])\\\\d{6}\",[10]],[\"333301[0-5]\\\\d{3}|3333(?:00|2[5-9]|[3-9]\\\\d)\\\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\\\d{6}|3(?:0[0-5]|1\\\\d|2[0-3]|5[01]|70)\\\\d{7}\",[10]],[\"1800\\\\d{7}\",[11]],[\"19(?:0[01]|4[78])\\\\d{7}\",[11]]]],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\",0,0,0,[[\"210[7-9]\\\\d{4}|2(?:[024-7]\\\\d|1[1-9])\\\\d{5}\",[8]],[\"(?:3005\\\\d|6500[01])\\\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\\\d{6}\",[8]],[\"800\\\\d{7}\",[10]],[\"90[059]\\\\d{7}\",[10]],0,0,0,0,[\"(?:210[0-6]|4\\\\d{3}|5100)\\\\d{4}\",[8]]]],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3[23]|4[89])\\\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\\\d)\\\\d{6}|(?:2[1-4]|4[1257]|7\\\\d)\\\\d{5,6}\"],[\"(?:5\\\\d|6[2-4])\\\\d{6}\",[8]],[\"800\\\\d{7}\",[10]],0,0,0,0,0,0,[\"807\\\\d{7}\",[10]]]],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]],0,0,0,0,0,0,[[\"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\\\d|7[1-3]|8[1-5])\\\\d{4}\"],[\"(?:36|5[1-389]|9\\\\d)\\\\d{5}\"],[\"800\\\\d{4}\"],0,0,0,0,0,[\"(?:3[3-5]|4[356])\\\\d{5}\"]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\",[[\"9(?:4(?:3[0-5]|4[14]|6\\\\d)|50\\\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\\\d|7[01]|8[57-9]))\\\\d{4}\"],[\"953[01]\\\\d{4}|9(?:5[12467]|6[5-9])\\\\d{5}\"],0,0,0,0,0,[\"955\\\\d{5}\",[8]],0,[\"60[0-2]\\\\d{4}\",[7]]]],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]],0,0,0,0,0,0,[[\"2[2-6]\\\\d{6}\"],[\"9(?:10|[4-79]\\\\d)\\\\d{5}\"],[\"800\\\\d{5}\"],[\"90[09]\\\\d{5}\"],[\"700\\\\d{5}\"],0,[\"(?:50|77)\\\\d{6}\"],0,0,[\"80[1-9]\\\\d{5}\"]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[1257-9]|4[16-9]|5[13-9])\\\\d{7}\"],[\"(?:60[1-8]\\\\d|7(?:0(?:[2-5]\\\\d|60)|190|[2379]\\\\d\\\\d))\\\\d{5}\"],[\"800\\\\d{6}\"],[\"9(?:0[05689]|76)\\\\d{6}\"],[\"70[01]\\\\d{6}\"],0,[\"9(?:5\\\\d|7[2-4])\\\\d{6}\"],0,[\"9[17]0\\\\d{6}\"],[\"8[134]\\\\d{7}\"]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"32\\\\d{9,11}|49[1-6]\\\\d{10}|322\\\\d{6}|49[0-7]\\\\d{3,9}|(?:[34]0|[68]9)\\\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\\\d|[589][0-7]|6[0-8]|7[0-467]))\\\\d{3,12}\",[5,6,7,8,9,10,11,12,13,14,15]],[\"15(?:[0-25-9]\\\\d\\\\d|310)\\\\d{6}|1(?:6[023]|7\\\\d)\\\\d{7,8}\",[10,11]],[\"800\\\\d{7,12}\",[10,11,12,13,14,15]],[\"(?:137[7-9]|900(?:[135]|9\\\\d))\\\\d{6}\",[10,11]],[\"700\\\\d{8}\",[11]],0,[\"18(?:1\\\\d{5,11}|[2-9]\\\\d{8})\",[8,9,10,11,12,13,14]],[\"16(?:4\\\\d{1,10}|[89]\\\\d{1,11})\",[4,5,6,7,8,9,10,11,12,13,14]],0,[\"180\\\\d{5,11}|13(?:7[1-6]\\\\d\\\\d|8)\\\\d{4}\",[7,8,9,10,11,12,13,14]]]],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]],0,0,0,0,0,0,[[\"2(?:1[2-5]|7[45])\\\\d{5}\"],[\"77\\\\d{6}\"]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:(?:2\\\\d|9[1-46-9])\\\\d|3(?:[0-37]\\\\d|4[013]|5[0-58]|6[01347-9]|8[0-8]|9[0-79])|4(?:[0-25]\\\\d|[34][02-9]|6[013-579]|7[013579]|8[0-47]|9[0-27])|5(?:[0-36]\\\\d|4[0146-9]|5[03-57-9]|7[0568]|8[0-358]|9[0-69])|6(?:[013578]\\\\d|2[0-68]|4[02-8]|6[01689]|9[015689])|7(?:[0-69]\\\\d|7[03-9]|8[0147])|8(?:[16-9]\\\\d|2[0-58]))\\\\d{5}\"],[\"(?:[2-7]\\\\d|8[126-9]|9[1-46-9])\\\\d{6}\"],[\"80\\\\d{6}\"],[\"90\\\\d{6}\"]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\",[[\"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\\\d{4}\"],[\"767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\",[[\"8(?:[04]9[2-9]\\\\d\\\\d|29(?:2(?:[0-59]\\\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\\\d|4[7-9])|[45]\\\\d\\\\d|6(?:[0-27-9]\\\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\\\d{4}\"],[\"8[024]9[2-9]\\\\d{6}\"],[\"8(?:00(?:14|[2-9]\\\\d)|(?:33|44|55|66|77|88)[2-9]\\\\d)\\\\d{5}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"9619\\\\d{5}|(?:1\\\\d|2[013-79]|3[0-8]|4[013-689])\\\\d{6}\"],[\"(?:5(?:4[0-29]|5\\\\d|6[0-2])|6(?:[569]\\\\d|7[0-6])|7[7-9]\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"80[3-689]1\\\\d{5}\",[9]],0,0,0,0,[\"98[23]\\\\d{6}\",[9]],[\"80[12]1\\\\d{5}\",[9]]]],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"[2-7][2-7]\\\\d{6}\",[8]],[\"964[0-2]\\\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\\\d)\\\\d{6}\",[9]],[\"1800\\\\d{7}|1[78]00\\\\d{6}\",[10,11]],0,0,0,0,0,[\"[2-7]890\\\\d{4}\",[8]]]],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:3[23589]|4[3-8]|6\\\\d|7[1-9]|88)\\\\d{5}\",[7]],[\"(?:5\\\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\\\d)|[3-9]\\\\d\\\\d)|(?:1(?:0[236]|1\\\\d)|(?:2[0-59]|[3-79]\\\\d)\\\\d)\\\\d)|2(?:0(?:0(?:00|4\\\\d)|(?:19|[2-7]\\\\d)\\\\d)|(?:(?:[124-6]\\\\d|3[5-9])\\\\d|7(?:[0-79]\\\\d|8[13-9])|8(?:[2-6]\\\\d|7[01]))\\\\d)|[349]\\\\d{4}))\\\\d\\\\d|5(?:(?:[02]\\\\d|5[0-478])\\\\d|1(?:[0-8]\\\\d|95)|6(?:4[0-4]|5[1-589]))\\\\d{3}\",[7,8]],[\"800(?:(?:0\\\\d\\\\d|1)\\\\d|[2-9])\\\\d{3}\"],[\"(?:40\\\\d\\\\d|900)\\\\d{4}\",[7,8]],[\"70[0-2]\\\\d{5}\",[8]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"13[23]\\\\d{6}|(?:15|57)\\\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\\\d{7}\",[8,9]],[\"1[0-25]\\\\d{8}\",[10]],[\"800\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]]]],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\",[[\"528[89]\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1[12568]|[24]0|55|6[146])|8\\\\d\\\\d)\\\\d{4}\"],[\"(?:17[1-3]|7\\\\d\\\\d)\\\\d{4}\"]]],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]],0,0,0,0,0,0,[[\"96906(?:0[0-8]|1[1-9]|[2-9]\\\\d)\\\\d\\\\d|9(?:69(?:0[0-57-9]|[1-9]\\\\d)|73(?:[0-8]\\\\d|9[1-9]))\\\\d{4}|(?:8(?:[1356]\\\\d|[28][0-8]|[47][1-9])|9(?:[135]\\\\d|[268][0-8]|4[1-9]|7[124-9]))\\\\d{6}\"],[\"(?:590[16]00\\\\d|9(?:6906(?:09|10)|7390\\\\d\\\\d))\\\\d\\\\d|(?:6\\\\d|7[1-48])\\\\d{7}\"],[\"[89]00\\\\d{6}\"],[\"80[367]\\\\d{6}\"],[\"70\\\\d{7}\"],0,[\"51\\\\d{7}\"],0,0,[\"90[12]\\\\d{6}\"]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"11667[01]\\\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\\\d)))\\\\d{4}\"],[\"700[1-9]\\\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\\\d\\\\d)\\\\d{6}\"]]],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[3-79]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",[[\"(?:1[3-79][1-8]|[23568][1-8]\\\\d|9(?:00|[1-8]\\\\d))\\\\d{2,6}\",[5,6,7,8,9]],[\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",[6,7,8,9,10]],[\"800\\\\d{4,6}\",[7,8,9]],[\"[67]00\\\\d{5,6}\",[8,9]],0,0,[\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\"]],\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,[[\"603\\\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\\\d{5}\",[7]],[\"(?:[279]\\\\d|45|5[01568]|8[034679])\\\\d{5}\",[7]],[\"0800\\\\d{7}\",[11]]],\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5],0,0,0,0,0,0,0,[[\"[2-47]\\\\d{4}\"],[\"[56]\\\\d{4}\"]]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]],0,0,0,0,0,0,[[\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\\\d)\\\\d)\\\\d{3}\"],[\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\\\d)\\\\d)\\\\d{3}\"]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\",0,0,0,[[\"(?:20|[34]\\\\d|8[19])\\\\d{4}\"],[\"(?:[27][1-9]|5\\\\d|9[16])\\\\d{4}\"],[\"80[257-9]\\\\d{3}\"],[\"90(?:[13-5][15-7]|2[125-7]|9\\\\d)\\\\d\\\\d\"],0,0,0,0,[\"(?:6[0-36]|88)\\\\d{4}\"]]],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:26[013-9]|59[1-35-9])\\\\d{6}|(?:[13]\\\\d|2[0-57-9]|4[1-9]|5[0-8])\\\\d{7}\"],[\"(?:6(?:[0-24-8]\\\\d|3[0-8]|9[589])|7[3-9]\\\\d)\\\\d{6}\"],[\"80[0-5]\\\\d{6}\"],[\"836(?:0[0-36-9]|[1-9]\\\\d)\\\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\\\d|8[0-35-9])\\\\d{6}\"],0,0,[\"80[6-9]\\\\d{6}\"],0,[\"9\\\\d{8}\"],[\"8(?:1[01]|2[0156]|4[02]|84)\\\\d{6}\"]]],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\",0,0,[[\"[01]1\\\\d{6}\",[8]],[\"(?:(?:0[2-7]|7[467])\\\\d|6(?:0[0-4]|10|[256]\\\\d))\\\\d{5}|[2-7]\\\\d{6}\"]]],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-2]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\",[[\"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[579]|73|90)|63[68]|7(?:58|84)|800|938)\\\\d{4}\"],[\"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[68])|5(?:2[01]|3[3-8])|901)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:[256]\\\\d|4[124-9]|7[0-4])|4(?:1\\\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\\\d{6}\"],[\"5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\\\d|22252[0-4])\\\\d\\\\d|(?:5(?:0(?:0(?:0\\\\d|11|22|33|44|5[05]|77|88|9[09])|111)|1(?:1(?:[03][01]|[124]\\\\d)|4\\\\d\\\\d)|(?:44|6[89])\\\\d\\\\d|5(?:[0157-9]\\\\d\\\\d|200)|7(?:[0147-9]\\\\d\\\\d|5(?:00|[57]5))|8(?:0(?:[018]\\\\d|2[0-4])|58[89]|8(?:55|88))|9(?:090|[1-35-9]\\\\d\\\\d))|790\\\\d\\\\d)\\\\d{4}|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\\\d{3}\"],[\"800\\\\d{6}\"],0,0,0,0,0,[\"70[67]\\\\d{6}\"]]],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"594(?:[02-49]\\\\d|1[0-5]|5[6-9]|6[0-3]|80)\\\\d{4}\"],[\"694(?:[0-249]\\\\d|3[0-8])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:396|76\\\\d)\\\\d|476[0-5])\\\\d{4}\"]]],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"3082[0-5]\\\\d{4}|3(?:0(?:[237]\\\\d|8[01])|[167](?:2[0-6]|7\\\\d|80)|2(?:2[0-5]|7\\\\d|80)|3(?:2[0-3]|7\\\\d|80)|4(?:2[013-9]|3[01]|7\\\\d|80)|5(?:2[0-7]|7\\\\d|80)|8(?:2[0-2]|7\\\\d|80)|9(?:[28]0|7\\\\d))\\\\d{5}\",[9]],[\"(?:2(?:[0346-9]\\\\d|5[67])|5(?:[03-7]\\\\d|9[1-9]))\\\\d{6}\",[9]],[\"800\\\\d{5}\",[8]]]],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]],0,0,0,0,0,0,[[\"2190[0-2]\\\\d{3}|2(?:0(?:[02]\\\\d|3[01])|16[24-9]|2[2-5]\\\\d)\\\\d{4}\"],[\"5251[0-4]\\\\d{3}|(?:5(?:[146-8]\\\\d\\\\d|250)|60(?:1[01]|6\\\\d))\\\\d{4}\"]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]],0,0,0,0,0,0,[[\"(?:19|3[1-7]|[68][1-9]|70|9\\\\d)\\\\d{4}\"],[\"[245]\\\\d{5}\"],[\"80\\\\d{4}\"],0,0,0,0,0,[\"3[89]\\\\d{4}\"]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:4(?:[23]\\\\d\\\\d|4(?:1[024679]|[6-9]\\\\d))|5(?:5(?:3\\\\d|4[0-7])|6[67]\\\\d|7(?:1[04]|2[035]|3[58]|48))|8\\\\d{3})\\\\d{3}\"],[\"(?:[23679]\\\\d|5[0-489])\\\\d{5}\"]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]],0,0,0,0,0,0,[[\"3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\\\d\\\\d)\\\\d{4}\",[8]],[\"6[0-356]\\\\d{7}\",[9]],0,0,0,0,0,0,[\"722\\\\d{6}\",[9]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]],0,0,0,0,0,0,[[\"33[0-24-9]\\\\d[46]\\\\d{4}|3(?:33|5\\\\d)\\\\d[7-9]\\\\d{4}\"],[\"(?:222|55\\\\d)\\\\d{6}\"],[\"80\\\\d[1-9]\\\\d{5}\"],[\"90\\\\d[1-9]\\\\d{5}\"]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"2(?:1\\\\d\\\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\\\d|2[1-5]|[34][1-4]|9[1-57]))\\\\d{6}\",[10]],[\"68[57-9]\\\\d{7}|(?:69|94)\\\\d{8}\",[10]],[\"800\\\\d{7,9}\"],[\"90[19]\\\\d{7}\",[10]],[\"70\\\\d{8}\",[10]],0,[\"5005000\\\\d{3}\",[10]],0,0,[\"8(?:0[16]|12|[27]5|50)\\\\d{7}\",[10]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[[\"[267][2-9]\\\\d{6}\",[8]],[\"(?:[3-5]\\\\d\\\\d|80[0-4])\\\\d{5}\",[8]],[\"18[01]\\\\d{8}\",[11]],[\"19\\\\d{9}\",[11]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\",[[\"671(?:2\\\\d\\\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]],0,0,0,0,0,0,[[\"443\\\\d{6}\",[9]],[\"9(?:5\\\\d|6[569]|77)\\\\d{6}\",[9]],0,0,0,0,0,0,[\"40\\\\d{5}\",[7]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\\\d|7[0-79])|3(?:2[25-9]|3\\\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\\\d{4}\"],[\"(?:510|6\\\\d\\\\d|7(?:[01]\\\\d|2[1256]|3[12]|49))\\\\d{4}\"],[\"(?:289|8(?:00|6[28]|88|99))\\\\d{4}\"],[\"9008\\\\d{3}\"],0,0,0,0,[\"515\\\\d{4}\"]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,[[\"(?:2(?:[13-9]\\\\d|2[013-9])\\\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\\\d|8(?:4[0-8]|[59]\\\\d|6[01]))|58(?:0[1-9]|1[2-9]))\\\\d{4}\",[8]],[\"(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|848[0-35-9]|9(?:29[013-9]|39[01]|59[0-4]|899))\\\\d{4}|(?:4(?:4[0-35-8]|6[02357-9])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\\\d|[268][0-57-9]|7[0-79])|70[129]|84[0-29]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\\\d))\\\\d{5}\",[8]],[\"800\\\\d{6}\",[9]],[\"900(?:[0-24-9]\\\\d{7}|3\\\\d{1,4})\",[5,6,7,8,11]],[\"8(?:1[0-4679]\\\\d|2(?:[0-36]\\\\d|7[0-4])|3(?:[034]\\\\d|2[09]|70))\\\\d{4}\",[8]],0,[\"30(?:0[1-9]|[15-7]\\\\d|2[047]|89)\\\\d{4}\",[8]],[\"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\\\d|1[18]|7[27-9])|3(?:[0-38]\\\\d|7[0-369]|9[2357-9])|47\\\\d|5(?:[178]\\\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\\\d)|7(?:[27]\\\\d|8[7-9])|8(?:[23689]\\\\d|7[1-9])|9(?:[025]\\\\d|6[0-246-8]|7[0-36-9]|8[238]))\\\\d{4}\",[8]]],\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]],0,0,0,0,0,0,[[\"2(?:2(?:0[0-59]|1[1-9]|[23]\\\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\\\d|6[014-69]|7[04]|80)|6(?:[056]\\\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\\\d{4}\",[8]],[\"[37-9]\\\\d{7}\",[8]],[\"8002\\\\d{7}\",[11]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1\\\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\\\d{6,7}\",[8,9]],[\"9(?:(?:0[1-9]|[12589]\\\\d)\\\\d\\\\d|7(?:[0679]\\\\d\\\\d|5(?:[01]\\\\d|44|55|77|9[5-7])))\\\\d{4}|98\\\\d{6}\",[8,9]],[\"80\\\\d{5,7}\",[7,8,9]],[\"6[01459]\\\\d{6}|6[01]\\\\d{4,5}\",[6,7,8]],[\"7[45]\\\\d{6}\",[8]],0,[\"62\\\\d{6,7}|72\\\\d{6}\",[8,9]]]],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]],0,0,0,0,0,0,[[\"2(?:2\\\\d|5[1-5]|81|9[149])\\\\d{5}\"],[\"(?:[34]\\\\d|55)\\\\d{6}\"],[\"8\\\\d{7}\"],0,0,0,0,0,[\"9(?:[67][0-4]|8[0-3589]|9\\\\d)\\\\d{5}\"]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\",0,0,0,0,0,[[\"(?:1\\\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\\\d{6}\",[8]],[\"(?:[257]0|3[01])\\\\d{7}\",[9]],[\"(?:[48]0\\\\d|680[29])\\\\d{5}\"],[\"9[01]\\\\d{6}\",[8]],0,0,[\"38\\\\d{7}\",[9]],0,[\"21\\\\d{7}\",[9]]]],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2[124]\\\\d{7,8}|619\\\\d{8}|2(?:1(?:14|500)|2\\\\d{3})\\\\d{3}|61\\\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\\\d{5,8}\",[7,8,9,10,11]],[\"8[1-35-9]\\\\d{7,10}\",[9,10,11,12]],[\"00[17]803\\\\d{7}|(?:177\\\\d|800)\\\\d{5,7}|001803\\\\d{6}\",[8,9,10,11,12,13]],[\"809\\\\d{7}\",[10]],0,0,[\"(?:1500|8071\\\\d{3})\\\\d{3}\",[7,10]],0,0,[\"804\\\\d{7}\",[10]]]],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1\\\\d|21)\\\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\\\d|7)|5(?:0[45]|1\\\\d|8)|6(?:1\\\\d|[237-9])|9(?:1\\\\d|[35-9]))\\\\d{5}|(?:23|4(?:[1-469]|8\\\\d)|5[23679]|6[4-6]|7[14]|9[04])\\\\d{7}\"],[\"8(?:22|[35-9]\\\\d)\\\\d{6}\",[9]],[\"1800\\\\d{6}\",[10]],[\"15(?:1[2-8]|[2-8]0|9[089])\\\\d{6}\",[10]],[\"700\\\\d{6}\",[9]],0,[\"818\\\\d{6}\",[9]],0,[\"76\\\\d{7}\",[9]],[\"18[59]0\\\\d{6}\",[10]]]],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\",0,0,0,0,0,[[\"153\\\\d{8,9}|29[1-9]\\\\d{5}|(?:2[0-8]|[3489]\\\\d)\\\\d{6}\",[8,11,12]],[\"55410\\\\d{4}|5(?:(?:[02][02-9]|[149][2-9]|[36]\\\\d|8[3-7])\\\\d|5(?:01|2\\\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\\\d{5}\",[9]],[\"1(?:255|80[019]\\\\d{3})\\\\d{3}\",[7,10]],[\"1212\\\\d{4}|1(?:200|9(?:0[0-2]|19))\\\\d{6}\",[8,10]],0,0,[\"1599\\\\d{6}\",[10]],0,[\"7(?:38(?:0\\\\d|5[0-29]|88)|8(?:33|55|77|81)\\\\d)\\\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\\\d|82|9[2-9])\\\\d{6}\",[9]],[\"1700\\\\d{6}\",[10]]]],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\",[[\"1624(?:230|[5-8]\\\\d\\\\d)\\\\d{3}\"],[\"76245[06]\\\\d{4}|7(?:4576|[59]24\\\\d|624[0-4689])\\\\d{5}\"],[\"808162\\\\d{4}\"],[\"8(?:440[49]06|72299\\\\d)\\\\d{3}|(?:8(?:45|70)|90[0167])624\\\\d{4}\"],[\"70\\\\d{8}\"],0,[\"3440[49]06\\\\d{3}|(?:3(?:08162|3\\\\d{4}|45624|7(?:0624|2299))|55\\\\d{4})\\\\d{4}\"],0,[\"56\\\\d{8}\"]]],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\",0,0,0,0,0,[[\"2717(?:[2-7]\\\\d|95)\\\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\\\d|4(?:20[24]|72[2-8])|552[1-7])\\\\d{6}|(?:11|33|4[04]|80)[2-7]\\\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\\\d)\\\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\\\d[2-7]\\\\d{5}\",[10]],[\"(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\\\d|7[02-8])\\\\d{5}|(?:6(?:[09]\\\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\\\d\\\\d)\\\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\\\d|7(?:[235689]\\\\d|4[0189]))|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]|881))[0189]\\\\d{5}\",[10]],[\"000800\\\\d{7}|1(?:600\\\\d{6}|80(?:0\\\\d{4,9}|3\\\\d{9}))\"],[\"186[12]\\\\d{9}\",[13]],0,0,[\"140\\\\d{7}\",[10]],0,0,[\"1860\\\\d{7}\",[11]]]],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]],0,0,0,0,0,0,[[\"37\\\\d{5}\"],[\"38\\\\d{5}\"]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1\\\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\\\d{6,7}\",[8,9]],[\"7[3-9]\\\\d{8}\",[10]]]],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\\\d{7}|[16]\\\\d{3}(?:\\\\d{4})?|[289]\\\\d{3}(?:\\\\d(?:\\\\d{3})?)?)|94(?:000[09]|(?:12\\\\d|30[0-2])\\\\d|2(?:121|[2689]0\\\\d)|4(?:111|40\\\\d))\\\\d{4}\",[6,7,10]],[\"9(?:(?:0(?:[0-35]\\\\d|4[4-6])|(?:[13]\\\\d|2[0-3])\\\\d)\\\\d|9(?:[0-46]\\\\d\\\\d|5[15]0|8(?:[12]\\\\d|88)|9(?:0[0-3]|[19]\\\\d|21|69|77|8[7-9])))\\\\d{5}\",[10]],0,0,0,0,[\"96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])\",[4,5]]]],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\\\d|8[0-36-8])|5(?:05|[156]\\\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\\\d{4}\",[7]],[\"(?:38[589]\\\\d\\\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\\\d)|7(?:5[057]|[6-9]\\\\d)|8(?:2[0-59]|[3-69]\\\\d|8[238]))\\\\d{4}\"],[\"80[0-8]\\\\d{4}\",[7]],[\"90(?:0\\\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\\\d{3}\",[7]],0,0,[\"809\\\\d{4}\",[7]],0,[\"49[0-24-79]\\\\d{4}\",[7]]],\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\",[[\"8766060\\\\d{3}|(?:658(?:2(?:[0-8]\\\\d|9[0-46-9])|[3-9]\\\\d\\\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\\\d|9[2-468])))\\\\d{4}\"],[\"(?:658295|876(?:2(?:0[1-9]|[13-9]\\\\d|2[013-9])|[348]\\\\d\\\\d|5(?:0[1-9]|[1-9]\\\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"87(?:000|90[01])\\\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\\\d{4}\",[8]],[\"7(?:[78][0-25-9]|9\\\\d)\\\\d{6}\",[9]],[\"80\\\\d{6}\",[8]],[\"9\\\\d{7}\",[8]],[\"70\\\\d{7}\",[9]],0,[\"8(?:10|8\\\\d)\\\\d{5}\",[8]],[\"74(?:66|77)\\\\d{5}\",[9]],0,[\"85\\\\d{6}\",[8]]]],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\",0,0,[[\"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\\\d|4(?:[2-578]\\\\d|6[02-8]|9[2-59])|5(?:[2-589]\\\\d|6[1-9]|7[2-8])|7(?:[25-9]\\\\d|3[4-9]|4[02-9])|8(?:[2679]\\\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\\\d|[679][1-9]))\\\\d{6}\",[9]],[\"[7-9]0[1-9]\\\\d{7}\",[10]],[\"00777(?:[01]|5\\\\d)\\\\d\\\\d|(?:00(?:7778|882[1245])|(?:120|800\\\\d)\\\\d\\\\d)\\\\d{4}|00(?:37|66|78)\\\\d{6,13}\"],[\"990\\\\d{6}\",[9]],[\"60\\\\d{7}\",[9]],0,[\"570\\\\d{6}\",[9]],[\"20\\\\d{8}\",[10]],[\"50[1-9]\\\\d{7}\",[10]]]],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4[245]|5[1-79]|6[01457-9])\\\\d{5,7}|(?:4[136]|5[08]|62)\\\\d{7}|(?:[24]0|66)\\\\d{6,7}\",[7,8,9]],[\"(?:1(?:0[0-8]|1[0-5]|2[014]|30)|7\\\\d\\\\d)\\\\d{6}\",[9]],[\"800[02-8]\\\\d{5,6}\",[9,10]],[\"900[02-9]\\\\d{5}\",[9]]]],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"312(?:5[0-79]\\\\d|9(?:[0-689]\\\\d|7[0-24-9]))\\\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\\\d)|5(?:22|3[4-7]|59|6\\\\d)|6(?:22|5[35-7]|6\\\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\\\d)|9(?:22|4[1-8]|6\\\\d))|6(?:09|12|2[2-4])\\\\d)\\\\d{5}\",[9]],[\"312(?:58\\\\d|973)\\\\d{3}|(?:2(?:0[0-35]|2\\\\d)|5[0-24-7]\\\\d|600|7(?:[07]\\\\d|55)|88[08]|9(?:12|9[05-9]))\\\\d{6}\",[9]],[\"800\\\\d{6,7}\"]]],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"23(?:4(?:[2-4]|[56]\\\\d)|[568]\\\\d\\\\d)\\\\d{4}|23[236-9]\\\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\\\d)\\\\d{5}|6\\\\d{5,6})\",[8,9]],[\"(?:(?:1[28]|3[18]|9[67])\\\\d|6[016-9]|7(?:[07-9]|[16]\\\\d)|8(?:[013-79]|8\\\\d))\\\\d{6}|(?:1\\\\d|9[0-57-9])\\\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\\\d{5}\",[8,9]],[\"1800(?:1\\\\d|2[019])\\\\d{4}\",[10]],[\"1900(?:1\\\\d|2[09])\\\\d{4}\",[10]]]],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\",0,0,0,0,0,[[\"(?:[24]\\\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\\\d\\\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\\\d{3}\"],[\"(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\\\d{3}|(?:63\\\\d\\\\d|7(?:(?:[0146-9]\\\\d|2[0-689])\\\\d|3(?:[02-9]\\\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\\\d)))\\\\d{4}\",[8]],0,0,0,0,0,0,[\"30(?:0[01]\\\\d\\\\d|12(?:11|20))\\\\d\\\\d\",[8]]]],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]],0,0,0,0,0,0,[[\"7[4-7]\\\\d{5}\"],[\"[34]\\\\d{6}\"],0,[\"8\\\\d{6}\"]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\",[[\"869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\\\d{4}\"],[\"869(?:48[89]|55[6-8]|66\\\\d|76[02-7])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:195|2)\\\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\\\d{6}\"],[\"19[1-3]\\\\d{7}\",[10]]]],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\",0,0,0,[[\"(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\\\d{2,3}\",[5,6,8,9,10]],[\"1(?:05(?:[0-8]\\\\d|9[0-6])|22[13]\\\\d)\\\\d{4,5}|1(?:0[0-46-9]|[16-9]\\\\d|2[013-9])\\\\d{6,7}\",[9,10]],[\"00(?:308\\\\d{6,7}|798\\\\d{7,9})|(?:00368|80)\\\\d{7}\",[9,11,12,13,14]],[\"60[2-9]\\\\d{6}\",[9]],[\"50\\\\d{8,9}\",[10,11]],0,[\"1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\\\d{4}\",[8]],[\"15\\\\d{7,8}\",[9,10]],[\"70\\\\d{8}\",[10]]]],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]],0,0,0,0,0,0,[[\"2(?:[23]\\\\d\\\\d|4(?:[1-35-9]\\\\d|44)|5(?:0[034]|[2-46]\\\\d|5[1-3]|7[1-7]))\\\\d{4}\",[8]],[\"(?:41\\\\d\\\\d|5(?:(?:[05]\\\\d|1[0-7]|6[56])\\\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\\\d)\\\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\\\d)|8[68]8|9(?:[069]\\\\d|3[039]))|9(?:(?:[04679]\\\\d|8[057-9])\\\\d|1(?:1[01]|99)|2(?:00|2\\\\d)|3(?:00|3[03])|5(?:00|5\\\\d)))\\\\d{4}\",[8]],[\"18\\\\d{5}\",[7]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\",[[\"345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\\\d{4}\"],[\"345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"(?:345976|900[2-9]\\\\d\\\\d)\\\\d{4}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"345849\\\\d{4}\"]]],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",[[\"(?:33622|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9]|97)|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[2-4]\\\\d|5[139])|4(?:2\\\\d|3[1-35-9]|59)|5(?:[23]\\\\d|4[0-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59))))\\\\d{5}\",[10]],[\"7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\\\d{7}\",[10]],[\"8(?:00|108\\\\d{3})\\\\d{7}\"],[\"809\\\\d{7}\",[10]],[\"808\\\\d{7}\",[10]],0,0,0,[\"751\\\\d{7}\",[10]]],\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[13]|[35-7][14]|41|8[1468])\\\\d{6}\",[8]],[\"(?:20(?:[23579]\\\\d|88)|30(?:2\\\\d|4))\\\\d{6}\",[9,10]],0,0,0,0,[\"30[0135-9]\\\\d{6}\",[9]]]],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\",0,0,0,0,0,[[\"7(?:62|8[0-7]|9[04-9])\\\\d{4}|(?:[14-69]\\\\d|2(?:[14-69]\\\\d|[78][1-9])|7[2-57]|8[02-9])\\\\d{5}\"],[\"793(?:[01]\\\\d|2[0-4])\\\\d{3}|(?:(?:3|81)\\\\d|7(?:[01]\\\\d|6[013-9]|8[89]|9[12]))\\\\d{5}\"],0,[\"9[01]\\\\d{6}\",[8]],0,0,0,0,0,[\"80\\\\d{6}\",[8]]]],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\",[[\"758(?:234|4(?:30|5\\\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\\\d{4}\"],[\"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\\\d|3[0-3])|812)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\",0,0,0,[[\"(?:2(?:01|1[27]|2[02]|3\\\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\\\d{4}\",[7]],[\"(?:6(?:(?:4[5-9]|5[0-469])\\\\d|6(?:[024-6]\\\\d|[17]0|3[7-9]))\\\\d|7(?:[37-9]\\\\d|42|56))\\\\d{4}\"],[\"8002[28]\\\\d\\\\d|80(?:05\\\\d|9)\\\\d{4}\"],[\"90(?:02[258]|1(?:23|3[14])|66[136])\\\\d\\\\d\",[7]],0,0,[\"870(?:28|87)\\\\d\\\\d\",[7]]]],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:12[2-9]|602|8[12]\\\\d|9(?:1\\\\d|22|9[245]))\\\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\\\d{6}\"],[\"7(?:[0-25-8]\\\\d|4[0-4])\\\\d{6}\"],0,0,0,0,[\"1973\\\\d{5}\"]]],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2\\\\d{7}\",[8]],[\"(?:(?:(?:22|33)0|555|(?:77|88)\\\\d)\\\\d|4(?:240|[67]))\\\\d{5}|[56]\\\\d{6}\",[7,9]],0,[\"332(?:02|[34]\\\\d)\\\\d{4}\",[9]]]],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]],0,0,0,0,0,0,[[\"2\\\\d{7}\"],[\"[56]\\\\d{7}\"],[\"800[1256]\\\\d{4}\"]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\",0,0,0,[[\"(?:3[1478]|4[124-6]|52)\\\\d{6}\"],[\"6\\\\d{7}\"],[\"80[02]\\\\d{5}\"],[\"9(?:0[0239]|10)\\\\d{5}\"],[\"70[05]\\\\d{5}\"],0,[\"70[67]\\\\d{5}\"],0,[\"[89]01\\\\d{5}\"],[\"808\\\\d{5}\"]]],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\",0,0,0,[[\"(?:35[013-9]|80[2-9]|90[89])\\\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\\\d|8[13-9]|9[2-579])\\\\d{2,9}\"],[\"6(?:[269][18]|5[1568]|7[189]|81)\\\\d{6}\",[9]],[\"800\\\\d{5}\",[8]],[\"90[015]\\\\d{5}\",[8]],0,0,0,0,[\"20(?:1\\\\d{5}|[2-689]\\\\d{1,7})\",[4,5,6,7,8,9,10]],[\"801\\\\d{5}\",[8]]]],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]],0,0,0,0,0,0,[[\"6\\\\d{7}\"],[\"23(?:23[0-57-9]|33[0238])\\\\d{3}|2(?:[0-24-9]\\\\d\\\\d|3(?:0[07]|[14-9]\\\\d|2[024-9]|3[0-24-9]))\\\\d{4}\"],[\"80\\\\d{6}\"],[\"90\\\\d{6}\"],0,0,0,0,0,[\"81\\\\d{6}\"]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:0[56]|[1-6]\\\\d|7[124579]|8[124])|3(?:1\\\\d|2[2356])|4(?:[17]\\\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\\\d|5[2-57]|8[1-5])|7(?:[13]\\\\d|2[13-79])|8(?:[124]\\\\d|5[124]|84))\\\\d{6}\"],[\"9[1-6]\\\\d{7}\"]]],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:870|9[2-47-9]\\\\d)\\\\d{5}\",[8]],[\"4(?:[469]\\\\d|5[1-9])\\\\d{5}|(?:3|6\\\\d)\\\\d{7}\"],[\"(?:800|90\\\\d)\\\\d{5}\",[8]]]],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:2[1-9]|3[1-79])\\\\d|5(?:33|5[257]))\\\\d{5}\"],[\"562\\\\d{5}|(?:6\\\\d|7[16-9])\\\\d{6}\"],[\"800\\\\d{5}\"],[\"90[056]\\\\d{5}\"],0,0,[\"803\\\\d{5}\"],0,[\"3[08]\\\\d{6}\"],[\"808\\\\d{5}\"]]],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\\\d{5}\",[8]],[\"6(?:[07-9]\\\\d|3[024]|6[0-25])\\\\d{5}\",[8]],[\"80(?:[0-2578]|9\\\\d)\\\\d{5}\"],[\"9(?:4[1568]|5[178])\\\\d{5}\",[8]],0,0,[\"77[1-9]\\\\d{5}\",[8]],0,[\"78[1-49]\\\\d{5}\",[8]]]],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\",0,0,[[\"2072[29]\\\\d{4}|20(?:2\\\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\\\d{5}\"],[\"3[2-47-9]\\\\d{7}\"],0,0,0,0,0,0,[\"22\\\\d{7}\"]]],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\",0,0,0,0,0,[[\"(?:247|528|625)\\\\d{4}\"],[\"(?:(?:23|54)5|329|45[35-8])\\\\d{4}\"],0,0,0,0,0,0,[\"635\\\\d{4}\"]]],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:2(?:62|77)0|3444)\\\\d|4[56]440)\\\\d{3}|(?:34|4[357])700\\\\d{3}|(?:2(?:[0-3]\\\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\\\d{5}\"],[\"7(?:3555|(?:474|9[019]7)7)\\\\d{3}|7(?:[0-25-8]\\\\d\\\\d|3(?:[1-48]\\\\d|6[01]|7[01578])|4(?:2\\\\d|60|7[01578])|9(?:[2-4]\\\\d|5[01]|7[015]))\\\\d{4}\"],[\"800\\\\d{5}\"],[\"5\\\\d{7}\"],0,0,0,0,0,[\"8(?:0[1-9]|[1-9]\\\\d)\\\\d{5}\"]]],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],0,0,0,0,0,0,[[\"2(?:07[0-8]|12[67])\\\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\\\d{5}\"],[\"2(?:0(?:01|79)|17\\\\d)\\\\d{4}|(?:5[01]|[679]\\\\d|8[2-49])\\\\d{6}\"],[\"80\\\\d{6}\"]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:(?:2\\\\d|3[56]|[89][0-6])\\\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\\\d|[26]2|7[0-2]|83)|51\\\\d\\\\d)|4(?:2(?:2\\\\d\\\\d|48[013])|3(?:20\\\\d|4(?:70|83)|56)|420\\\\d|5470)|6(?:0(?:[23]|88\\\\d)|(?:124|[56]2\\\\d)\\\\d|2472|3(?:20\\\\d|470)|4(?:2[04]\\\\d|472)|7(?:(?:3\\\\d|8[01459])\\\\d|4[67]0)))\\\\d{4}|5(?:2(?:2\\\\d{5,6}|47[02]\\\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\\\d|6(?:20\\\\d|483)|7(?:20\\\\d|48[01])|8(?:20\\\\d|47[02])|9(?:20\\\\d|470))\\\\d{4})|7(?:(?:0470|4(?:25\\\\d|470)|5(?:202|470|96\\\\d))\\\\d{4}|1(?:20\\\\d{4,5}|4(?:70|83)\\\\d{4}))|8(?:1(?:2\\\\d{5,6}|4(?:10|7[01]\\\\d)\\\\d{3})|2(?:2\\\\d{5,6}|(?:320|490\\\\d)\\\\d{3})|(?:3(?:2\\\\d\\\\d|470)|4[24-7]|5(?:(?:2\\\\d|51)\\\\d|4(?:[1-35-9]\\\\d|4[0-57-9]))|6[23])\\\\d{4})|(?:1[2-6]\\\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\\\d))\\\\d{4}|25\\\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\\\d{4}\",[6,7,8,9]],[\"(?:17[01]|9(?:2(?:[0-4]|[56]\\\\d\\\\d)|(?:3(?:[0-36]|4\\\\d)|(?:6\\\\d|8[89]|9[4-8])\\\\d|7(?:3|40|[5-9]\\\\d))\\\\d|4(?:(?:[0245]\\\\d|[1379])\\\\d|88)|5[0-6])\\\\d)\\\\d{4}|9[69]1\\\\d{6}|9(?:[68]\\\\d|9[089])\\\\d{5}\",[7,8,9,10]],[\"80080(?:0[1-9]|2\\\\d)\\\\d{3}\",[10]],0,0,0,0,0,[\"1333\\\\d{4}|[12]468\\\\d{4}\",[8]]]],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[12]2[1-3]\\\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\\\d\\\\d|7(?:0(?:[0-5]\\\\d|7[078]|80)|128))\\\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\\\d{6,7}\"],[\"(?:83[01]|92[039])\\\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\\\d{6}\",[8]],0,0,0,0,0,0,[\"712[0-79]\\\\d{4}|7(?:1[013-9]|[25-9]\\\\d)\\\\d{5}\",[8]]]],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]],0,0,0,0,0,0,[[\"(?:28[2-9]|8(?:11|[2-57-9]\\\\d))\\\\d{5}\",[8]],[\"6800[0-79]\\\\d{3}|6(?:[235]\\\\d\\\\d|6(?:0[0-5]|[1-9]\\\\d)|8(?:0[1-9]|[14-8]\\\\d|2[5-9]|[39][0-4]))\\\\d{4}\",[8]],[\"0800\\\\d{3}\",[7]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\",[[\"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"596(?:[03-7]\\\\d|1[05]|2[7-9]|8[0-39]|9[04-9])\\\\d{4}\"],[\"69(?:6(?:[0-46-9]\\\\d|5[0-6])|727)\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:397[0-3]|477[0-5]|76(?:6\\\\d|7[0-367]))\\\\d{4}\"]]],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]],0,0,0,0,0,0,[[\"(?:25[08]|35\\\\d|45[1-7])\\\\d{5}\"],[\"[2-4][0-46-9]\\\\d{6}\"],[\"800\\\\d{5}\"]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\",[[\"6644(?:1[0-3]|91)\\\\d{4}\"],[\"664(?:3(?:49|9[1-6])|49[2-6])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]],0,0,0,0,0,0,[[\"20(?:3[1-4]|6[059])\\\\d{4}|2(?:0[19]|[1-357]\\\\d|60)\\\\d{5}\"],[\"(?:7(?:210|[79]\\\\d\\\\d)|9(?:[29]\\\\d\\\\d|69[67]|8(?:1[1-3]|89|97)))\\\\d{4}\"],[\"800(?:02|[3467]\\\\d)\\\\d{3}\"],[\"5(?:0(?:0(?:37|43)|(?:6\\\\d|70|9[0168])\\\\d)|[12]\\\\d0[1-5])\\\\d{3}\"],0,0,[\"501\\\\d{5}\"],[\"7117\\\\d{4}\"],[\"3550\\\\d{4}\"]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:2(?:[0346-8]\\\\d|1[0-7])|4(?:[013568]\\\\d|2[4-8])|54(?:[3-5]\\\\d|71)|6\\\\d\\\\d|8(?:14|3[129]))\\\\d{4}\",[7,8]],[\"5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\\\d|8[0-689]|9[0-8])|7(?:0[0-3]|3[013]))\\\\d{5}\",[8]],[\"802\\\\d{7}|80[0-2]\\\\d{4}\",[7,10]],[\"30\\\\d{5}\",[7]],0,0,0,0,[\"3(?:20|9\\\\d)\\\\d{4}\",[7]]],\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,[[\"(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\\\d{4}\",[7]],[\"(?:46[46]|[79]\\\\d\\\\d)\\\\d{4}\",[7]],[\"800\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]],0,0,[\"4(?:0[01]|50)\\\\d{4}\",[7]]],\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1[2-9]|2[12]\\\\d\\\\d)\\\\d{5}\"],[\"111\\\\d{6}|(?:31|77|[89][89])\\\\d{7}\",[9]]]],\"MX\":[\"52\",\"0[09]\",\"1(?:(?:22|44|7[27]|87|9[69])[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-689]|8[1-69]|9[1-578])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",0,0,0,[[\"657[12]\\\\d{6}|(?:2(?:0[01]|2\\\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\\\d|7[12]|8[1-8]))\\\\d{7}\",[10]],[\"657[12]\\\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2\\\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\\\d|7[12]|8[1-8]))\\\\d{7}\"],[\"8(?:00|88)\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]],[\"500\\\\d{7}\",[10]],0,0,0,0,[\"300\\\\d{7}\",[10]]],\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\\\d|9[0-57])\\\\d|4(?:2[0-689]|[3-79]\\\\d|8[1-35689])|5(?:2[0-589]|[3468]\\\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\\\d|[3489][0-8]))\\\\d{5}\",[8,9]],[\"1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\\\d{4}|1(?:0(?:[23568]\\\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\\\d\\\\d|6(?:0[5-9]|[1-9]\\\\d)|7(?:[0-4]\\\\d|5[0-7]))|(?:[269]\\\\d|[37][1-9]|4[235-9])\\\\d|5(?:31|9\\\\d\\\\d)|8(?:1[23]|[236]\\\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\\\d{5}\",[9,10]],[\"1[378]00\\\\d{6}\",[10]],[\"1600\\\\d{6}\",[10]],0,0,0,0,[\"15(?:4(?:6[0-4]\\\\d|8(?:0[125]|[17]\\\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\\\d))\\\\d{4}\",[10]]]],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"2(?:[1346]\\\\d|5[0-2]|[78][12]|93)\\\\d{5}\",[8]],[\"8[2-79]\\\\d{7}\",[9]],[\"800\\\\d{6}\",[9]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"64426\\\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\\\d{4,5}|6(?:1(?:(?:0\\\\d|2[0189]|3[24-69]|4[5-9])\\\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\\\d{4}\"],[\"(?:60|8[1245])\\\\d{7}\",[9]],[\"80\\\\d{7}\",[9]],[\"8701\\\\d{5}\",[9]],0,0,0,0,[\"8(?:3\\\\d\\\\d|86)\\\\d{5}\"]]],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]],0,0,0,0,0,0,[[\"(?:2[03-9]|3[0-5]|4[1-7]|88)\\\\d{4}\"],[\"(?:5[0-4]|[79]\\\\d|8[0-79])\\\\d{4}\"],[\"050\\\\d{3}\"],[\"36\\\\d{4}\"]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[047]\"]]],0,0,0,0,0,0,[[\"2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\\\d{4}\"],[\"(?:23|7[047]|[89]\\\\d)\\\\d{6}\"],[\"08\\\\d{6}\"],[\"09\\\\d{6}\"]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\",0,0,[[\"(?:1(?:06|17|28|39)|3[0-2]\\\\d)\\\\d{3}\"],[\"(?:14|3[58])\\\\d{4}\"]]],\"NG\":[\"234\",\"009\",\"2[0-24-9]\\\\d{8}|[78]\\\\d{10,13}|[7-9]\\\\d{9}|[1-9]\\\\d{7}|[124-7]\\\\d{6}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-6]|7(?:0[0-689]|[1-79])|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"20(?:[1259]\\\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])\\\\d{6}|(?:(?:[1-356]\\\\d|4[02-8]|8[2-9])\\\\d|9(?:0[3-9]|[1-9]\\\\d))\\\\d{5}|7(?:0(?:[013-689]\\\\d|2[0-24-9])\\\\d{3,4}|[1-79]\\\\d{6})|(?:[12]\\\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\\\d{5}\",[7,8,10]],[\"(?:702[0-24-9]|819[01])\\\\d{6}|(?:7(?:0[13-9]|[12]\\\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\\\d{7}\",[10]],[\"800\\\\d{7,11}\",[10,11,12,13,14]],0,0,0,[\"700\\\\d{7,11}\",[10,11,12,13,14]]]],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]],0,0,0,0,0,0,[[\"2\\\\d{7}\"],[\"(?:5(?:5[0-7]|[78]\\\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\\\d)\\\\d)\\\\d{5}\"],[\"1800\\\\d{4}\"]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:[035]\\\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\\\d\\\\d)\\\\d{6}\",[9]],[\"(?:6[1-58]|970\\\\d)\\\\d{7}\",[9,11]],[\"800\\\\d{4,7}\",[7,8,9,10]],[\"90[069]\\\\d{4,7}\",[7,8,9,10]],0,0,[\"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\\\d{6})\\\\d\",[5,6,9]],[\"66\\\\d{7}\",[9]],[\"(?:85|91)\\\\d{7}\",[9]]]],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\",[[\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",[8]],[\"(?:4[015-8]|9\\\\d)\\\\d{6}\",[8]],[\"80[01]\\\\d{5}\",[8]],[\"82[09]\\\\d{5}\",[8]],[\"880\\\\d{5}\",[8]],0,[\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\"],0,[\"85[0-5]\\\\d{5}\",[8]],[\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",[8]]]],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:1[0-6]\\\\d|99[02-6])\\\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\\\d{5}\",[8]],[\"9(?:00|6[0-3]|7[024-6]|8[0-24-68])\\\\d{7}\",[10]],[\"1(?:66001|800\\\\d\\\\d)\\\\d{5}\",[11]]]],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]],0,0,0,0,0,0,[[\"444\\\\d{4}\"],[\"(?:55[3-9]|666|8\\\\d\\\\d)\\\\d{4}\"]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,[[\"[47]\\\\d{3}\",[4]],[\"(?:[56]|888[1-9])\\\\d{3}\"]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"24099\\\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\\\d{6}\",[8]],[\"2(?:[0-27-9]\\\\d|6)\\\\d{6,7}|2(?:1\\\\d|75)\\\\d{5}\",[8,9,10]],[\"508\\\\d{6,7}|80\\\\d{6,8}\",[8,9,10]],[\"(?:1[13-57-9]\\\\d{5}|50(?:0[08]|30|66|77|88))\\\\d{3}|90\\\\d{6,8}\",[7,8,9,10]],[\"70\\\\d{7}\",[9]],0,[\"8(?:1[16-9]|22|3\\\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\\\d{2,7}\"]],\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]],0,0,0,0,0,0,[[\"2[1-6]\\\\d{6}\",[8]],[\"(?:1505|90[1-9]\\\\d)\\\\d{4}|(?:7[126-9]|9[1-9])\\\\d{6}\",[8]],[\"8007\\\\d{4,5}|(?:500|800[05])\\\\d{4}\"],[\"900\\\\d{5}\",[8]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:1(?:0\\\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\\\d|7[0-57-9])|5(?:[01]\\\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\\\d))\\\\d{4}\",[7]],[\"(?:1[16]1|21[89]|6\\\\d{3}|8(?:1[01]|7[23]))\\\\d{4}\",[7,8]],[\"800\\\\d{4,5}|(?:00800|800\\\\d)\\\\d{6}\"],[\"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\\\d{4}\",[7]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:(?:4[34]|5[14])[0-8]\\\\d|7(?:173|3[0-8]\\\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\\\d{6}\",[8]],[\"9\\\\d{8}\",[9]],[\"800\\\\d{5}\",[8]],[\"805\\\\d{5}\",[8]],[\"80[24]\\\\d{5}\",[8]],0,0,0,0,[\"801\\\\d{5}\",[8]]],\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],0,0,0,0,0,0,[[\"4(?:0[4-689]|9[4-68])\\\\d{5}\",[8]],[\"8[7-9]\\\\d{6}\",[8]],[\"80[0-5]\\\\d{6}\",[9]],0,0,0,[\"44\\\\d{4}\",[6]],0,[\"499\\\\d{5}\",[8]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,[[\"(?:(?:3[0-2]|4[257]|5[34]|9[78])\\\\d|64[1-9]|85[02-46-9])\\\\d{4}\",[7]],[\"(?:7\\\\d|8[1-38])\\\\d{6}\",[8]],[\"180\\\\d{4}\",[7]],0,0,0,0,[\"27[01]\\\\d{4}\",[7]],[\"2(?:0[0-57]|7[568])\\\\d{4}\",[7]]],\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\\\d{3}|88(?:22\\\\d\\\\d|42))\\\\d{4}|(?:2|8[2-8]\\\\d\\\\d)\\\\d{5}\",[6,8,9,10]],[\"(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\\\d|4[2-9]|8[135-9]|9[1-9]))\\\\d{7}\",[10]],[\"1800\\\\d{7,9}\",[11,12,13]]]],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"(?:(?:21|42)[2-9]|58[126])\\\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\\\d{5,6}\",[9,10]],[\"3(?:[0-247]\\\\d|3[0-79]|55|64)\\\\d{7}\",[10]],[\"800\\\\d{5}(?:\\\\d{3})?\",[8,11]],[\"900\\\\d{5}\",[8]],[\"122\\\\d{6}\",[9]],0,[\"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\\\d{6}\",[11,12]]]],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"47\\\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\\\d{6}|1(?:[0-8]\\\\d{5}|9\\\\d{3}(?:\\\\d{2})?))\",[7,9]],[\"21(?:1[013-5]|2\\\\d)\\\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\\\d{7}\",[9]],[\"800\\\\d{6,7}\",[9,10]],[\"70[01346-8]\\\\d{6}\",[9]],0,0,[\"804\\\\d{6}\",[9]],[\"64\\\\d{4,7}\",[6,7,8,9]],[\"39\\\\d{7}\",[9]],[\"801\\\\d{6}\",[9]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4[1-35-7]|5[01])\\\\d{4}\",[6]],[\"(?:4[02-4]|5[056]|708[45][0-5])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\",[9]]]],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\",[[\"(?:787|939)[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\\\d{5}\",[8]],[\"5[69]\\\\d{7}\",[9]],[\"1800\\\\d{6}\",[10]],0,0,0,0,0,0,[\"1700\\\\d{6}\",[10]]]],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]],0,0,0,0,0,0,[[\"2(?:[12]\\\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\\\d{6}\"],[\"6(?:[06]92(?:30|9\\\\d)|[35]92(?:[049]\\\\d|3[034]))\\\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\\\d\\\\d|480))\\\\d{5}\"],[\"80[02]\\\\d{6}\"],[\"(?:6(?:0[178]|4[68])\\\\d|76(?:0[1-57]|1[2-47]|2[237]))\\\\d{5}\"],[\"884[0-4689]\\\\d{5}\"],0,[\"70(?:38[01]|596|(?:7\\\\d|8[17])\\\\d)\\\\d{4}\"],[\"6(?:222\\\\d|8988)\\\\d{4}\"],[\"30\\\\d{7}\"],[\"80(?:8\\\\d|9[1579])\\\\d{5}\"]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\\\d{4}\"],[\"(?:(?:46|83)[0-5]|6[2-4689]0)\\\\d{4}|(?:45|77|88)\\\\d{5}\"]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\\\d|6[1-578]|75|8[0-8])|858)\\\\d{5,6}\",[7,8,9]],[\"9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\\\d{6}\",[9]],[\"9800\\\\d{5,7}\",[9,10,11]],0,0,0,[\"[2-9]0\\\\d{4,7}\",[6,7,8,9]],0,[\"8700[0-4]\\\\d{4}\",[9]]]],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]],0,0,0,0,0,0,[[\"4(?:1111|2022)\\\\d{3}|4(?:[04]\\\\d\\\\d|14[0-6]|999)\\\\d{4}\",[8]],[\"[35-7]\\\\d{7}\",[8]],[\"800\\\\d{4}|(?:0080[01]|800)\\\\d{6}\",[7,9,11]],0,0,0,0,[\"2[16]\\\\d{5}\",[7]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[23][13-6]\\\\d{7}|(?:2(?:19\\\\d|[3-6]\\\\d9)|31\\\\d\\\\d)\\\\d\\\\d\"],[\"7020\\\\d{5}|(?:6(?:[04]0|2\\\\d)|7(?:0[013-9]|1[0-3]|[2-7]\\\\d|8[03-8]|9[0-39]))\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"90[0136]\\\\d{6}\",[9]],0,0,[\"(?:37\\\\d|80[578])\\\\d{6}\",[9]],0,0,[\"801\\\\d{6}\",[9]]],0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:11[1-9]\\\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\\\d))\\\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\\\d{4,9}\",[7,8,9,10,11,12]],[\"6(?:[0-689]|7\\\\d)\\\\d{6,7}\",[8,9,10]],[\"800\\\\d{3,9}\"],[\"(?:78\\\\d|90[0169])\\\\d{3,7}\",[6,7,8,9,10]],0,0,[\"7[06]\\\\d{4,10}\"]]],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",[[\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",[10]],[\"9\\\\d{9}\",[10]],[\"8(?:0[04]|108\\\\d{3})\\\\d{7}\"],[\"80[39]\\\\d{7}\",[10]],[\"808\\\\d{7}\",[10]]],\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:06|2[23568]\\\\d)\\\\d{6}\"],[\"7[237-9]\\\\d{7}\",[9]],[\"800\\\\d{6}\",[9]],[\"900\\\\d{6}\",[9]]]],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,0,0,0,0,[[\"1(?:1\\\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\\\d{6}\",[9]],[\"579[01]\\\\d{5}|5(?:[013-689]\\\\d|7[0-8])\\\\d{6}\",[9]],[\"800\\\\d{7}\",[10]],[\"925\\\\d{6}\",[9]],0,0,[\"811\\\\d{7}\",[10]],0,0,[\"920\\\\d{6}\",[9]]]],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]],0,0,0,0,0,0,[[\"(?:1[4-79]|[23]\\\\d|4[0-2]|5[03]|6[0-37])\\\\d{3}\",[5]],[\"48\\\\d{3}|(?:(?:7[1-9]|8[4-9])\\\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\\\d{4}\"],[\"1[38]\\\\d{3}\",[5]],0,0,0,0,0,[\"5[12]\\\\d{3}\",[5]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,[[\"4[2-46]\\\\d{5}\"],[\"2[125-8]\\\\d{5}\"],[\"800[08]\\\\d{3}\"],0,0,0,0,0,[\"971\\\\d{4}|(?:64|95)\\\\d{5}\"]],\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1(?:5\\\\d|8[35-7])\\\\d{6}\"],[\"(?:1[0-2]|9[0-3569])\\\\d{7}\"]]],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\",0,0,0,0,0,[[\"(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\\\d)\\\\d|90[1-9])\\\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\\\d{5,6}\",[7,8,9]],[\"7[02369]\\\\d{7}\",[9]],[\"20\\\\d{4,7}\",[6,7,8,9]],[\"649\\\\d{6}|99[1-59]\\\\d{4}(?:\\\\d{3})?|9(?:00|39|44)[1-8]\\\\d{3,6}\",[7,8,9,10]],[\"75[1-8]\\\\d{6}\",[9]],0,[\"10[1-8]\\\\d{6}\",[9]],[\"74[02-9]\\\\d{6}\",[9]],0,[\"77[0-7]\\\\d{6}\",[9]]]],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[[\"662[0-24-9]\\\\d{4}|6(?:[0-578]\\\\d|6[013-57-9]|9[0-35-9])\\\\d{5}\",[8]],[\"8(?:09[0-24]|95[0-2])\\\\d{4}|(?:8(?:0[1-8]|[1-8]\\\\d|9[0-4])|9[0-8]\\\\d)\\\\d{5}\",[8]],[\"(?:18|8)00\\\\d{7}\",[10,11]],[\"1900\\\\d{7}\",[11]],0,0,[\"7000\\\\d{7}\",[11]],0,[\"(?:3[12]\\\\d|666)\\\\d{5}\",[8]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\",[[\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d\\\\d\"],[\"[56]\\\\d{4}\",[5]],0,0,0,0,0,0,[\"262\\\\d\\\\d\",[5]]]],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"(?:[1-357][2-8]|4[24-8])\\\\d{6}\",[8]],[\"65(?:[178]\\\\d|5[56]|6[01])\\\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\\\d{6}\",[8]],[\"80\\\\d{4,6}\",[6,7,8]],[\"89[1-3]\\\\d{2,5}|90\\\\d{4,6}\"],0,0,0,0,[\"(?:59\\\\d\\\\d|8(?:1(?:[67]\\\\d|8[0-589])|2(?:0\\\\d|2[0-37-9]|8[0-2489])|3[389]\\\\d))\\\\d{4}\",[8]]],\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\",[[\"79\\\\d{6}\",[8]],[\"(?:4[015-8]|9\\\\d)\\\\d{6}\",[8]],[\"80[01]\\\\d{5}\",[8]],[\"82[09]\\\\d{5}\",[8]],[\"880\\\\d{5}\",[8]],0,[\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\"],0,[\"85[0-5]\\\\d{5}\",[8]],[\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",[8]]]],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:16|[2-9]\\\\d{3})|(?:(?:[3-5][1-8]\\\\d|819)\\\\d|601[1-5])\\\\d)\\\\d{4}|(?:2|[3-5][1-8])1[67]\\\\d{3}|[3-5][1-8]16\\\\d\\\\d\"],[\"909[1-9]\\\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"9(?:00|[78]\\\\d)\\\\d{6}\",[9]],0,0,[\"96\\\\d{7}\",[9]],[\"9090\\\\d{3}\",[7]],[\"6(?:02|5[0-4]|9[0-6])\\\\d{6}\",[9]],[\"8[5-9]\\\\d{7}\",[9]]]],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"22[2-4][2-9]\\\\d{4}\"],[\"(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\\\d{6}\"]]],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\",0,0,[[\"0549(?:8[0157-9]|9\\\\d)\\\\d{4}\",[10]],[\"6[16]\\\\d{6}\",[8]],0,[\"7[178]\\\\d{6}\",[8]],0,0,0,0,[\"5[158]\\\\d{6}\",[8]]]],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]],0,0,0,0,0,0,[[\"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\\\d{5}\"],[\"7(?:(?:[06-8]\\\\d|21|90)\\\\d|5(?:01|[19]0|25|[38]3|[4-7]\\\\d))\\\\d{5}\"],[\"800\\\\d{6}\"],[\"88[4689]\\\\d{6}\"],0,0,0,0,[\"(?:3(?:392|9[01]\\\\d)\\\\d|93(?:3[13]0|929))\\\\d{4}\"],[\"81[02468]\\\\d{6}\"]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\",0,0,0,0,0,[[\"(?:1\\\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\\\d{5}|(?:[134]\\\\d|8[125])\\\\d{4}\",[6,7]],[\"(?:(?:15|(?:3[59]|4[89]|6\\\\d|7[79]|8[08])\\\\d|9(?:0\\\\d|[2-9]))\\\\d|2(?:4\\\\d|8))\\\\d{5}|(?:[67]\\\\d\\\\d|904)\\\\d{5}\",[7,8,9]]]],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]],0,0,0,0,0,0,[[\"(?:2[1-3]|3[0-7]|(?:4|68)\\\\d|5[2-58])\\\\d{4}\"],[\"(?:7[124-7]|8[124-9])\\\\d{5}\",[7]],0,0,0,0,0,0,[\"56\\\\d{4}\",[6]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1[89]\\\\d{7}\"],[\"(?:12|9[1257-9])\\\\d{7}\"]]],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]],0,0,0,0,0,0,[[\"22\\\\d{5}\"],[\"900[5-9]\\\\d{3}|9(?:0[1-9]|[89]\\\\d)\\\\d{4}\"]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,[[\"2(?:79(?:0[0347-9]|[1-9]\\\\d)|89(?:0[024589]|[1-9]\\\\d))\\\\d{3}|2(?:[1-69]\\\\d|[78][0-8])\\\\d{5}\",[8]],[\"[67]\\\\d{7}\",[8]],[\"800\\\\d{8}|80[01]\\\\d{4}\",[7,11]],[\"900\\\\d{4}(?:\\\\d{4})?\",[7,11]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\",[[\"7215(?:4[2-8]|8[239]|9[056])\\\\d{4}\"],[\"7215(?:1[02]|2\\\\d|5[034679]|8[014-8])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"21\\\\d{6,7}|(?:1(?:[14]\\\\d|[2356])|2[235]|3(?:[13]\\\\d|4)|4[134]|5[1-3])\\\\d{6}\"],[\"9[1-689]\\\\d{7}\",[9]]]],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]],0,0,0,0,0,0,[[\"[23][2-5]\\\\d{6}\",[8]],[\"7[6-9]\\\\d{6}\",[8]],[\"0800\\\\d{4}\",[8]],[\"900\\\\d{6}\",[9]],0,0,0,0,[\"70\\\\d{6}\",[8]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\",[[\"8\\\\d{3}\"]]],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\",[[\"649(?:266|712|9(?:4\\\\d|50))\\\\d{4}\"],[\"649(?:2(?:3[129]|4[1-79])|3\\\\d\\\\d|4[34][1-3])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"649(?:71[01]|966)\\\\d{4}\"]]],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,[[\"22(?:[37-9]0|5[0-5]|6[89])\\\\d{4}\"],[\"(?:6[0-689]|77|9\\\\d)\\\\d{6}\"]],\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]],0,0,0,0,0,0,[[\"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\\\d{5}\"],[\"(?:7[019]|9[0-36-9])\\\\d{6}\"]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:1[0689]|2\\\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\\\d{6}\",[8]],[\"67(?:1[0-8]|2[4-7])\\\\d{5}|(?:14|6[1-6]|[89]\\\\d)\\\\d{7}\",[9]],[\"(?:001800\\\\d|1800)\\\\d{6}\",[10,13]],[\"1900\\\\d{6}\",[10]],0,0,0,0,[\"6[08]\\\\d{7}\",[9]]]],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,[[\"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\\\d{6}\"],[\"(?:4(?:1[18]|4[02-479])|81[1-9])\\\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[0178]|8[078]|9\\\\d)\\\\d{7}\"]],\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7],0,0,0,0,0,0,0,[[\"(?:2[2-4]|[34]\\\\d)\\\\d{2,5}\"],[\"7[2-4]\\\\d{2,5}\"]]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"(?:2[1-5]|3[1-9]|4[1-4])\\\\d{5}\",[7]],[\"7[2-8]\\\\d{6}\",[8]],[\"80\\\\d{5}\",[7]],[\"90\\\\d{5}\",[7]],[\"70\\\\d{5}\",[7]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,[[\"(?:1(?:2\\\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\\\d{5}\"],[\"(?:6\\\\d|71)\\\\d{6}\"]],\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]],0,0,0,0,0,0,[[\"81200\\\\d{3}|(?:3[0-2]|7\\\\d)\\\\d{6}\"],[\"3(?:001|[12]40)\\\\d{4}|(?:(?:[259]\\\\d|4[0-8])\\\\d|3(?:1[1-35]|6[0-4]|91))\\\\d{5}\"],[\"8010\\\\d{4}\"],[\"88\\\\d{6}\"],0,0,0,0,0,[\"8[12]10\\\\d{4}\"]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\\\d{3}\",[5]],[\"(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\\\d|3[02]|8[15-9])|(?:7\\\\d|8[46-9])\\\\d|999)\\\\d{4}\",[7]],[\"0800\\\\d{3}\",[7]],0,0,0,0,0,[\"55[0-37-9]\\\\d{4}\",[7]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\\\d{7}\",[10]],[\"561(?:011|61\\\\d)\\\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\\\d|5[1-59]|9[46])\\\\d{7}\",[10]],[\"8(?:00\\\\d{7}(?:\\\\d{2,3})?|11\\\\d{7})\",[10,12,13]],[\"(?:8[89]8|900)\\\\d{7}\",[10]],[\"592(?:21[12]|461)\\\\d{4}\",[10]],0,[\"444\\\\d{4}\",[7]],[\"512\\\\d{7}\",[10]],[\"850\\\\d{7}\",[10]]]],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\",[[\"868(?:2(?:01|1[5-9]|[23]\\\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\\\d|7[0-79])|82[124])\\\\d{4}\"],[\"868(?:(?:2[5-9]|3\\\\d)\\\\d|4(?:3[0-6]|[6-9]\\\\d)|6(?:20|78|8\\\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\\\d))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"2[02-9]\\\\d{3}\",[5]],[\"(?:7[01]\\\\d|90)\\\\d{4}\",[6,7]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[2-8]\\\\d|370|55[01]|7[1-9])\\\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\\\d)|1[023]\\\\d)\\\\d{4,5}|(?:[239]\\\\d\\\\d|4(?:0[56]|12|49))\\\\d{5})|6(?:[01]\\\\d{7}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|8(?:(?:2(?:3\\\\d|4[0-269]|[578]0|66)|36[24-9]|90\\\\d\\\\d)\\\\d{4}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|(?:2(?:2(?:0\\\\d\\\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\\\d|1[0-4])|(?:4\\\\d|5[0-49]|6[0-29]|7[0-5])\\\\d)\\\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\\\d\\\\d|4(?:2(?:[089]\\\\d|7[1-9])|(?:3[0-4]|[78]\\\\d|9[01])\\\\d))\\\\d)\\\\d{3}\",[8,9]],[\"(?:40001[0-2]|9[0-8]\\\\d{4})\\\\d{3}\",[9]],[\"80[0-79]\\\\d{6}|800\\\\d{5}\",[8,9]],[\"20(?:[013-9]\\\\d\\\\d|2)\\\\d{4}\",[7,9]],[\"99\\\\d{7}\",[9]],0,[\"50[0-46-9]\\\\d{6}\",[9]],0,[\"7010(?:[0-2679]\\\\d|3[0-7]|8[0-5])\\\\d{5}|70\\\\d{8}\",[10,11]]],0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2[2-8]\\\\d{7}\"],[\"(?:6[125-9]|7[13-9])\\\\d{7}\"],[\"80[08]\\\\d{6}\"],[\"90\\\\d{7}\"],0,0,0,0,[\"41\\\\d{7}\"],[\"8(?:40|6[01])\\\\d{6}\"]]],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\\\d{7}\",[9]],[\"(?:39|50|6[36-8]|7[1-357]|9[1-9])\\\\d{7}\",[9]],[\"800[1-8]\\\\d{5,6}\"],[\"900[239]\\\\d{5,6}\"],0,0,0,0,[\"89[1-579]\\\\d{6}\",[9]]],\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"20(?:(?:240|30[67])\\\\d|6(?:00[0-2]|30[0-4]))\\\\d{3}|(?:20(?:[017]\\\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\\\d{3})\\\\d{5}\"],[\"72(?:[48]0|6[01])\\\\d{5}|7(?:[015-8]\\\\d|20|36|4[0-5]|9[89])\\\\d{6}\"],[\"800[1-3]\\\\d{5}\"],[\"90[1-3]\\\\d{6}\"]]],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,[[\"(?:1(?:770|9(?:20|87))|(?:2\\\\d|4[2-7])\\\\d\\\\d)\\\\d{4}\",[8]],[\"9[1-9]\\\\d{6}\",[8]],[\"0004\\\\d{2,9}|(?:405|80[05])\\\\d{4}\"],[\"90[0-8]\\\\d{4}\",[7]]],\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,[[\"(?:55\\\\d\\\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\\\d\\\\d|7(?:[23]\\\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\\\d)\\\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\\\d{5}\"],[\"(?:(?:[25]0|33|88|9[0-57-9])\\\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\\\d|61[23]|7(?:[01][017]|4\\\\d|55|9[5-9]))|2(?:(?:11|7\\\\d)\\\\d|2(?:[12]1|9[01379])|5(?:[126]\\\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\\\d)\\\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\\\d|4(?:56|83)|7(?:[07]\\\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\\\d|[39][07])|9(?:0\\\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\\\d|7[0-4])|(?:5[67]|7\\\\d)\\\\d|6(?:2[0-26]|8\\\\d)))|7(?:[07]\\\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\\\d|7(?:0\\\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\\\d|5(?:0[0-4]|5[579]|9\\\\d)|7(?:[0-3579]\\\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\\\d|9[5-9])|7(?:0\\\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\\\d))|5(?:112|2(?:0\\\\d|2[29]|[49]4)|3[1568]\\\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\\\d|60|7[2579]|87|9[07]))))\\\\d{4}\"]],\"8~10\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\",[[\"06698\\\\d{1,6}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\",[[\"784(?:266|3(?:6[6-9]|7\\\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\\\d{4}\"],[\"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"78451[0-2]\\\\d{4}\"]]],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:12|3[457-9]|[467]\\\\d|[58][1-9]|9[1-6])|[4-6]00)\\\\d{7}\"],[\"4(?:1[24-8]|2[46])\\\\d{7}\"],[\"800\\\\d{7}\"],[\"90[01]\\\\d{7}\"],0,0,[\"501\\\\d{7}\"]]],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\",[[\"284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\\\d{4}\"],[\"284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\",[[\"340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\\\d)|884|998)\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\\\d{7}\",[10]],[\"(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\\\d{6}|(?:3\\\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\\\d{7}\",[9]],[\"1800\\\\d{4,6}|12(?:0[13]|28)\\\\d{4}\",[8,9,10]],[\"1900\\\\d{4,6}\",[8,9,10]],0,0,[\"(?:[17]99|80\\\\d)\\\\d{4}|69\\\\d{5,6}\",[7,8]],0,[\"672\\\\d{6}\",[9]]]],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]],0,0,0,0,0,0,[[\"(?:38[0-8]|48[4-9])\\\\d\\\\d|(?:2[02-9]|3[4-7]|88)\\\\d{3}\",[5]],[\"(?:[58]\\\\d|7[013-7])\\\\d{5}\",[7]],[\"81[18]\\\\d\\\\d\",[5]],0,0,0,[\"(?:3[03]|900\\\\d)\\\\d{3}\"],0,[\"9(?:0[1-9]|1[01])\\\\d{4}\",[7]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],0,0,0,0,0,0,[[\"72\\\\d{4}\",[6]],[\"(?:72|8[23])\\\\d{4}\",[6]],[\"80[0-5]\\\\d{6}\",[9]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"6[1-9]\\\\d{3}|(?:[2-5]|60)\\\\d{4}\",[5,6]],[\"(?:7[1-35-7]|8(?:[3-7]|9\\\\d{3}))\\\\d{5}\",[7,10]],[\"800\\\\d{3}\",[6]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"38\\\\d{6,10}|(?:2[89]|39)(?:0\\\\d{5,6}|[1-9]\\\\d{5})\"],[\"4[3-9]\\\\d{6}\",[8]],[\"800\\\\d{5}\",[8]],[\"900\\\\d{5}\",[8]]]],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"78[0-7]\\\\d{4}|17\\\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\\\d{5}\",[7,8]],[\"7[01378]\\\\d{7}\",[9]]]],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:0330|4302)|52087)0\\\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\\\d|5[1346-8])\\\\d{7}\",[9]],[\"(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\\\d{3}|8[1-4]\\\\d{3,7}|(?:2[27]|47|54)4950\\\\d{3}|(?:1(?:049[2-4]|9[12]\\\\d\\\\d)|(?:6\\\\d|7[0-46-9])\\\\d{3}|8(?:5\\\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\\\d{3}|(?:12|[2-5]1)492\\\\d{4}\",[5,6,7,8,9]],[\"80\\\\d{7}\",[9]],[\"(?:86[2-9]|9[0-2]\\\\d)\\\\d{6}\",[9]],0,0,[\"861\\\\d{6,7}\",[9,10]],0,[\"87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\\\d)\\\\d{5}\",[9]],[\"860\\\\d{6}\",[9]]]],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"21[1-8]\\\\d{6}\"],[\"(?:7[5-79]|9[5-8])\\\\d{7}\"],[\"800\\\\d{6}\"],0,0,0,0,0,[\"63\\\\d{7}\"]]],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:(?:3\\\\d|9)\\\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\\\d\\\\d|[56](?:[14]\\\\d\\\\d|20)|7(?:[089]|2[03]|[35]\\\\d\\\\d))\\\\d|4(?:2\\\\d\\\\d|8))\\\\d|1(?:2|[39]\\\\d{4}))|3(?:(?:123|(?:29\\\\d|92)\\\\d)\\\\d\\\\d|7(?:[19]|[56]\\\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\\\d{3}|83)|5(?:25\\\\d\\\\d|[78])|[689]\\\\d)|6(?:(?:[16-8]21|28|52[013])\\\\d\\\\d|[39])|8(?:[1349]28|523)\\\\d\\\\d)\\\\d{3}|(?:4\\\\d\\\\d|9[2-9])\\\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\\\d|7[1-7])\\\\d|2(?:[278]\\\\d|92)|58(?:2\\\\d|3))|3(?:[26]|9\\\\d{3})|5(?:4\\\\d|5)\\\\d\\\\d)\\\\d|6(?:(?:(?:[0-246]|[78]\\\\d)\\\\d|37)\\\\d|5[2-8]))\\\\d\\\\d|(?:2(?:[569]\\\\d|8[2-57-9])|3(?:[013-59]\\\\d|8[37])|6[89]8)\\\\d{3}\"],[\"7(?:[1278]\\\\d|3[1-9])\\\\d{6}\",[9]],[\"80(?:[01]\\\\d|20|8[0-8])\\\\d{3}\",[7]],0,0,0,0,0,[\"86(?:1[12]|22|30|44|55|77|8[368])\\\\d{6}\",[10]]]]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}", "export { default as ParseError } from '../es6/ParseError.js'\r\n// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.\r\nexport { default as parsePhoneNumberWithError, default as parsePhoneNumber } from '../es6/parsePhoneNumberWithError.js'\r\n\r\n// `parsePhoneNumberFromString()` named export is now considered legacy:\r\n// it has been promoted to a default export due to being too verbose.\r\nexport { default as default, default as parsePhoneNumberFromString } from '../es6/parsePhoneNumber.js'\r\n\r\nexport { default as isValidPhoneNumber } from '../es6/isValidPhoneNumber.js'\r\nexport { default as isPossiblePhoneNumber } from '../es6/isPossiblePhoneNumber.js'\r\nexport { default as validatePhoneNumberLength } from '../es6/validatePhoneNumberLength.js'\r\n\r\n// Deprecated.\r\nexport { default as findNumbers } from '../es6/legacy/findNumbers.js'\r\nexport { default as searchNumbers } from '../es6/legacy/searchNumbers.js'\r\n\r\nexport { default as findPhoneNumbersInText } from '../es6/findPhoneNumbersInText.js'\r\nexport { default as searchPhoneNumbersInText } from '../es6/searchPhoneNumbersInText.js'\r\nexport { default as PhoneNumberMatcher } from '../es6/PhoneNumberMatcher.js'\r\n\r\nexport { default as AsYouType } from '../es6/AsYouType.js'\r\nexport { DIGIT_PLACEHOLDER } from '../es6/AsYouTypeFormatter.js'\r\n\r\nexport { default as getCountries } from '../es6/getCountries.js'\r\nexport { default as Metadata, isSupportedCountry, getCountryCallingCode, getExtPrefix } from '../es6/metadata.js'\r\n\r\nexport { default as getExampleNumber } from '../es6/getExampleNumber.js'\r\n\r\nexport { default as formatIncompletePhoneNumber } from '../es6/formatIncompletePhoneNumber.js'\r\nexport { default as parseIncompletePhoneNumber, parsePhoneNumberCharacter } from '../es6/parseIncompletePhoneNumber.js'\r\nexport { default as parseDigits } from '../es6/helpers/parseDigits.js'\r\n\r\nexport { parseRFC3966, formatRFC3966 } from '../es6/helpers/RFC3966.js'\r\n", "// https://stackoverflow.com/a/46971044/970769\r\n// \"Breaking changes in Typescript 2.1\"\r\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\r\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\r\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\nexport default class ParseError extends Error {\r\n  constructor(code) {\r\n    super(code)\r\n    // Set the prototype explicitly.\r\n    // Any subclass of FooError will have to manually set the prototype as well.\r\n    Object.setPrototypeOf(this, ParseError.prototype)\r\n    this.name = this.constructor.name\r\n  }\r\n}", "import parsePhoneNumberWithError_ from './parsePhoneNumberWithError_.js'\r\nimport normalizeArguments from './normalizeArguments.js'\r\n\r\nexport default function parsePhoneNumberWithError() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumberWithError_(text, options, metadata)\r\n}", "// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tPLUS_CHARS,\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tMAX_LENGTH_FOR_NSN\r\n} from './constants.js'\r\n\r\nimport ParseError from './ParseError.js'\r\nimport Metadata from './metadata.js'\r\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js'\r\nimport extractExtension from './helpers/extension/extractExtension.js'\r\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js'\r\nimport getCountryCallingCode from './getCountryCallingCode.js'\r\nimport { isPossibleNumber } from './isPossible.js'\r\n// import { parseRFC3966 } from './helpers/RFC3966.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js'\r\nimport extractNationalNumber from './helpers/extractNationalNumber.js'\r\nimport stripIddPrefix from './helpers/stripIddPrefix.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nconst MAX_INPUT_STRING_LENGTH = 250\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nconst PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']')\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\r\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\r\nconst AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\n// Examples:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\n\r\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param  {string} input\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\r\nexport default function parse(text, options, metadata) {\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// Validate `defaultCountry`.\r\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\tthrow new Error(`Unknown country: ${options.defaultCountry}`)\r\n\t}\r\n\r\n\t// Parse the phone number.\r\n\tconst { number: formattedPhoneNumber, ext, error } = parseInput(text, options.v2, options.extract)\r\n\r\n\t// If the phone number is not viable then return nothing.\r\n\tif (!formattedPhoneNumber) {\r\n\t\tif (options.v2) {\r\n\t\t\tif (error === 'TOO_SHORT') {\r\n\t\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t\t}\r\n\t\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tnationalNumber,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tcarrierCode\r\n\t} = parsePhoneNumber(\r\n\t\tformattedPhoneNumber,\r\n\t\toptions.defaultCountry,\r\n\t\toptions.defaultCallingCode,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (!metadata.hasSelectedNumberingPlan()) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\tif (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\r\n\t\t// Won't throw here because the regexp already demands length > 1.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\tif (options.v2) {\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCallingCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tmetadata.metadata\r\n\t\t)\r\n\t\tif (country) {\r\n\t\t\tphoneNumber.country = country\r\n\t\t}\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\tif (ext) {\r\n\t\t\tphoneNumber.ext = ext\r\n\t\t}\r\n\t\tphoneNumber.__countryCallingCodeSource = countryCallingCodeSource\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t// Check if national phone number pattern matches the number.\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tconst valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ?\r\n\t\tmatchesEntirely(nationalNumber, metadata.nationalNumberPattern()) :\r\n\t\tfalse\r\n\r\n\tif (!options.extended) {\r\n\t\treturn valid ? result(country, nationalNumber, ext) : {}\r\n\t}\r\n\r\n\t// isInternational: countryCallingCode !== undefined\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode,\r\n\t\tvalid,\r\n\t\tpossible: valid ? true : (\r\n\t\t\toptions.extended === true &&\r\n\t\t\tmetadata.possibleLengths() &&\r\n\t\t\tisPossibleNumber(nationalNumber, metadata) ? true : false\r\n\t\t),\r\n\t\tphone: nationalNumber,\r\n\t\text\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param  {string} text\r\n * @param  {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param  {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\r\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\r\n\tif (!text) {\r\n\t\treturn\r\n\t}\r\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\tif (throwOnError) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\tif (extract === false) {\r\n\t\treturn text\r\n\t}\r\n\t// Attempt to extract a possible number from the string passed in\r\n\tconst startsAt = text.search(PHONE_NUMBER_START_PATTERN)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\treturn text\r\n\t\t// Trim everything to the left of the phone number\r\n\t\t.slice(startsAt)\r\n\t\t// Remove trailing non-numerical characters\r\n\t\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '')\r\n}\r\n\r\n/**\r\n * @param  {string} text - Input.\r\n * @param  {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param  {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nfunction parseInput(text, v2, extract) {\r\n\t// // Parse RFC 3966 phone number URI.\r\n\t// if (text && text.indexOf('tel:') === 0) {\r\n\t// \treturn parseRFC3966(text)\r\n\t// }\r\n\t// let number = extractFormattedPhoneNumber(text, extract, v2)\r\n\tlet number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\r\n\t\textractFormattedPhoneNumber: (text) => extractFormattedPhoneNumber(text, extract, v2)\r\n\t})\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\tif (isViablePhoneNumberStart(number)) {\r\n\t\t\treturn { error: 'TOO_SHORT' }\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\t// Attempt to parse extension first, since it doesn't require region-specific\r\n\t// data and we want to have the non-normalised number here.\r\n\tconst withExtensionStripped = extractExtension(number)\r\n\tif (withExtensionStripped.ext) {\r\n\t\treturn withExtensionStripped\r\n\t}\r\n\treturn { number }\r\n}\r\n\r\n/**\r\n * Creates `parse()` result object.\r\n */\r\nfunction result(country, nationalNumber, ext) {\r\n\tconst result = {\r\n\t\tcountry,\r\n\t\tphone: nationalNumber\r\n\t}\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\r\nfunction parsePhoneNumber(\r\n\tformattedPhoneNumber,\r\n\tdefaultCountry,\r\n\tdefaultCallingCode,\r\n\tmetadata\r\n) {\r\n\t// Extract calling code from phone number.\r\n\tlet { countryCallingCodeSource, countryCallingCode, number } = extractCountryCallingCode(\r\n\t\tparseIncompletePhoneNumber(formattedPhoneNumber),\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata.metadata\r\n\t)\r\n\r\n\t// Choose a country by `countryCallingCode`.\r\n\tlet country\r\n\tif (countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t}\r\n\t// If `formattedPhoneNumber` is passed in \"national\" format\r\n\t// then `number` is defined and `countryCallingCode` is `undefined`.\r\n\telse if (number && (defaultCountry || defaultCallingCode)) {\r\n\t\tmetadata.selectNumberingPlan(defaultCountry, defaultCallingCode)\r\n\t\tif (defaultCountry) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tcountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcountryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata)\r\n\t}\r\n\telse return {}\r\n\r\n\tif (!number) {\r\n\t\treturn {\r\n\t\t\tcountryCallingCodeSource,\r\n\t\t\tcountryCallingCode\r\n\t\t}\r\n\t}\r\n\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumber(\r\n\t\tparseIncompletePhoneNumber(number),\r\n\t\tmetadata\r\n\t)\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t// get their countries populated with the full set of\r\n\t// \"phone number type\" regular expressions.\r\n\t//\r\n\tconst exactCountry = getCountryByCallingCode(countryCallingCode, {\r\n\t\tnationalNumber,\r\n\t\tdefaultCountry,\r\n\t\tmetadata\r\n\t})\r\n\tif (exactCountry) {\r\n\t\tcountry = exactCountry\r\n\t\t/* istanbul ignore if */\r\n\t\tif (exactCountry === '001') {\r\n\t\t\t// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\r\n\t\t\t// If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\r\n\t\t\t// then remove the \"istanbul ignore if\".\r\n\t\t} else {\r\n\t\t\tmetadata.country(country)\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t}\r\n}", "// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')", "// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\n//\r\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\r\nexport default function(a, b) {\r\n    a = a.split('-')\r\n    b = b.split('-')\r\n    var pa = a[0].split('.')\r\n    var pb = b[0].split('.')\r\n    for (var i = 0; i < 3; i++) {\r\n        var na = Number(pa[i])\r\n        var nb = Number(pb[i])\r\n        if (na > nb) return 1\r\n        if (nb > na) return -1\r\n        if (!isNaN(na) && isNaN(nb)) return 1\r\n        if (isNaN(na) && !isNaN(nb)) return -1\r\n    }\r\n    if (a[1] && b[1]) {\r\n        return a[1] > b[1] ? 1 : (a[1] < b[1] ? -1 : 0)\r\n    }\r\n    return !a[1] && b[1] ? 1 : (a[1] && !b[1] ? -1 : 0)\r\n}", "const objectConstructor = {}.constructor;\r\n\r\nexport default function isObject(object) {\r\n  return object !== undefined && object !== null && object.constructor === objectConstructor;\r\n}\r\n", "import compare from './tools/semver-compare.js'\r\nimport isObject from './helpers/isObject.js'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\nconst CALLING_CODE_REG_EXP = /^\\d+$/\r\n\r\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\t// The test case could be found by searching for \"nonGeographical\".\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\t// Supports just passing `callingCode` as the first argument.\r\n\t\tif (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\r\n\t\t\tcallingCode = countryCode\r\n\t\t\tcountryCode = null\r\n\t\t}\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\t// In that metadata, there was no concept of \"non-geographic\" metadata\r\n\t\t\t// so metadata for `001` country code was stored along with other countries.\r\n\t\t\t// The test case can be found by searching for:\r\n\t\t\t// \"should work around `nonGeographic` metadata not existing\".\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\treturn this.selectNumberingPlan(callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t//  which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\t// Is always present.\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\t// Is only present when a country supports multiple IDD prefixes.\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\t// \"possible length\" data is always present in Google's metadata.\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\r\n\t\t\t// when `national_prefix_formatting_rule` is not present.\r\n\t\t\t// So, `true` or `false` are returned explicitly here, so that\r\n\t\t\t// `0` number isn't returned.\r\n\t\t\t? true\r\n\t\t\t: false\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!isObject(metadata) || !isObject(metadata.countries)) {\r\n\t\tthrow new Error(`[libphonenumber-js] \\`metadata\\` argument was passed but it's not a valid metadata. Must be an object having \\`.countries\\` child object property. Got ${isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst typeOf = _ => typeof _\r\n\r\n/**\r\n * Returns extension prefix for a country.\r\n * @param  {string} country\r\n * @param  {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param  {string} country\r\n * @param  {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries.hasOwnProperty(country)\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tconst { version } = metadata\r\n\tif (typeof version === 'number') {\r\n\t\tthis.v1 = version === 1\r\n\t\tthis.v2 = version === 2\r\n\t\tthis.v3 = version === 3\r\n\t\tthis.v4 = version === 4\r\n\t} else {\r\n\t\tif (!version) {\r\n\t\t\tthis.v1 = true\r\n\t\t} else if (compare(version, V3) === -1) {\r\n\t\t\tthis.v2 = true\r\n\t\t} else if (compare(version, V4) === -1) {\r\n\t\t\tthis.v3 = true\r\n\t\t} else {\r\n\t\t\tthis.v4 = true\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }", "import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from '../constants.js'\r\n\r\nimport createExtensionPattern from './extension/createExtensionPattern.js'\r\n\r\n//  Regular expression of viable phone numbers. This is location independent.\r\n//  Checks we have at least three leading digits, and only valid punctuation,\r\n//  alpha characters and digits in the phone number. Does not include extension\r\n//  data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n//  used as a placeholder for carrier codes, for example in Brazilian phone\r\n//  numbers. We also allow multiple '+' characters at the start.\r\n//\r\n//  Corresponds to the following:\r\n//  [digits]{minLengthNsn}|\r\n//  plus_sign*\r\n//  (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n//  The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n//  they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n//  The second expression restricts the number of digits to three or more, but\r\n//  then allows them to be in international form, and to have alpha-characters\r\n//  and punctuation. We split up the two reg-exes here and combine them when\r\n//  creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n//  with ^ and append $ to each branch.\r\n//\r\n//  \"Note VALID_PUNCTUATION starts with a -,\r\n//   so must be the first in the range\" (c) Google devs.\r\n//  (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nexport const VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// This regular expression isn't present in Google's `libphonenumber`\r\n// and is only used to determine whether the phone number being input\r\n// is too short for it to even consider it a \"valid\" number.\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nconst VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){1,2}' +\r\n\t'$'\r\n, 'i')\r\n\r\nexport const VALID_PHONE_NUMBER_WITH_EXTENSION =\r\n\tVALID_PHONE_NUMBER +\r\n\t// Phone number extensions\r\n\t'(?:' + createExtensionPattern() + ')?'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER_WITH_EXTENSION +\r\n\t'$'\r\n, 'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}\r\n\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nexport function isViablePhoneNumberStart(number) {\r\n\treturn VALID_PHONE_NUMBER_START_REG_EXP.test(number)\r\n}", "import { VALID_DIGITS } from '../../constants.js'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\r\nconst getExtensionDigitsPattern = (maxLength) => `([${VALID_DIGITS}]{1,${maxLength}})`\r\n\r\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\r\nexport default function createExtensionPattern(purpose) {\r\n\t// We cap the maximum length of an extension based on the ambiguity of the way\r\n\t// the extension is prefixed. As per ITU, the officially allowed length for\r\n\t// extensions is actually 40, but we don't support this since we haven't seen real\r\n\t// examples and this introduces many false interpretations as the extension labels\r\n\t// are not standardized.\r\n\t/** @type {string} */\r\n\tvar extLimitAfterExplicitLabel = '20';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterLikelyLabel = '15';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterAmbiguousChar = '9';\r\n\t/** @type {string} */\r\n\tvar extLimitWhenNotSure = '6';\r\n\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\u00A0\\\\t,]*\";\r\n\t// Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\r\n\t/** @type {string} */\r\n\tvar possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*\";\r\n\t/** @type {string} */\r\n\tvar optionalExtnSuffix = \"#?\";\r\n\r\n\t// Here the extension is called out in more explicit way, i.e mentioning it obvious\r\n\t// patterns like \"ext.\".\r\n\t/** @type {string} */\r\n\tvar explicitExtLabels =\r\n\t  \"(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\r\n\t// One-character symbols that can be used to indicate an extension, and less\r\n\t// commonly used or more ambiguous extension labels.\r\n\t/** @type {string} */\r\n\tvar ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\r\n\t// When extension is not separated clearly.\r\n\t/** @type {string} */\r\n\tvar ambiguousSeparator = \"[- ]+\";\r\n\t// This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\r\n\t// comma as extension label may have it.\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsNumberExtLabelNoComma = \"[ \\u00A0\\\\t]*\";\r\n\t// \",,\" is commonly used for auto dialling the extension when connected. First\r\n\t// comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\r\n\t// not repeat it here. Semi-colon works in Iphone and Android also to pop up a\r\n\t// button with the extension number following.\r\n\t/** @type {string} */\r\n\tvar autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\r\n\r\n\t/** @type {string} */\r\n\tvar rfcExtn = RFC3966_EXTN_PREFIX\r\n\t     + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\r\n\t/** @type {string} */\r\n\tvar explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels\r\n\t     + possibleCharsAfterExtLabel\r\n\t     + getExtensionDigitsPattern(extLimitAfterExplicitLabel)\r\n\t     + optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels\r\n\t     + possibleCharsAfterExtLabel\r\n\t+ getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar americanStyleExtnWithSuffix = ambiguousSeparator\r\n\t+ getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\r\n\r\n\t/** @type {string} */\r\n\tvar autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t     + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel\r\n\t     + getExtensionDigitsPattern(extLimitAfterLikelyLabel)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t    + \"(?:,)+\" + possibleCharsAfterExtLabel\r\n\t    + getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t    + optionalExtnSuffix;\r\n\r\n\t// The first regular expression covers RFC 3966 format, where the extension is added\r\n\t// using \";ext=\". The second more generic where extension is mentioned with explicit\r\n\t// labels like \"ext:\". In both the above cases we allow more numbers in extension than\r\n\t// any other extension labels. The third one captures when single character extension\r\n\t// labels or less commonly used labels are used. In such cases we capture fewer\r\n\t// extension digits in order to reduce the chance of falsely interpreting two\r\n\t// numbers beside each other as a number + extension. The fourth one covers the\r\n\t// special case of American numbers where the extension is written with a hash\r\n\t// at the end, such as \"- 503#\". The fifth one is exclusively for extension\r\n\t// autodialling formats which are used when dialling and in this case we accept longer\r\n\t// extensions. The last one is more liberal on the number of commas that acts as\r\n\t// extension labels, so we have a strict cap on the number of digits in such extensions.\r\n\treturn rfcExtn + \"|\"\r\n\t       + explicitExtn + \"|\"\r\n\t       + ambiguousExtn + \"|\"\r\n\t       + americanStyleExtnWithSuffix + \"|\"\r\n\t       + autoDiallingExtn + \"|\"\r\n\t       + onlyCommasExtn;\r\n}", "import createExtensionPattern from './createExtensionPattern.js'\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport default function extractExtension(number) {\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst numberWithoutExtension = number.slice(0, start)\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length) {\r\n\t\tif (matches[i]) {\r\n\t\t\treturn {\r\n\t\t\t\tnumber: numberWithoutExtension,\r\n\t\t\t\text: matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}", "// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9'  // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character) {\r\n\treturn DIGITS[character]\r\n}\r\n\r\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param  {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}", "import { parseDigit } from './helpers/parseDigits.js'\r\n\r\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param  {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param  {string} character - Yet another character from raw input string.\r\n * @param  {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param  {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (prevParsedCharacters) {\r\n\t\t\t// `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\r\n\t\t\t// Any 3rd-party code that used to `import` and call this function before that\r\n\t\t\t// won't be passing any `emitEvent` argument.\r\n\t\t\t//\r\n\t\t\t// The addition of the `emitEvent` argument was to fix the slightly-weird behavior\r\n\t\t\t// of parsing an input string when the user inputs something like `\"2+7\"\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/437\r\n\t\t\t//\r\n\t\t\t// If the parser encounters an unexpected `+` in a string being parsed\r\n\t\t\t// then it simply discards that out-of-place `+` and any following characters.\r\n\t\t\t//\r\n\t\t\tif (typeof emitEvent === 'function') {\r\n\t\t\t\temitEvent('end')\r\n\t\t\t}\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}", "// Deprecated. Import from 'metadata.js' directly instead.\r\nexport { getCountryCallingCode as default } from './metadata.js'", "import Metadata from './metadata.js'\r\nimport checkNumberLength from './helpers/checkNumberLength.js'\r\n\r\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param  {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {string}\r\n */\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\t// Old metadata (< 1.0.18) had no \"possible length\" data.\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}", "import mergeArrays from './mergeArrays.js'\r\n\r\nexport default function checkNumberLength(nationalNumber, metadata) {\r\n\treturn checkNumberLengthForType(nationalNumber, undefined, metadata)\r\n}\r\n\r\n// Checks whether a number is possible for the country based on its length.\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"<possiblePengths/>\" set for every type element.\r\n\t// This is declared in the XML schema.\r\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\r\n\t// has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\r\n\t// so we fall back to the \"general description\". Where no numbers of the type\r\n\t// exist at all, there is one possible length (-1) which is guaranteed\r\n\t// not to match the length of any real phone number.\r\n\tlet possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths()\r\n\t// let local_lengths    = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\r\n\r\n\t// Metadata before version `1.0.18` didn't contain `possible_lengths`.\r\n\tif (!possible_lengths) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\r\n\t\t// No such country in metadata.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (!metadata.type('FIXED_LINE')) {\r\n\t\t\t// The rare case has been encountered where no fixedLine data is available\r\n\t\t\t// (true for some non-geographic entities), so we just check mobile.\r\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata)\r\n\t\t}\r\n\r\n\t\tconst mobile_type = metadata.type('MOBILE')\r\n\t\tif (mobile_type) {\r\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\r\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\r\n\t\t\t// Note that when adding the possible lengths from mobile, we have\r\n\t\t\t// to again check they aren't empty since if they are this indicates\r\n\t\t\t// they are the same as the general desc and should be obtained from there.\r\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths())\r\n\t\t\t// The current list is sorted; we need to merge in the new list and\r\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\r\n\t\t\t// the lists are very small.\r\n\r\n\t\t\t// if (local_lengths) {\r\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\r\n\t\t\t// } else {\r\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\r\n\telse if (type && !type_info) {\r\n\t\treturn 'INVALID_LENGTH'\r\n\t}\r\n\r\n\tconst actual_length = nationalNumber.length\r\n\r\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\r\n\t// // This is safe because there is never an overlap beween the possible lengths\r\n\t// // and the local-only lengths; this is checked at build time.\r\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\r\n\t// {\r\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\r\n\t// }\r\n\r\n\tconst minimum_length = possible_lengths[0]\r\n\r\n\tif (minimum_length === actual_length) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (minimum_length > actual_length) {\r\n\t\treturn 'TOO_SHORT'\r\n\t}\r\n\r\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\r\n\t\treturn 'TOO_LONG'\r\n\t}\r\n\r\n\t// We skip the first element since we've already checked it.\r\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH'\r\n}", "/**\r\n * Merges two arrays.\r\n * @param  {*} a\r\n * @param  {*} b\r\n * @return {*}\r\n */\r\nexport default function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b) {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}", "import Metadata from './metadata.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\n\r\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\r\nexport default function isValidNumber(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\t// By default, countries only have type regexps when it's required for\r\n\t// distinguishing different countries having the same `countryCallingCode`.\r\n\tif (metadata.hasTypes()) {\r\n\t\treturn getNumberType(input, options, metadata.metadata) !== undefined\r\n\t}\r\n\r\n\t// If there are no type regexps for this country in metadata then use\r\n\t// `nationalNumberPattern` as a \"better than nothing\" replacement.\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\treturn matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n}", "/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport default function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}", "import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES = [\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returns an empty object — `{}` —\r\n\t// that means that the phone number is malformed,\r\n\t// so it can't possibly be valid.\r\n\tif (!input.country && !input.countryCallingCode) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\r\n\t\t// For example, for \"US\" country.\r\n\t\t// Old metadata (< `1.0.18`) had a specific \"types\" data structure\r\n\t\t// that happened to be `undefined` for `MOBILE` in that case.\r\n\t\t// Newer metadata (>= `1.0.18`) has another data structure that is\r\n\t\t// not `undefined` for `MOBILE` in that case (it's just an empty array).\r\n\t\t// So this `if` is just for backwards compatibility with old metadata.\r\n\t\tif (!metadata.type('MOBILE')) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const type of NON_FIXED_LINE_PHONE_TYPES) {\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\r\n\t\t\treturn type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\r\n\ttype = metadata.type(type)\r\n\tif (!type || !type.pattern()) {\r\n\t\treturn false\r\n\t}\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0) {\r\n\t\treturn false\r\n\t}\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}", "import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param  {string} callingCode — Calling code.\r\n * @param  {string} nationalNumber — National (significant) number.\r\n * @param  {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\r\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\tlet possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn []\r\n\t}\r\n\treturn possibleCountries.filter((country) => {\r\n\t\treturn couldNationalNumberBelongToCountry(nationalNumber, country, metadata)\r\n\t})\r\n}\r\n\r\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\t_metadata.selectNumberingPlan(country)\r\n\tif (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\r\n\t\treturn true\r\n\t}\r\n\treturn false\r\n}", "import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly. Therefore, we use `\\d`, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport const FIRST_GROUP_PATTERN = /(\\$\\d)/\r\n\r\nexport default function formatNationalNumberUsingFormat(\r\n\tnumber,\r\n\tformat,\r\n\t{\r\n\t\tuseInternationalFormat,\r\n\t\twithNationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tmetadata\r\n\t}\r\n) {\r\n\tconst formattedNumber = number.replace(\r\n\t\tnew RegExp(format.pattern()),\r\n\t\tuseInternationalFormat\r\n\t\t\t? format.internationalFormat()\r\n\t\t\t: (\r\n\t\t\t\t// This library doesn't use `domestic_carrier_code_formatting_rule`,\r\n\t\t\t\t// because that one is only used when formatting phone numbers\r\n\t\t\t\t// for dialing from a mobile phone, and this is not a dialing library.\r\n\t\t\t\t// carrierCode && format.domesticCarrierCodeFormattingRule()\r\n\t\t\t\t// \t// First, replace the $CC in the formatting rule with the desired carrier code.\r\n\t\t\t\t// \t// Then, replace the $FG in the formatting rule with the first group\r\n\t\t\t\t// \t// and the carrier code combined in the appropriate way.\r\n\t\t\t\t// \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\r\n\t\t\t\t// \t: (\r\n\t\t\t\t// \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t// \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t// \t\t\t: format.format()\r\n\t\t\t\t// \t)\r\n\t\t\t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t\t: format.format()\r\n\t\t\t)\r\n\t)\r\n\tif (useInternationalFormat) {\r\n\t\treturn applyInternationalSeparatorStyle(formattedNumber)\r\n\t}\r\n\treturn formattedNumber\r\n}", "import { VALID_PUNCTUATION } from '../constants.js'\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\r\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\r\n//\r\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\r\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\r\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\r\n//\r\n// \"The country calling code for all countries participating in the NANP is 1.\r\n// In international format, an NANP number should be listed as +1 301 555 01 00,\r\n// where 301 is an area code (Maryland).\"\r\n//\r\n// I personally prefer the international format without any punctuation.\r\n// For example, brackets are remnants of the old age, meaning that the\r\n// phone number part in brackets (so called \"area code\") can be omitted\r\n// if dialing within the same \"area\".\r\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\r\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\r\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\r\n// He has a couple of seconds to memorize that number until it passes by.\r\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\r\n// but with hyphens instead of spaces the grouping is more explicit.\r\n// I personally think that hyphens introduce visual clutter,\r\n// so I prefer replacing them with spaces in international numbers.\r\n// In the modern age all output is done on displays where spaces are clearly distinguishable\r\n// so hyphens can be safely replaced with spaces without losing any legibility.\r\n//\r\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\r\n\treturn formattedNumber.replace(new RegExp(`[${VALID_PUNCTUATION}]+`, 'g'), ' ').trim()\r\n}", "import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\r\nconst SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/\r\n\r\n// For regions that have multiple IDD prefixes\r\n// a preferred IDD prefix is returned.\r\nexport default function getIddPrefix(country, callingCode, metadata) {\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tif (countryMetadata.defaultIDDPrefix()) {\r\n\t\treturn countryMetadata.defaultIDDPrefix()\r\n\t}\r\n\tif (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\r\n\t\treturn countryMetadata.IDDPrefix()\r\n\t}\r\n}\r\n", "import isViablePhoneNumber from './isViablePhoneNumber.js'\r\n\r\n// https://www.ietf.org/rfc/rfc3966.txt\r\n\r\n/**\r\n * @param  {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nexport function parseRFC3966(text) {\r\n\tlet number\r\n\tlet ext\r\n\r\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\r\n\ttext = text.replace(/^tel:/, 'tel=')\r\n\r\n\tfor (const part of text.split(';')) {\r\n\t\tconst [name, value] = part.split('=')\r\n\t\tswitch (name) {\r\n\t\t\tcase 'tel':\r\n\t\t\t\tnumber = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ext':\r\n\t\t\t\text = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'phone-context':\r\n\t\t\t\t// Only \"country contexts\" are supported.\r\n\t\t\t\t// \"Domain contexts\" are ignored.\r\n\t\t\t\tif (value[0] === '+') {\r\n\t\t\t\t\tnumber = value + number\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst result = { number }\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * @param  {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\r\nexport function formatRFC3966({ number, ext }) {\r\n\tif (!number) {\r\n\t\treturn ''\r\n\t}\r\n\tif (number[0] !== '+') {\r\n\t\tthrow new Error(`\"formatRFC3966()\" expects \"number\" to be in E.164 format.`)\r\n\t}\r\n\treturn `tel:${number}${ext ? ';ext=' + ext : ''}`\r\n}", "// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'\r\nimport Metadata, { getCountryCallingCode } from './metadata.js'\r\nimport getIddPrefix from './helpers/getIddPrefix.js'\r\nimport { formatRFC3966 } from './helpers/RFC3966.js'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n\tformatExtension: (formattedNumber, extension, metadata) => `${formattedNumber}${metadata.ext()}${extension}`\r\n}\r\n\r\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param  {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param  {string} format\r\n * @param  {object} [options]\r\n * @param  {object} metadata\r\n * @return {string}\r\n */\r\nexport default function formatNumber(input, format, options, metadata) {\r\n\t// Apply default options.\r\n\tif (options) {\r\n\t\toptions = { ...DEFAULT_OPTIONS, ...options }\r\n\t} else {\r\n\t\toptions = DEFAULT_OPTIONS\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (input.country && input.country !== '001') {\r\n\t\t// Validate `input.country`.\r\n\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t}\r\n\t\tmetadata.country(input.country)\r\n\t}\r\n\telse if (input.countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t}\r\n\telse return input.phone || ''\r\n\r\n\tconst countryCallingCode = metadata.countryCallingCode()\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// This variable should have been declared inside `case`s\r\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\r\n\tlet number\r\n\r\n\tswitch (format) {\r\n\t\tcase 'NATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options)\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'INTERNATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn `+${countryCallingCode}`\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options)\r\n\t\t\tnumber = `+${countryCallingCode} ${number}`\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'E.164':\r\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\r\n\t\t\treturn `+${countryCallingCode}${nationalNumber}`\r\n\r\n\t\tcase 'RFC3966':\r\n\t\t\treturn formatRFC3966({\r\n\t\t\t\tnumber: `+${countryCallingCode}${nationalNumber}`,\r\n\t\t\t\text: input.ext\r\n\t\t\t})\r\n\r\n\t\t// For reference, here's Google's IDD formatter:\r\n\t\t// https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\r\n\t\t// Not saying that this IDD formatter replicates it 1:1, but it seems to work.\r\n\t\t// Who would even need to format phone numbers in IDD format anyway?\r\n\t\tcase 'IDD':\r\n\t\t\tif (!options.fromCountry) {\r\n\t\t\t\treturn\r\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\r\n\t\t\t}\r\n\t\t\tconst formattedNumber = formatIDD(\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tinput.carrierCode,\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\toptions.fromCountry,\r\n\t\t\t\tmetadata\r\n\t\t\t)\r\n\t\t\treturn addExtension(formattedNumber, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unknown \"format\" argument passed to \"formatNumber()\": \"${format}\"`)\r\n\t}\r\n}\r\n\r\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\r\n\tconst format = chooseFormatForNumber(metadata.formats(), number)\r\n\tif (!format) {\r\n\t\treturn number\r\n\t}\r\n\treturn formatNationalNumberUsingFormat(\r\n\t\tnumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tuseInternationalFormat: formatAs === 'INTERNATIONAL',\r\n\t\t\twithNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && (options && options.nationalPrefix === false) ? false : true,\r\n\t\t\tcarrierCode,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n}\r\n\r\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\r\n\tfor (const format of availableFormats) {\r\n\t\t// Validate leading digits.\r\n\t\t// The test case for \"else path\" could be found by searching for\r\n\t\t// \"format.leadingDigitsPatterns().length === 0\".\r\n\t\tif (format.leadingDigitsPatterns().length > 0) {\r\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\tconst lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]\r\n\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\tif (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check that the national number matches the phone number format regular expression\r\n\t\tif (matchesEntirely(nationalNnumber, format.pattern())) {\r\n\t\t\treturn format\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\r\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber\r\n}\r\n\r\nfunction formatIDD(\r\n\tnationalNumber,\r\n\tcarrierCode,\r\n\tcountryCallingCode,\r\n\tfromCountry,\r\n\tmetadata\r\n) {\r\n\tconst fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata)\r\n\t// When calling within the same country calling code.\r\n\tif (fromCountryCallingCode === countryCallingCode) {\r\n\t\tconst formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata)\r\n\t\t// For NANPA regions, return the national format for these regions\r\n\t\t// but prefix it with the country calling code.\r\n\t\tif (countryCallingCode === '1') {\r\n\t\t\treturn countryCallingCode + ' ' + formattedNumber\r\n\t\t}\r\n\t\t// If regions share a country calling code, the country calling code need\r\n\t\t// not be dialled. This also applies when dialling within a region, so this\r\n\t\t// if clause covers both these cases. Technically this is the case for\r\n\t\t// dialling from La Reunion to other overseas departments of France (French\r\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\r\n\t\t// this edge case for now and for those cases return the version including\r\n\t\t// country calling code. Details here:\r\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\r\n\t\t//\r\n\t\treturn formattedNumber\r\n\t}\r\n\tconst iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata)\r\n\tif (iddPrefix) {\r\n\t\treturn `${iddPrefix} ${countryCallingCode} ${formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata)}`\r\n\t}\r\n}", "import Metadata from './metadata.js'\r\nimport isPossibleNumber from './isPossible.js'\r\nimport isValidNumber from './isValid.js'\r\n// import checkNumberLength from './helpers/checkNumberLength.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js'\r\nimport formatNumber from './format.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class PhoneNumber {\r\n\t/**\r\n\t * @param  {string} countryOrCountryCallingCode\r\n\t * @param  {string} nationalNumber\r\n\t * @param  {object} metadata — Metadata JSON\r\n\t * @return {PhoneNumber}\r\n\t */\r\n\tconstructor(countryOrCountryCallingCode, nationalNumber, metadata) {\r\n\t\tif (!countryOrCountryCallingCode) {\r\n\t\t\tthrow new TypeError('`country` or `countryCallingCode` not passed')\r\n\t\t}\r\n\t\tif (!nationalNumber) {\r\n\t\t\tthrow new TypeError('`nationalNumber` not passed')\r\n\t\t}\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new TypeError('`metadata` not passed')\r\n\t\t}\r\n\t\tconst { country, countryCallingCode } = getCountryAndCountryCallingCode(\r\n\t\t\tcountryOrCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tthis.country = country\r\n\t\tthis.countryCallingCode = countryCallingCode\r\n\t\tthis.nationalNumber = nationalNumber\r\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber\r\n\t\t// Exclude `metadata` property output from `PhoneNumber.toString()`\r\n\t\t// so that it doesn't clutter the console output of Node.js.\r\n\t\t// Previously, when Node.js did `console.log(new PhoneNumber(...))`,\r\n\t\t// it would output the whole internal structure of the `metadata` object.\r\n\t\tthis.getMetadata = () => metadata\r\n\t}\r\n\r\n\tsetExt(ext) {\r\n\t\tthis.ext = ext\r\n\t}\r\n\r\n\tgetPossibleCountries() {\r\n\t\tif (this.country) {\r\n\t\t\treturn [this.country]\r\n\t\t}\r\n\t\treturn getPossibleCountriesForNumber(\r\n\t\t\tthis.countryCallingCode,\r\n\t\t\tthis.nationalNumber,\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tisPossible() {\r\n\t\treturn isPossibleNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisValid() {\r\n\t\treturn isValidNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisNonGeographic() {\r\n\t\tconst metadata = new Metadata(this.getMetadata())\r\n\t\treturn metadata.isNonGeographicCallingCode(this.countryCallingCode)\r\n\t}\r\n\r\n\tisEqual(phoneNumber) {\r\n\t\treturn this.number === phoneNumber.number && this.ext === phoneNumber.ext\r\n\t}\r\n\r\n\t// This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\r\n\t// but later it was found out that it doesn't include the possible `TOO_SHORT` result\r\n\t// returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\r\n\t// so eventually I simply commented out this method from the `PhoneNumber` class\r\n\t// and just left the `validatePhoneNumberLength()` function, even though that one would require\r\n\t// and additional step to also validate the actual country / calling code of the phone number.\r\n\t// validateLength() {\r\n\t// \tconst metadata = new Metadata(this.getMetadata())\r\n\t// \tmetadata.selectNumberingPlan(this.countryCallingCode)\r\n\t// \tconst result = checkNumberLength(this.nationalNumber, metadata)\r\n\t// \tif (result !== 'IS_POSSIBLE') {\r\n\t// \t\treturn result\r\n\t// \t}\r\n\t// }\r\n\r\n\tgetType() {\r\n\t\treturn getNumberType(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tformat(format, options) {\r\n\t\treturn formatNumber(\r\n\t\t\tthis,\r\n\t\t\tformat,\r\n\t\t\toptions ? { ...options, v2: true } : { v2: true },\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tformatNational(options) {\r\n\t\treturn this.format('NATIONAL', options)\r\n\t}\r\n\r\n\tformatInternational(options) {\r\n\t\treturn this.format('INTERNATIONAL', options)\r\n\t}\r\n\r\n\tgetURI(options) {\r\n\t\treturn this.format('RFC3966', options)\r\n\t}\r\n}\r\n\r\nconst isCountryCode = (value) => /^[A-Z]{2}$/.test(value)\r\n\r\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\r\n\tlet country\r\n\tlet countryCallingCode\r\n\r\n\tconst metadata = new Metadata(metadataJson)\r\n\t// If country code is passed then derive `countryCallingCode` from it.\r\n\t// Also store the country code as `.country`.\r\n\tif (isCountryCode(countryOrCountryCallingCode)) {\r\n\t\tcountry = countryOrCountryCallingCode\r\n\t\tmetadata.selectNumberingPlan(country)\r\n\t\tcountryCallingCode = metadata.countryCallingCode()\r\n\t} else {\r\n\t\tcountryCallingCode = countryOrCountryCallingCode\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tif (metadata.isNonGeographicCallingCode(countryCallingCode)) {\r\n\t\t\t\tcountry = '001'\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode\r\n\t}\r\n}", "import stripIddPrefix from './stripIddPrefix.js'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'\r\nimport Metadata from '../metadata.js'\r\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js'\r\n\r\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param  {string} number — Phone number digits (possibly with a `+`).\r\n * @param  {string} [country] — Default country.\r\n * @param  {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param  {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\r\nexport default function extractCountryCallingCode(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tlet isNumberWithIddPrefix\r\n\r\n\t// If this is not an international phone number,\r\n\t// then either extract an \"IDD\" prefix, or extract a\r\n\t// country calling code from a number by autocorrecting it\r\n\t// by prepending a leading `+` in cases when it starts\r\n\t// with the country calling code.\r\n\t// https://wikitravel.org/en/International_dialling_prefix\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\tif (number[0] !== '+') {\r\n\t\t// Convert an \"out-of-country\" dialing phone number\r\n\t\t// to a proper international phone number.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata)\r\n\t\t// If an IDD prefix was stripped then\r\n\t\t// convert the number to international one\r\n\t\t// for subsequent parsing.\r\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\r\n\t\t\tisNumberWithIddPrefix = true\r\n\t\t\tnumber = '+' + numberWithoutIDD\r\n\t\t} else {\r\n\t\t\t// Check to see if the number starts with the country calling code\r\n\t\t\t// for the default country. If so, we remove the country calling code,\r\n\t\t\t// and do some checks on the validity of the number before and after.\r\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\t\tnumber,\r\n\t\t\t\t\tcountry,\r\n\t\t\t\t\tcallingCode,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t)\r\n\t\t\t\tif (countryCallingCode) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tcountryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\r\n\t\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t// No need to set it to `UNSPECIFIED`. It can be just `undefined`.\r\n\t\t\t\t// countryCallingCodeSource: 'UNSPECIFIED',\r\n\t\t\t\tnumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[1] === '0') {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tlet i = 2\r\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tconst countryCallingCode = number.slice(1, i)\r\n\t\tif (metadata.hasCallingCode(countryCallingCode)) {\r\n\t\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: number.slice(i)\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\r\n\treturn {}\r\n}\r\n\r\n// The possible values for the returned `countryCallingCodeSource` are:\r\n//\r\n// Copy-pasted from:\r\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\r\n//\r\n// // The source from which the country_code is derived. This is not set in the\r\n// // general parsing method, but in the method that parses and keeps raw_input.\r\n// // New fields could be added upon request.\r\n// enum CountryCodeSource {\r\n//  // Default value returned if this is not set, because the phone number was\r\n//  // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\r\n//  // return false if this is the case.\r\n//  UNSPECIFIED = 0;\r\n//\r\n//  // The country_code is derived based on a phone number with a leading \"+\",\r\n//  // e.g. the French number \"+33 1 42 68 53 00\".\r\n//  FROM_NUMBER_WITH_PLUS_SIGN = 1;\r\n//\r\n//  // The country_code is derived based on a phone number with a leading IDD,\r\n//  // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\r\n//  FROM_NUMBER_WITH_IDD = 5;\r\n//\r\n//  // The country_code is derived based on a phone number without a leading\r\n//  // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\r\n//  // supplied as France.\r\n//  FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\r\n//\r\n//  // The country_code is derived NOT based on the phone number itself, but\r\n//  // from the defaultCountry parameter provided in the parsing function by the\r\n//  // clients. This happens mostly for numbers written in the national format\r\n//  // (without country code). For example, this would be set when parsing the\r\n//  // French number \"01 42 68 53 00\", when defaultCountry is supplied as\r\n//  // France.\r\n//  FROM_DEFAULT_COUNTRY = 20;\r\n// }", "import Metadata from '../metadata.js'\r\nimport { VALID_DIGITS } from '../constants.js'\r\n\r\nconst CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')\r\n\r\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\t// Check if the number is IDD-prefixed.\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tconst IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix())\r\n\tif (number.search(IDDPrefixPattern) !== 0) {\r\n\t\treturn\r\n\t}\r\n\t// Strip IDD prefix.\r\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length)\r\n\t// If there're any digits after an IDD prefix,\r\n\t// then those digits are a country calling code.\r\n\t// Since no country code starts with a `0`,\r\n\t// the code below validates that the next digit (if present) is not `0`.\r\n\tconst matchedGroups = number.match(CAPTURING_DIGIT_PATTERN)\r\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\r\n\t\tif (matchedGroups[1] === '0') {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}", "import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport extractNationalNumber from './extractNationalNumber.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\nimport getCountryCallingCode from '../getCountryCallingCode.js'\r\n\r\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param  {string} number — Phone number digits.\r\n * @param  {string?} country\r\n * @param  {string?} callingCode\r\n * @param  {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\r\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tconst countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode\r\n\tif (number.indexOf(countryCallingCode) === 0) {\r\n\t\tmetadata = new Metadata(metadata)\r\n\t\tmetadata.selectNumberingPlan(country, callingCode)\r\n\t\tconst possibleShorterNumber = number.slice(countryCallingCode.length)\r\n\t\tconst {\r\n\t\t\tnationalNumber: possibleShorterNationalNumber,\r\n\t\t} = extractNationalNumber(\r\n\t\t\tpossibleShorterNumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tconst {\r\n\t\t\tnationalNumber\r\n\t\t} = extractNationalNumber(\r\n\t\t\tnumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\t// If the number was not valid before but is valid now,\r\n\t\t// or if it was too long before, we consider the number\r\n\t\t// with the country calling code stripped to be a better result\r\n\t\t// and keep that instead.\r\n\t\t// For example, in Germany (+49), `49` is a valid area code,\r\n\t\t// so if a number starts with `49`, it could be both a valid\r\n\t\t// national German number or an international number without\r\n\t\t// a leading `+`.\r\n\t\tif (\r\n\t\t\t(\r\n\t\t\t\t!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t\t&&\r\n\t\t\t\tmatchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t)\r\n\t\t\t||\r\n\t\t\tcheckNumberLength(nationalNumber, metadata) === 'TOO_LONG'\r\n\t\t) {\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: possibleShorterNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { number }\r\n}", "import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\n\r\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param  {string} number — Complete phone number digits.\r\n * @param  {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumber(number, metadata) {\r\n\t// Parsing national prefixes and carrier codes\r\n\t// is only required for local phone numbers\r\n\t// but some people don't understand that\r\n\t// and sometimes write international phone numbers\r\n\t// with national prefixes (or maybe even carrier codes).\r\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\r\n\t// Google's original library forgives such mistakes\r\n\t// and so does this library, because it has been requested:\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\r\n\tconst {\r\n\t\tcarrierCode,\r\n\t\tnationalNumber\r\n\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\tnumber,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (nationalNumber !== number) {\r\n\t\tif (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\r\n\t\t\t// Don't strip the national prefix.\r\n\t\t\treturn { nationalNumber: number }\r\n\t\t}\r\n\t\t// Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t\t// Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\r\n\t\tif (metadata.possibleLengths()) {\r\n\t\t\t// The number remaining after stripping the national prefix and carrier code\r\n\t\t\t// should be long enough to have a possible length for the country.\r\n\t\t\t// Otherwise, don't strip the national prefix and carrier code,\r\n\t\t\t// since the original number could be a valid number.\r\n\t\t\t// This check has been copy-pasted \"as is\" from Google's original library:\r\n\t\t\t// https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\r\n\t\t\t// It doesn't check for the \"possibility\" of the original `number`.\r\n\t\t\t// I guess it's fine not checking that one. It works as is anyway.\r\n\t\t\tif (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\r\n\t\t\t\t// Don't strip the national prefix.\r\n\t\t\t\treturn { nationalNumber: number }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { nationalNumber, carrierCode }\r\n}\r\n\r\n// In some countries, the same digit could be a national prefix\r\n// or a leading digit of a valid phone number.\r\n// For example, in Russia, national prefix is `8`,\r\n// and also `800 555 35 35` is a valid number\r\n// in which `8` is not a national prefix, but the first digit\r\n// of a national (significant) number.\r\n// Same's with Belarus:\r\n// `82004910060` is a valid national (significant) number,\r\n// but `2004910060` is not.\r\n// To support such cases (to prevent the code from always stripping\r\n// national prefix), a condition is imposed: a national prefix\r\n// is not extracted when the original number is \"viable\" and the\r\n// resultant number is not, a \"viable\" national number being the one\r\n// that matches `national_number_pattern`.\r\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\r\n\t// The equivalent in Google's code is:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\r\n\tif (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) &&\r\n\t\t!matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\r\n\t\treturn false\r\n\t}\r\n\t// This \"is possible\" national number (length) check has been commented out\r\n\t// because it's superceded by the (effectively) same check done in the\r\n\t// `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\r\n\t// In other words, why run the same check twice if it could only be run once.\r\n\t// // Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t// // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\r\n\t// // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\r\n\t// if (metadata.possibleLengths()) {\r\n\t// \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\r\n\t// \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\r\n\t// \t\treturn false\r\n\t// \t}\r\n\t// }\r\n\treturn true\r\n}\r\n\r\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'TOO_SHORT':\r\n\t\tcase 'INVALID_LENGTH':\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t\treturn false\r\n\t\tdefault:\r\n\t\t\treturn true\r\n\t}\r\n}", "/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used  in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\r\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\r\n\tif (number && metadata.numberingPlan.nationalPrefixForParsing()) {\r\n\t\t// See METADATA.md for the description of\r\n\t\t// `national_prefix_for_parsing` and `national_prefix_transform_rule`.\r\n\t\t// Attempt to parse the first digits as a national prefix.\r\n\t\tconst prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')')\r\n\t\tconst prefixMatch = prefixPattern.exec(number)\r\n\t\tif (prefixMatch) {\r\n\t\t\tlet nationalNumber\r\n\t\t\tlet carrierCode\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\t\t// If a `national_prefix_for_parsing` has any \"capturing groups\"\r\n\t\t\t// then it means that the national (significant) number is equal to\r\n\t\t\t// those \"capturing groups\" transformed via `national_prefix_transform_rule`,\r\n\t\t\t// and nothing could be said about the actual national prefix:\r\n\t\t\t// what is it and was it even there.\r\n\t\t\t// If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\r\n\t\t\t// then everything it matches is a national prefix.\r\n\t\t\t// To determine whether `national_prefix_for_parsing` matched any\r\n\t\t\t// \"capturing groups\", the value of the result of calling `.exec()`\r\n\t\t\t// is looked at, and if it has non-undefined values where there're\r\n\t\t\t// \"capturing groups\" in the regular expression, then it means\r\n\t\t\t// that \"capturing groups\" have been matched.\r\n\t\t\t// It's not possible to tell whether there'll be any \"capturing gropus\"\r\n\t\t\t// before the matching process, because a `national_prefix_for_parsing`\r\n\t\t\t// could exhibit both behaviors.\r\n\t\t\tconst capturedGroupsCount = prefixMatch.length - 1\r\n\t\t\tconst hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount]\r\n\t\t\tif (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\r\n\t\t\t\tnationalNumber = number.replace(\r\n\t\t\t\t\tprefixPattern,\r\n\t\t\t\t\tmetadata.nationalPrefixTransformRule()\r\n\t\t\t\t)\r\n\t\t\t\t// If there's more than one captured group,\r\n\t\t\t\t// then carrier code is the second one.\r\n\t\t\t\tif (capturedGroupsCount > 1) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If there're no \"capturing groups\",\r\n\t\t\t// or if there're \"capturing groups\" but no\r\n\t\t\t// `national_prefix_transform_rule`,\r\n\t\t\t// then just strip the national prefix from the number,\r\n\t\t\t// and possibly a carrier code.\r\n\t\t\t// Seems like there could be more.\r\n\t\t\telse {\r\n\t\t\t\t// `prefixBeforeNationalNumber` is the whole substring matched by\r\n\t\t\t\t// the `national_prefix_for_parsing` regular expression.\r\n\t\t\t\t// There seem to be no guarantees that it's just a national prefix.\r\n\t\t\t\t// For example, if there's a carrier code, it's gonna be a\r\n\t\t\t\t// part of `prefixBeforeNationalNumber` too.\r\n\t\t\t\tconst prefixBeforeNationalNumber = prefixMatch[0]\r\n\t\t\t\tnationalNumber = number.slice(prefixBeforeNationalNumber.length)\r\n\t\t\t\t// If there's at least one captured group,\r\n\t\t\t\t// then carrier code is the first one.\r\n\t\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Tries to guess whether a national prefix was present in the input.\r\n\t\t\t// This is not something copy-pasted from Google's library:\r\n\t\t\t// they don't seem to have an equivalent for that.\r\n\t\t\t// So this isn't an \"officially approved\" way of doing something like that.\r\n\t\t\t// But since there seems no other existing method, this library uses it.\r\n\t\t\tlet nationalPrefix\r\n\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\tconst possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1])\r\n\t\t\t\tconst possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup)\r\n\t\t\t\t// Example: an Argentinian (AR) phone number `0111523456789`.\r\n\t\t\t\t// `prefixMatch[0]` is `01115`, and `$1` is `11`,\r\n\t\t\t\t// and the rest of the phone number is `23456789`.\r\n\t\t\t\t// The national number is transformed via `9$1` to `91123456789`.\r\n\t\t\t\t// National prefix `0` is detected being present at the start.\r\n\t\t\t\t// if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\r\n\t\t\t\tif (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\r\n\t\t\t\t\tnationalPrefix = metadata.numberingPlan.nationalPrefix()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnationalPrefix = prefixMatch[0]\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tnationalPrefix,\r\n\t\t\t\tcarrierCode\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n   return {\r\n   \tnationalNumber: number\r\n   }\r\n}", "import getCountryByNationalNumber from './getCountryByNationalNumber.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default function getCountryByCallingCode(callingCode, {\r\n\tnationalNumber: nationalPhoneNumber,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t/* istanbul ignore if */\r\n\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\tif (metadata.isNonGeographicCallingCode(callingCode)) {\r\n\t\t\treturn '001'\r\n\t\t}\r\n\t}\r\n\tconst possibleCountries = metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn\r\n\t}\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possibleCountries.length === 1) {\r\n\t\treturn possibleCountries[0]\r\n\t}\r\n\treturn getCountryByNationalNumber(nationalPhoneNumber, {\r\n\t\tcountries: possibleCountries,\r\n\t\tdefaultCountry,\r\n\t\tmetadata: metadata.metadata\r\n\t})\r\n}", "import Metadata from '../metadata.js'\r\nimport getNumberType from './getNumberType.js'\r\n\r\nexport default function getCountryByNationalNumber(nationalPhoneNumber, {\r\n\tcountries,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t// Re-create `metadata` because it will be selecting a `country`.\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tconst matchingCountries = []\r\n\r\n\tfor (const country of countries) {\r\n\t\tmetadata.country(country)\r\n\t\t// \"Leading digits\" patterns are only defined for about 20% of all countries.\r\n\t\t// By definition, matching \"leading digits\" is a sufficient but not a necessary\r\n\t\t// condition for a phone number to belong to a country.\r\n\t\t// The point of \"leading digits\" check is that it's the fastest one to get a match.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t\t// I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\r\n\t\t// because of the intended use of that feature.\r\n\t\tif (metadata.leadingDigits()) {\r\n\t\t\tif (nationalPhoneNumber &&\r\n\t\t\t\tnationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Else perform full validation with all of those\r\n\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\telse if (getNumberType({ phone: nationalPhoneNumber, country }, undefined, metadata.metadata)) {\r\n\t\t\t// If the `defaultCountry` is among the `matchingCountries` then return it.\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (country === defaultCountry) {\r\n\t\t\t\t\treturn country\r\n\t\t\t\t}\r\n\t\t\t\tmatchingCountries.push(country)\r\n\t\t\t} else {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the first (\"main\") one of the `matchingCountries`.\r\n\tif (matchingCountries.length > 0) {\r\n\t\treturn matchingCountries[0]\r\n\t}\r\n}", "import extractPhoneContext, {\r\n\tisPhoneContextValid,\r\n\tPLUS_SIGN,\r\n\tRFC3966_PREFIX_,\r\n\tRFC3966_PHONE_CONTEXT_,\r\n\tRFC3966_ISDN_SUBADDRESS_\r\n} from './extractPhoneContext.js'\r\n\r\nimport ParseError from '../ParseError.js'\r\n\r\n/**\r\n * @param  {string} numberToParse\r\n * @param  {string} nationalNumber\r\n * @return {}\r\n */\r\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, {\r\n\textractFormattedPhoneNumber\r\n}) {\r\n\tconst phoneContext = extractPhoneContext(numberToParse)\r\n\tif (!isPhoneContextValid(phoneContext)) {\r\n\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t}\r\n\r\n\tlet phoneNumberString\r\n\r\n\tif (phoneContext === null) {\r\n\t\t// Extract a possible number from the string passed in.\r\n\t\t// (this strips leading characters that could not be the start of a phone number)\r\n\t\tphoneNumberString = extractFormattedPhoneNumber(numberToParse) || ''\r\n\t} else {\r\n\t\tphoneNumberString = ''\r\n\r\n\t\t// If the phone context contains a phone number prefix, we need to capture\r\n\t\t// it, whereas domains will be ignored.\r\n\t\tif (phoneContext.charAt(0) === PLUS_SIGN) {\r\n\t\t\tphoneNumberString += phoneContext\r\n\t\t}\r\n\r\n\t\t// Now append everything between the \"tel:\" prefix and the phone-context.\r\n\t\t// This should include the national number, an optional extension or\r\n\t\t// isdn-subaddress component. Note we also handle the case when \"tel:\" is\r\n\t\t// missing, as we have seen in some of the phone number inputs.\r\n\t\t// In that case, we append everything from the beginning.\r\n\t\tconst indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_)\r\n\t\tlet indexOfNationalNumber\r\n\t\t// RFC 3966 \"tel:\" prefix is preset at this stage because\r\n\t\t// `isPhoneContextValid()` requires it to be present.\r\n\t\t/* istanbul ignore else */\r\n\t\tif (indexOfRfc3966Prefix >= 0) {\r\n\t\t\tindexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length\r\n\t\t} else {\r\n\t\t\tindexOfNationalNumber = 0\r\n\t\t}\r\n\t\tconst indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t\tphoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext)\r\n\t}\r\n\r\n\t// Delete the isdn-subaddress and everything after it if it is present.\r\n\t// Note extension won't appear at the same time with isdn-subaddress\r\n\t// according to paragraph 5.3 of the RFC3966 spec.\r\n\tconst indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_)\r\n\tif (indexOfIsdn > 0) {\r\n\t\tphoneNumberString = phoneNumberString.substring(0, indexOfIsdn)\r\n\t}\r\n\t// If both phone context and isdn-subaddress are absent but other\r\n\t// parameters are present, the parameters are left in nationalNumber.\r\n\t// This is because we are concerned about deleting content from a potential\r\n\t// number string when there is no strong evidence that the number is\r\n\t// actually written in RFC3966.\r\n\r\n\tif (phoneNumberString !== '') {\r\n\t\treturn phoneNumberString\r\n\t}\r\n}", "// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\r\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\r\n// Example: `\"tel:12133734253;phone-context=+1\"`.\r\n// This function parses the full phone number from the local number and the `phone-context`\r\n// when the `phone-context` contains a `+` sign.\r\n\r\nimport {\r\n  VALID_DIGITS,\r\n  // PLUS_CHARS\r\n} from '../constants.js'\r\n\r\nexport const PLUS_SIGN = '+'\r\n\r\nconst RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?'\r\n\r\nconst RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')'\r\n\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_ =\r\n\t'^' +\r\n\t'\\\\' +\r\n\tPLUS_SIGN +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'[' + VALID_DIGITS +  ']' +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'$'\r\n\r\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g')\r\n\r\n// In this port of Google's library, we don't accept alpha characters in phone numbers.\r\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\r\nconst ALPHANUM_ = VALID_DIGITS\r\n\r\nconst RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst VALID_ALPHA_ = 'a-zA-Z'\r\nconst RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$'\r\n\r\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g')\r\n\r\nexport const RFC3966_PREFIX_ = 'tel:'\r\nexport const RFC3966_PHONE_CONTEXT_ = ';phone-context='\r\nexport const RFC3966_ISDN_SUBADDRESS_ = ';isub='\r\n\r\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\r\nexport default function extractPhoneContext(numberToExtractFrom) {\r\n\tconst indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t// If no phone-context parameter is present\r\n\tif (indexOfPhoneContext < 0) {\r\n\t\treturn null\r\n\t}\r\n\r\n\tconst phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length\r\n\t// If phone-context parameter is empty\r\n\tif (phoneContextStart >= numberToExtractFrom.length) {\r\n\t\treturn ''\r\n\t}\r\n\r\n\tconst phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart)\r\n\t// If phone-context is not the last parameter\r\n\tif (phoneContextEnd >= 0) {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart, phoneContextEnd)\r\n\t} else {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart)\r\n\t}\r\n}\r\n\r\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\r\nexport function isPhoneContextValid(phoneContext) {\r\n\tif (phoneContext === null) {\r\n\t\treturn true\r\n\t}\r\n\r\n\tif (phoneContext.length === 0) {\r\n\t\treturn false\r\n\t}\r\n\r\n\t// Does phone-context value match pattern of global-number-digits or domainname.\r\n\treturn RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) ||\r\n\t\tRFC3966_DOMAINNAME_PATTERN_.test(phoneContext)\r\n}", "import parse from './parse.js'\r\n\r\nexport default function parsePhoneNumberWithError(text, options, metadata) {\r\n\treturn parse(text, { ...options, v2: true }, metadata)\r\n}", "import isObject from './helpers/isObject.js'\r\n\r\n// Extracts the following properties from function arguments:\r\n// * input `text`\r\n// * `options` object\r\n// * `metadata` JSON\r\nexport default function normalizeArguments(args) {\r\n\tconst [arg_1, arg_2, arg_3, arg_4] = Array.prototype.slice.call(args)\r\n\r\n\tlet text\r\n\tlet options\r\n\tlet metadata\r\n\r\n\t// If the phone number is passed as a string.\r\n\t// `parsePhoneNumber('88005553535', ...)`.\r\n\tif (typeof arg_1 === 'string') {\r\n\t\ttext = arg_1\r\n\t}\r\n\telse throw new TypeError('A text for parsing must be a string.')\r\n\r\n\t// If \"default country\" argument is being passed then move it to `options`.\r\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\r\n\tif (!arg_2 || typeof arg_2 === 'string')\r\n\t{\r\n\t\tif (arg_4) {\r\n\t\t\toptions = arg_3\r\n\t\t\tmetadata = arg_4\r\n\t\t} else {\r\n\t\t\toptions = undefined\r\n\t\t\tmetadata = arg_3\r\n\t\t}\r\n\r\n\t\tif (arg_2) {\r\n\t\t\toptions = { defaultCountry: arg_2, ...options }\r\n\t\t}\r\n\t}\r\n\t// `defaultCountry` is not passed.\r\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\r\n\telse if (isObject(arg_2))\r\n\t{\r\n\t\tif (arg_3) {\r\n\t\t\toptions  = arg_2\r\n\t\t\tmetadata = arg_3\r\n\t\t} else {\r\n\t\t\tmetadata = arg_2\r\n\t\t}\r\n\t}\r\n\telse throw new Error(`Invalid second argument: ${arg_2}`)\r\n\r\n\treturn {\r\n\t\ttext,\r\n\t\toptions,\r\n\t\tmetadata\r\n\t}\r\n}", "import { getter, forEach, split, normalizePath, join } from 'property-expr';\nimport { camelCase, snakeCase } from 'tiny-case';\nimport toposort from 'toposort';\n\nconst toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nfunction printNumber(val) {\n  if (val != +val) return 'NaN';\n  const isNegativeZero = val === 0 && 1 / val < 0;\n  return isNegativeZero ? '-0' : '' + val;\n}\nfunction printSimpleValue(val, quoteStrings = false) {\n  if (val == null || val === true || val === false) return '' + val;\n  const typeOf = typeof val;\n  if (typeOf === 'number') return printNumber(val);\n  if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n  if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n  if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n  const tag = toString.call(val).slice(8, -1);\n  if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n  if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n  if (tag === 'RegExp') return regExpToString.call(val);\n  return null;\n}\nfunction printValue(value, quoteStrings) {\n  let result = printSimpleValue(value, quoteStrings);\n  if (result !== null) return result;\n  return JSON.stringify(value, function (key, value) {\n    let result = printSimpleValue(this[key], quoteStrings);\n    if (result !== null) return result;\n    return value;\n  }, 2);\n}\n\nfunction toArray(value) {\n  return value == null ? [] : [].concat(value);\n}\n\nlet _Symbol$toStringTag, _Symbol$hasInstance, _Symbol$toStringTag2;\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\n_Symbol$toStringTag = Symbol.toStringTag;\nclass ValidationErrorNoStack {\n  constructor(errorOrErrors, value, field, type) {\n    this.name = void 0;\n    this.message = void 0;\n    this.value = void 0;\n    this.path = void 0;\n    this.type = void 0;\n    this.params = void 0;\n    this.errors = void 0;\n    this.inner = void 0;\n    this[_Symbol$toStringTag] = 'Error';\n    this.name = 'ValidationError';\n    this.value = value;\n    this.path = field;\n    this.type = type;\n    this.errors = [];\n    this.inner = [];\n    toArray(errorOrErrors).forEach(err => {\n      if (ValidationError.isError(err)) {\n        this.errors.push(...err.errors);\n        const innerErrors = err.inner.length ? err.inner : [err];\n        this.inner.push(...innerErrors);\n      } else {\n        this.errors.push(err);\n      }\n    });\n    this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n  }\n}\n_Symbol$hasInstance = Symbol.hasInstance;\n_Symbol$toStringTag2 = Symbol.toStringTag;\nclass ValidationError extends Error {\n  static formatError(message, params) {\n    const path = params.label || params.path || 'this';\n    if (path !== params.path) params = Object.assign({}, params, {\n      path\n    });\n    if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n    if (typeof message === 'function') return message(params);\n    return message;\n  }\n  static isError(err) {\n    return err && err.name === 'ValidationError';\n  }\n  constructor(errorOrErrors, value, field, type, disableStack) {\n    const errorNoStack = new ValidationErrorNoStack(errorOrErrors, value, field, type);\n    if (disableStack) {\n      return errorNoStack;\n    }\n    super();\n    this.value = void 0;\n    this.path = void 0;\n    this.type = void 0;\n    this.params = void 0;\n    this.errors = [];\n    this.inner = [];\n    this[_Symbol$toStringTag2] = 'Error';\n    this.name = errorNoStack.name;\n    this.message = errorNoStack.message;\n    this.type = errorNoStack.type;\n    this.value = errorNoStack.value;\n    this.path = errorNoStack.path;\n    this.errors = errorNoStack.errors;\n    this.inner = errorNoStack.inner;\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, ValidationError);\n    }\n  }\n  static [_Symbol$hasInstance](inst) {\n    return ValidationErrorNoStack[Symbol.hasInstance](inst) || super[Symbol.hasInstance](inst);\n  }\n}\n\nlet mixed = {\n  default: '${path} is invalid',\n  required: '${path} is a required field',\n  defined: '${path} must be defined',\n  notNull: '${path} cannot be null',\n  oneOf: '${path} must be one of the following values: ${values}',\n  notOneOf: '${path} must not be one of the following values: ${values}',\n  notType: ({\n    path,\n    type,\n    value,\n    originalValue\n  }) => {\n    const castMsg = originalValue != null && originalValue !== value ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.';\n    return type !== 'mixed' ? `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + castMsg : `${path} must match the configured type. ` + `The validated value was: \\`${printValue(value, true)}\\`` + castMsg;\n  }\n};\nlet string = {\n  length: '${path} must be exactly ${length} characters',\n  min: '${path} must be at least ${min} characters',\n  max: '${path} must be at most ${max} characters',\n  matches: '${path} must match the following: \"${regex}\"',\n  email: '${path} must be a valid email',\n  url: '${path} must be a valid URL',\n  uuid: '${path} must be a valid UUID',\n  datetime: '${path} must be a valid ISO date-time',\n  datetime_precision: '${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits',\n  datetime_offset: '${path} must be a valid ISO date-time with UTC \"Z\" timezone',\n  trim: '${path} must be a trimmed string',\n  lowercase: '${path} must be a lowercase string',\n  uppercase: '${path} must be a upper case string'\n};\nlet number = {\n  min: '${path} must be greater than or equal to ${min}',\n  max: '${path} must be less than or equal to ${max}',\n  lessThan: '${path} must be less than ${less}',\n  moreThan: '${path} must be greater than ${more}',\n  positive: '${path} must be a positive number',\n  negative: '${path} must be a negative number',\n  integer: '${path} must be an integer'\n};\nlet date = {\n  min: '${path} field must be later than ${min}',\n  max: '${path} field must be at earlier than ${max}'\n};\nlet boolean = {\n  isValue: '${path} field must be ${value}'\n};\nlet object = {\n  noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nlet array = {\n  min: '${path} field must have at least ${min} items',\n  max: '${path} field must have less than or equal to ${max} items',\n  length: '${path} must have ${length} items'\n};\nlet tuple = {\n  notType: params => {\n    const {\n      path,\n      value,\n      spec\n    } = params;\n    const typeLen = spec.types.length;\n    if (Array.isArray(value)) {\n      if (value.length < typeLen) return `${path} tuple value has too few items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n      if (value.length > typeLen) return `${path} tuple value has too many items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n    }\n    return ValidationError.formatError(mixed.notType, params);\n  }\n};\nvar locale = Object.assign(Object.create(null), {\n  mixed,\n  string,\n  number,\n  date,\n  object,\n  array,\n  boolean,\n  tuple\n});\n\nconst isSchema = obj => obj && obj.__isYupSchema__;\n\nclass Condition {\n  static fromOptions(refs, config) {\n    if (!config.then && !config.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n    let {\n      is,\n      then,\n      otherwise\n    } = config;\n    let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n    return new Condition(refs, (values, schema) => {\n      var _branch;\n      let branch = check(...values) ? then : otherwise;\n      return (_branch = branch == null ? void 0 : branch(schema)) != null ? _branch : schema;\n    });\n  }\n  constructor(refs, builder) {\n    this.fn = void 0;\n    this.refs = refs;\n    this.refs = refs;\n    this.fn = builder;\n  }\n  resolve(base, options) {\n    let values = this.refs.map(ref =>\n    // TODO: ? operator here?\n    ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n    let schema = this.fn(values, base, options);\n    if (schema === undefined ||\n    // @ts-ignore this can be base\n    schema === base) {\n      return base;\n    }\n    if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n    return schema.resolve(options);\n  }\n}\n\nconst prefixes = {\n  context: '$',\n  value: '.'\n};\nfunction create$9(key, options) {\n  return new Reference(key, options);\n}\nclass Reference {\n  constructor(key, options = {}) {\n    this.key = void 0;\n    this.isContext = void 0;\n    this.isValue = void 0;\n    this.isSibling = void 0;\n    this.path = void 0;\n    this.getter = void 0;\n    this.map = void 0;\n    if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n    this.key = key.trim();\n    if (key === '') throw new TypeError('ref must be a non-empty string');\n    this.isContext = this.key[0] === prefixes.context;\n    this.isValue = this.key[0] === prefixes.value;\n    this.isSibling = !this.isContext && !this.isValue;\n    let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n    this.path = this.key.slice(prefix.length);\n    this.getter = this.path && getter(this.path, true);\n    this.map = options.map;\n  }\n  getValue(value, parent, context) {\n    let result = this.isContext ? context : this.isValue ? value : parent;\n    if (this.getter) result = this.getter(result || {});\n    if (this.map) result = this.map(result);\n    return result;\n  }\n\n  /**\n   *\n   * @param {*} value\n   * @param {Object} options\n   * @param {Object=} options.context\n   * @param {Object=} options.parent\n   */\n  cast(value, options) {\n    return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n  }\n  resolve() {\n    return this;\n  }\n  describe() {\n    return {\n      type: 'ref',\n      key: this.key\n    };\n  }\n  toString() {\n    return `Ref(${this.key})`;\n  }\n  static isRef(value) {\n    return value && value.__isYupRef;\n  }\n}\n\n// @ts-ignore\nReference.prototype.__isYupRef = true;\n\nconst isAbsent = value => value == null;\n\nfunction createValidation(config) {\n  function validate({\n    value,\n    path = '',\n    options,\n    originalValue,\n    schema\n  }, panic, next) {\n    const {\n      name,\n      test,\n      params,\n      message,\n      skipAbsent\n    } = config;\n    let {\n      parent,\n      context,\n      abortEarly = schema.spec.abortEarly,\n      disableStackTrace = schema.spec.disableStackTrace\n    } = options;\n    function resolve(item) {\n      return Reference.isRef(item) ? item.getValue(value, parent, context) : item;\n    }\n    function createError(overrides = {}) {\n      const nextParams = Object.assign({\n        value,\n        originalValue,\n        label: schema.spec.label,\n        path: overrides.path || path,\n        spec: schema.spec,\n        disableStackTrace: overrides.disableStackTrace || disableStackTrace\n      }, params, overrides.params);\n      for (const key of Object.keys(nextParams)) nextParams[key] = resolve(nextParams[key]);\n      const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name, nextParams.disableStackTrace);\n      error.params = nextParams;\n      return error;\n    }\n    const invalid = abortEarly ? panic : next;\n    let ctx = {\n      path,\n      parent,\n      type: name,\n      from: options.from,\n      createError,\n      resolve,\n      options,\n      originalValue,\n      schema\n    };\n    const handleResult = validOrError => {\n      if (ValidationError.isError(validOrError)) invalid(validOrError);else if (!validOrError) invalid(createError());else next(null);\n    };\n    const handleError = err => {\n      if (ValidationError.isError(err)) invalid(err);else panic(err);\n    };\n    const shouldSkip = skipAbsent && isAbsent(value);\n    if (shouldSkip) {\n      return handleResult(true);\n    }\n    let result;\n    try {\n      var _result;\n      result = test.call(ctx, value, ctx);\n      if (typeof ((_result = result) == null ? void 0 : _result.then) === 'function') {\n        if (options.sync) {\n          throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n        }\n        return Promise.resolve(result).then(handleResult, handleError);\n      }\n    } catch (err) {\n      handleError(err);\n      return;\n    }\n    handleResult(result);\n  }\n  validate.OPTIONS = config;\n  return validate;\n}\n\nfunction getIn(schema, path, value, context = value) {\n  let parent, lastPart, lastPartDebug;\n\n  // root path: ''\n  if (!path) return {\n    parent,\n    parentPath: path,\n    schema\n  };\n  forEach(path, (_part, isBracket, isArray) => {\n    let part = isBracket ? _part.slice(1, _part.length - 1) : _part;\n    schema = schema.resolve({\n      context,\n      parent,\n      value\n    });\n    let isTuple = schema.type === 'tuple';\n    let idx = isArray ? parseInt(part, 10) : 0;\n    if (schema.innerType || isTuple) {\n      if (isTuple && !isArray) throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part \"${lastPartDebug}\" must contain an index to the tuple element, e.g. \"${lastPartDebug}[0]\"`);\n      if (value && idx >= value.length) {\n        throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n      }\n      parent = value;\n      value = value && value[idx];\n      schema = isTuple ? schema.spec.types[idx] : schema.innerType;\n    }\n\n    // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n    // in these cases the current part is the next schema and should be processed\n    // in this iteration. For cases where the index signature is included this\n    // check will fail and we'll handle the `child` part on the next iteration like normal\n    if (!isArray) {\n      if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema.type}\")`);\n      parent = value;\n      value = value && value[part];\n      schema = schema.fields[part];\n    }\n    lastPart = part;\n    lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n  });\n  return {\n    schema,\n    parent,\n    parentPath: lastPart\n  };\n}\nfunction reach(obj, path, value, context) {\n  return getIn(obj, path, value, context).schema;\n}\n\nclass ReferenceSet extends Set {\n  describe() {\n    const description = [];\n    for (const item of this.values()) {\n      description.push(Reference.isRef(item) ? item.describe() : item);\n    }\n    return description;\n  }\n  resolveAll(resolve) {\n    let result = [];\n    for (const item of this.values()) {\n      result.push(resolve(item));\n    }\n    return result;\n  }\n  clone() {\n    return new ReferenceSet(this.values());\n  }\n  merge(newItems, removeItems) {\n    const next = this.clone();\n    newItems.forEach(value => next.add(value));\n    removeItems.forEach(value => next.delete(value));\n    return next;\n  }\n}\n\n// tweaked from https://github.com/Kelin2025/nanoclone/blob/0abeb7635bda9b68ef2277093f76dbe3bf3948e1/src/index.js\nfunction clone(src, seen = new Map()) {\n  if (isSchema(src) || !src || typeof src !== 'object') return src;\n  if (seen.has(src)) return seen.get(src);\n  let copy;\n  if (src instanceof Date) {\n    // Date\n    copy = new Date(src.getTime());\n    seen.set(src, copy);\n  } else if (src instanceof RegExp) {\n    // RegExp\n    copy = new RegExp(src);\n    seen.set(src, copy);\n  } else if (Array.isArray(src)) {\n    // Array\n    copy = new Array(src.length);\n    seen.set(src, copy);\n    for (let i = 0; i < src.length; i++) copy[i] = clone(src[i], seen);\n  } else if (src instanceof Map) {\n    // Map\n    copy = new Map();\n    seen.set(src, copy);\n    for (const [k, v] of src.entries()) copy.set(k, clone(v, seen));\n  } else if (src instanceof Set) {\n    // Set\n    copy = new Set();\n    seen.set(src, copy);\n    for (const v of src) copy.add(clone(v, seen));\n  } else if (src instanceof Object) {\n    // Object\n    copy = {};\n    seen.set(src, copy);\n    for (const [k, v] of Object.entries(src)) copy[k] = clone(v, seen);\n  } else {\n    throw Error(`Unable to clone ${src}`);\n  }\n  return copy;\n}\n\n// If `CustomSchemaMeta` isn't extended with any keys, we'll fall back to a\n// loose Record definition allowing free form usage.\nclass Schema {\n  constructor(options) {\n    this.type = void 0;\n    this.deps = [];\n    this.tests = void 0;\n    this.transforms = void 0;\n    this.conditions = [];\n    this._mutate = void 0;\n    this.internalTests = {};\n    this._whitelist = new ReferenceSet();\n    this._blacklist = new ReferenceSet();\n    this.exclusiveTests = Object.create(null);\n    this._typeCheck = void 0;\n    this.spec = void 0;\n    this.tests = [];\n    this.transforms = [];\n    this.withMutation(() => {\n      this.typeError(mixed.notType);\n    });\n    this.type = options.type;\n    this._typeCheck = options.check;\n    this.spec = Object.assign({\n      strip: false,\n      strict: false,\n      abortEarly: true,\n      recursive: true,\n      disableStackTrace: false,\n      nullable: false,\n      optional: true,\n      coerce: true\n    }, options == null ? void 0 : options.spec);\n    this.withMutation(s => {\n      s.nonNullable();\n    });\n  }\n\n  // TODO: remove\n  get _type() {\n    return this.type;\n  }\n  clone(spec) {\n    if (this._mutate) {\n      if (spec) Object.assign(this.spec, spec);\n      return this;\n    }\n\n    // if the nested value is a schema we can skip cloning, since\n    // they are already immutable\n    const next = Object.create(Object.getPrototypeOf(this));\n\n    // @ts-expect-error this is readonly\n    next.type = this.type;\n    next._typeCheck = this._typeCheck;\n    next._whitelist = this._whitelist.clone();\n    next._blacklist = this._blacklist.clone();\n    next.internalTests = Object.assign({}, this.internalTests);\n    next.exclusiveTests = Object.assign({}, this.exclusiveTests);\n\n    // @ts-expect-error this is readonly\n    next.deps = [...this.deps];\n    next.conditions = [...this.conditions];\n    next.tests = [...this.tests];\n    next.transforms = [...this.transforms];\n    next.spec = clone(Object.assign({}, this.spec, spec));\n    return next;\n  }\n  label(label) {\n    let next = this.clone();\n    next.spec.label = label;\n    return next;\n  }\n  meta(...args) {\n    if (args.length === 0) return this.spec.meta;\n    let next = this.clone();\n    next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n    return next;\n  }\n  withMutation(fn) {\n    let before = this._mutate;\n    this._mutate = true;\n    let result = fn(this);\n    this._mutate = before;\n    return result;\n  }\n  concat(schema) {\n    if (!schema || schema === this) return this;\n    if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n    let base = this;\n    let combined = schema.clone();\n    const mergedSpec = Object.assign({}, base.spec, combined.spec);\n    combined.spec = mergedSpec;\n    combined.internalTests = Object.assign({}, base.internalTests, combined.internalTests);\n\n    // manually merge the blacklist/whitelist (the other `schema` takes\n    // precedence in case of conflicts)\n    combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n    combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist);\n\n    // start with the current tests\n    combined.tests = base.tests;\n    combined.exclusiveTests = base.exclusiveTests;\n\n    // manually add the new tests to ensure\n    // the deduping logic is consistent\n    combined.withMutation(next => {\n      schema.tests.forEach(fn => {\n        next.test(fn.OPTIONS);\n      });\n    });\n    combined.transforms = [...base.transforms, ...combined.transforms];\n    return combined;\n  }\n  isType(v) {\n    if (v == null) {\n      if (this.spec.nullable && v === null) return true;\n      if (this.spec.optional && v === undefined) return true;\n      return false;\n    }\n    return this._typeCheck(v);\n  }\n  resolve(options) {\n    let schema = this;\n    if (schema.conditions.length) {\n      let conditions = schema.conditions;\n      schema = schema.clone();\n      schema.conditions = [];\n      schema = conditions.reduce((prevSchema, condition) => condition.resolve(prevSchema, options), schema);\n      schema = schema.resolve(options);\n    }\n    return schema;\n  }\n  resolveOptions(options) {\n    var _options$strict, _options$abortEarly, _options$recursive, _options$disableStack;\n    return Object.assign({}, options, {\n      from: options.from || [],\n      strict: (_options$strict = options.strict) != null ? _options$strict : this.spec.strict,\n      abortEarly: (_options$abortEarly = options.abortEarly) != null ? _options$abortEarly : this.spec.abortEarly,\n      recursive: (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive,\n      disableStackTrace: (_options$disableStack = options.disableStackTrace) != null ? _options$disableStack : this.spec.disableStackTrace\n    });\n  }\n\n  /**\n   * Run the configured transform pipeline over an input value.\n   */\n\n  cast(value, options = {}) {\n    let resolvedSchema = this.resolve(Object.assign({\n      value\n    }, options));\n    let allowOptionality = options.assert === 'ignore-optionality';\n    let result = resolvedSchema._cast(value, options);\n    if (options.assert !== false && !resolvedSchema.isType(result)) {\n      if (allowOptionality && isAbsent(result)) {\n        return result;\n      }\n      let formattedValue = printValue(value);\n      let formattedResult = printValue(result);\n      throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema.type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n    }\n    return result;\n  }\n  _cast(rawValue, options) {\n    let value = rawValue === undefined ? rawValue : this.transforms.reduce((prevValue, fn) => fn.call(this, prevValue, rawValue, this), rawValue);\n    if (value === undefined) {\n      value = this.getDefault(options);\n    }\n    return value;\n  }\n  _validate(_value, options = {}, panic, next) {\n    let {\n      path,\n      originalValue = _value,\n      strict = this.spec.strict\n    } = options;\n    let value = _value;\n    if (!strict) {\n      value = this._cast(value, Object.assign({\n        assert: false\n      }, options));\n    }\n    let initialTests = [];\n    for (let test of Object.values(this.internalTests)) {\n      if (test) initialTests.push(test);\n    }\n    this.runTests({\n      path,\n      value,\n      originalValue,\n      options,\n      tests: initialTests\n    }, panic, initialErrors => {\n      // even if we aren't ending early we can't proceed further if the types aren't correct\n      if (initialErrors.length) {\n        return next(initialErrors, value);\n      }\n      this.runTests({\n        path,\n        value,\n        originalValue,\n        options,\n        tests: this.tests\n      }, panic, next);\n    });\n  }\n\n  /**\n   * Executes a set of validations, either schema, produced Tests or a nested\n   * schema validate result.\n   */\n  runTests(runOptions, panic, next) {\n    let fired = false;\n    let {\n      tests,\n      value,\n      originalValue,\n      path,\n      options\n    } = runOptions;\n    let panicOnce = arg => {\n      if (fired) return;\n      fired = true;\n      panic(arg, value);\n    };\n    let nextOnce = arg => {\n      if (fired) return;\n      fired = true;\n      next(arg, value);\n    };\n    let count = tests.length;\n    let nestedErrors = [];\n    if (!count) return nextOnce([]);\n    let args = {\n      value,\n      originalValue,\n      path,\n      options,\n      schema: this\n    };\n    for (let i = 0; i < tests.length; i++) {\n      const test = tests[i];\n      test(args, panicOnce, function finishTestRun(err) {\n        if (err) {\n          Array.isArray(err) ? nestedErrors.push(...err) : nestedErrors.push(err);\n        }\n        if (--count <= 0) {\n          nextOnce(nestedErrors);\n        }\n      });\n    }\n  }\n  asNestedTest({\n    key,\n    index,\n    parent,\n    parentPath,\n    originalParent,\n    options\n  }) {\n    const k = key != null ? key : index;\n    if (k == null) {\n      throw TypeError('Must include `key` or `index` for nested validations');\n    }\n    const isIndex = typeof k === 'number';\n    let value = parent[k];\n    const testOptions = Object.assign({}, options, {\n      // Nested validations fields are always strict:\n      //    1. parent isn't strict so the casting will also have cast inner values\n      //    2. parent is strict in which case the nested values weren't cast either\n      strict: true,\n      parent,\n      value,\n      originalValue: originalParent[k],\n      // FIXME: tests depend on `index` being passed around deeply,\n      //   we should not let the options.key/index bleed through\n      key: undefined,\n      // index: undefined,\n      [isIndex ? 'index' : 'key']: k,\n      path: isIndex || k.includes('.') ? `${parentPath || ''}[${isIndex ? k : `\"${k}\"`}]` : (parentPath ? `${parentPath}.` : '') + key\n    });\n    return (_, panic, next) => this.resolve(testOptions)._validate(value, testOptions, panic, next);\n  }\n  validate(value, options) {\n    var _options$disableStack2;\n    let schema = this.resolve(Object.assign({}, options, {\n      value\n    }));\n    let disableStackTrace = (_options$disableStack2 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack2 : schema.spec.disableStackTrace;\n    return new Promise((resolve, reject) => schema._validate(value, options, (error, parsed) => {\n      if (ValidationError.isError(error)) error.value = parsed;\n      reject(error);\n    }, (errors, validated) => {\n      if (errors.length) reject(new ValidationError(errors, validated, undefined, undefined, disableStackTrace));else resolve(validated);\n    }));\n  }\n  validateSync(value, options) {\n    var _options$disableStack3;\n    let schema = this.resolve(Object.assign({}, options, {\n      value\n    }));\n    let result;\n    let disableStackTrace = (_options$disableStack3 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack3 : schema.spec.disableStackTrace;\n    schema._validate(value, Object.assign({}, options, {\n      sync: true\n    }), (error, parsed) => {\n      if (ValidationError.isError(error)) error.value = parsed;\n      throw error;\n    }, (errors, validated) => {\n      if (errors.length) throw new ValidationError(errors, value, undefined, undefined, disableStackTrace);\n      result = validated;\n    });\n    return result;\n  }\n  isValid(value, options) {\n    return this.validate(value, options).then(() => true, err => {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    });\n  }\n  isValidSync(value, options) {\n    try {\n      this.validateSync(value, options);\n      return true;\n    } catch (err) {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    }\n  }\n  _getDefault(options) {\n    let defaultValue = this.spec.default;\n    if (defaultValue == null) {\n      return defaultValue;\n    }\n    return typeof defaultValue === 'function' ? defaultValue.call(this, options) : clone(defaultValue);\n  }\n  getDefault(options\n  // If schema is defaulted we know it's at least not undefined\n  ) {\n    let schema = this.resolve(options || {});\n    return schema._getDefault(options);\n  }\n  default(def) {\n    if (arguments.length === 0) {\n      return this._getDefault();\n    }\n    let next = this.clone({\n      default: def\n    });\n    return next;\n  }\n  strict(isStrict = true) {\n    return this.clone({\n      strict: isStrict\n    });\n  }\n  nullability(nullable, message) {\n    const next = this.clone({\n      nullable\n    });\n    next.internalTests.nullable = createValidation({\n      message,\n      name: 'nullable',\n      test(value) {\n        return value === null ? this.schema.spec.nullable : true;\n      }\n    });\n    return next;\n  }\n  optionality(optional, message) {\n    const next = this.clone({\n      optional\n    });\n    next.internalTests.optionality = createValidation({\n      message,\n      name: 'optionality',\n      test(value) {\n        return value === undefined ? this.schema.spec.optional : true;\n      }\n    });\n    return next;\n  }\n  optional() {\n    return this.optionality(true);\n  }\n  defined(message = mixed.defined) {\n    return this.optionality(false, message);\n  }\n  nullable() {\n    return this.nullability(true);\n  }\n  nonNullable(message = mixed.notNull) {\n    return this.nullability(false, message);\n  }\n  required(message = mixed.required) {\n    return this.clone().withMutation(next => next.nonNullable(message).defined(message));\n  }\n  notRequired() {\n    return this.clone().withMutation(next => next.nullable().optional());\n  }\n  transform(fn) {\n    let next = this.clone();\n    next.transforms.push(fn);\n    return next;\n  }\n\n  /**\n   * Adds a test function to the schema's queue of tests.\n   * tests can be exclusive or non-exclusive.\n   *\n   * - exclusive tests, will replace any existing tests of the same name.\n   * - non-exclusive: can be stacked\n   *\n   * If a non-exclusive test is added to a schema with an exclusive test of the same name\n   * the exclusive test is removed and further tests of the same name will be stacked.\n   *\n   * If an exclusive test is added to a schema with non-exclusive tests of the same name\n   * the previous tests are removed and further tests of the same name will replace each other.\n   */\n\n  test(...args) {\n    let opts;\n    if (args.length === 1) {\n      if (typeof args[0] === 'function') {\n        opts = {\n          test: args[0]\n        };\n      } else {\n        opts = args[0];\n      }\n    } else if (args.length === 2) {\n      opts = {\n        name: args[0],\n        test: args[1]\n      };\n    } else {\n      opts = {\n        name: args[0],\n        message: args[1],\n        test: args[2]\n      };\n    }\n    if (opts.message === undefined) opts.message = mixed.default;\n    if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n    let next = this.clone();\n    let validate = createValidation(opts);\n    let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n    if (opts.exclusive) {\n      if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n    }\n    if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n    next.tests = next.tests.filter(fn => {\n      if (fn.OPTIONS.name === opts.name) {\n        if (isExclusive) return false;\n        if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n      }\n      return true;\n    });\n    next.tests.push(validate);\n    return next;\n  }\n  when(keys, options) {\n    if (!Array.isArray(keys) && typeof keys !== 'string') {\n      options = keys;\n      keys = '.';\n    }\n    let next = this.clone();\n    let deps = toArray(keys).map(key => new Reference(key));\n    deps.forEach(dep => {\n      // @ts-ignore readonly array\n      if (dep.isSibling) next.deps.push(dep.key);\n    });\n    next.conditions.push(typeof options === 'function' ? new Condition(deps, options) : Condition.fromOptions(deps, options));\n    return next;\n  }\n  typeError(message) {\n    let next = this.clone();\n    next.internalTests.typeError = createValidation({\n      message,\n      name: 'typeError',\n      skipAbsent: true,\n      test(value) {\n        if (!this.schema._typeCheck(value)) return this.createError({\n          params: {\n            type: this.schema.type\n          }\n        });\n        return true;\n      }\n    });\n    return next;\n  }\n  oneOf(enums, message = mixed.oneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._whitelist.add(val);\n      next._blacklist.delete(val);\n    });\n    next.internalTests.whiteList = createValidation({\n      message,\n      name: 'oneOf',\n      skipAbsent: true,\n      test(value) {\n        let valids = this.schema._whitelist;\n        let resolved = valids.resolveAll(this.resolve);\n        return resolved.includes(value) ? true : this.createError({\n          params: {\n            values: Array.from(valids).join(', '),\n            resolved\n          }\n        });\n      }\n    });\n    return next;\n  }\n  notOneOf(enums, message = mixed.notOneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._blacklist.add(val);\n      next._whitelist.delete(val);\n    });\n    next.internalTests.blacklist = createValidation({\n      message,\n      name: 'notOneOf',\n      test(value) {\n        let invalids = this.schema._blacklist;\n        let resolved = invalids.resolveAll(this.resolve);\n        if (resolved.includes(value)) return this.createError({\n          params: {\n            values: Array.from(invalids).join(', '),\n            resolved\n          }\n        });\n        return true;\n      }\n    });\n    return next;\n  }\n  strip(strip = true) {\n    let next = this.clone();\n    next.spec.strip = strip;\n    return next;\n  }\n\n  /**\n   * Return a serialized description of the schema including validations, flags, types etc.\n   *\n   * @param options Provide any needed context for resolving runtime schema alterations (lazy, when conditions, etc).\n   */\n  describe(options) {\n    const next = (options ? this.resolve(options) : this).clone();\n    const {\n      label,\n      meta,\n      optional,\n      nullable\n    } = next.spec;\n    const description = {\n      meta,\n      label,\n      optional,\n      nullable,\n      default: next.getDefault(options),\n      type: next.type,\n      oneOf: next._whitelist.describe(),\n      notOneOf: next._blacklist.describe(),\n      tests: next.tests.map(fn => ({\n        name: fn.OPTIONS.name,\n        params: fn.OPTIONS.params\n      })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n    };\n    return description;\n  }\n}\n// @ts-expect-error\nSchema.prototype.__isYupSchema__ = true;\nfor (const method of ['validate', 'validateSync']) Schema.prototype[`${method}At`] = function (path, value, options = {}) {\n  const {\n    parent,\n    parentPath,\n    schema\n  } = getIn(this, path, value, options.context);\n  return schema[method](parent && parent[parentPath], Object.assign({}, options, {\n    parent,\n    path\n  }));\n};\nfor (const alias of ['equals', 'is']) Schema.prototype[alias] = Schema.prototype.oneOf;\nfor (const alias of ['not', 'nope']) Schema.prototype[alias] = Schema.prototype.notOneOf;\n\nconst returnsTrue = () => true;\nfunction create$8(spec) {\n  return new MixedSchema(spec);\n}\nclass MixedSchema extends Schema {\n  constructor(spec) {\n    super(typeof spec === 'function' ? {\n      type: 'mixed',\n      check: spec\n    } : Object.assign({\n      type: 'mixed',\n      check: returnsTrue\n    }, spec));\n  }\n}\ncreate$8.prototype = MixedSchema.prototype;\n\nfunction create$7() {\n  return new BooleanSchema();\n}\nclass BooleanSchema extends Schema {\n  constructor() {\n    super({\n      type: 'boolean',\n      check(v) {\n        if (v instanceof Boolean) v = v.valueOf();\n        return typeof v === 'boolean';\n      }\n    });\n    this.withMutation(() => {\n      this.transform((value, _raw, ctx) => {\n        if (ctx.spec.coerce && !ctx.isType(value)) {\n          if (/^(true|1)$/i.test(String(value))) return true;\n          if (/^(false|0)$/i.test(String(value))) return false;\n        }\n        return value;\n      });\n    });\n  }\n  isTrue(message = boolean.isValue) {\n    return this.test({\n      message,\n      name: 'is-value',\n      exclusive: true,\n      params: {\n        value: 'true'\n      },\n      test(value) {\n        return isAbsent(value) || value === true;\n      }\n    });\n  }\n  isFalse(message = boolean.isValue) {\n    return this.test({\n      message,\n      name: 'is-value',\n      exclusive: true,\n      params: {\n        value: 'false'\n      },\n      test(value) {\n        return isAbsent(value) || value === false;\n      }\n    });\n  }\n  default(def) {\n    return super.default(def);\n  }\n  defined(msg) {\n    return super.defined(msg);\n  }\n  optional() {\n    return super.optional();\n  }\n  required(msg) {\n    return super.required(msg);\n  }\n  notRequired() {\n    return super.notRequired();\n  }\n  nullable() {\n    return super.nullable();\n  }\n  nonNullable(msg) {\n    return super.nonNullable(msg);\n  }\n  strip(v) {\n    return super.strip(v);\n  }\n}\ncreate$7.prototype = BooleanSchema.prototype;\n\n/**\n * This file is a modified version of the file from the following repository:\n * Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>\n * NON-CONFORMANT EDITION.\n * \u00A9 2011 Colin Snover <http://zetafleet.com>\n * Released under MIT license.\n */\n\n// prettier-ignore\n//                1 YYYY                2 MM        3 DD              4 HH     5 mm        6 ss           7 msec         8 Z 9 \u00B1   10 tzHH    11 tzmm\nconst isoReg = /^(\\d{4}|[+-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,.](\\d{1,}))?)?(?:(Z)|([+-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nfunction parseIsoDate(date) {\n  const struct = parseDateStruct(date);\n  if (!struct) return Date.parse ? Date.parse(date) : Number.NaN;\n\n  // timestamps without timezone identifiers should be considered local time\n  if (struct.z === undefined && struct.plusMinus === undefined) {\n    return new Date(struct.year, struct.month, struct.day, struct.hour, struct.minute, struct.second, struct.millisecond).valueOf();\n  }\n  let totalMinutesOffset = 0;\n  if (struct.z !== 'Z' && struct.plusMinus !== undefined) {\n    totalMinutesOffset = struct.hourOffset * 60 + struct.minuteOffset;\n    if (struct.plusMinus === '+') totalMinutesOffset = 0 - totalMinutesOffset;\n  }\n  return Date.UTC(struct.year, struct.month, struct.day, struct.hour, struct.minute + totalMinutesOffset, struct.second, struct.millisecond);\n}\nfunction parseDateStruct(date) {\n  var _regexResult$7$length, _regexResult$;\n  const regexResult = isoReg.exec(date);\n  if (!regexResult) return null;\n\n  // use of toNumber() avoids NaN timestamps caused by \u201Cundefined\u201D\n  // values being passed to Date constructor\n  return {\n    year: toNumber(regexResult[1]),\n    month: toNumber(regexResult[2], 1) - 1,\n    day: toNumber(regexResult[3], 1),\n    hour: toNumber(regexResult[4]),\n    minute: toNumber(regexResult[5]),\n    second: toNumber(regexResult[6]),\n    millisecond: regexResult[7] ?\n    // allow arbitrary sub-second precision beyond milliseconds\n    toNumber(regexResult[7].substring(0, 3)) : 0,\n    precision: (_regexResult$7$length = (_regexResult$ = regexResult[7]) == null ? void 0 : _regexResult$.length) != null ? _regexResult$7$length : undefined,\n    z: regexResult[8] || undefined,\n    plusMinus: regexResult[9] || undefined,\n    hourOffset: toNumber(regexResult[10]),\n    minuteOffset: toNumber(regexResult[11])\n  };\n}\nfunction toNumber(str, defaultValue = 0) {\n  return Number(str) || defaultValue;\n}\n\n// Taken from HTML spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address\nlet rEmail =\n// eslint-disable-next-line\n/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\nlet rUrl =\n// eslint-disable-next-line\n/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\n// eslint-disable-next-line\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nlet yearMonthDay = '^\\\\d{4}-\\\\d{2}-\\\\d{2}';\nlet hourMinuteSecond = '\\\\d{2}:\\\\d{2}:\\\\d{2}';\nlet zOrOffset = '(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)';\nlet rIsoDateTime = new RegExp(`${yearMonthDay}T${hourMinuteSecond}(\\\\.\\\\d+)?${zOrOffset}$`);\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\nlet objStringTag = {}.toString();\nfunction create$6() {\n  return new StringSchema();\n}\nclass StringSchema extends Schema {\n  constructor() {\n    super({\n      type: 'string',\n      check(value) {\n        if (value instanceof String) value = value.valueOf();\n        return typeof value === 'string';\n      }\n    });\n    this.withMutation(() => {\n      this.transform((value, _raw, ctx) => {\n        if (!ctx.spec.coerce || ctx.isType(value)) return value;\n\n        // don't ever convert arrays\n        if (Array.isArray(value)) return value;\n        const strValue = value != null && value.toString ? value.toString() : value;\n\n        // no one wants plain objects converted to [Object object]\n        if (strValue === objStringTag) return value;\n        return strValue;\n      });\n    });\n  }\n  required(message) {\n    return super.required(message).withMutation(schema => schema.test({\n      message: message || mixed.required,\n      name: 'required',\n      skipAbsent: true,\n      test: value => !!value.length\n    }));\n  }\n  notRequired() {\n    return super.notRequired().withMutation(schema => {\n      schema.tests = schema.tests.filter(t => t.OPTIONS.name !== 'required');\n      return schema;\n    });\n  }\n  length(length, message = string.length) {\n    return this.test({\n      message,\n      name: 'length',\n      exclusive: true,\n      params: {\n        length\n      },\n      skipAbsent: true,\n      test(value) {\n        return value.length === this.resolve(length);\n      }\n    });\n  }\n  min(min, message = string.min) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n      skipAbsent: true,\n      test(value) {\n        return value.length >= this.resolve(min);\n      }\n    });\n  }\n  max(max, message = string.max) {\n    return this.test({\n      name: 'max',\n      exclusive: true,\n      message,\n      params: {\n        max\n      },\n      skipAbsent: true,\n      test(value) {\n        return value.length <= this.resolve(max);\n      }\n    });\n  }\n  matches(regex, options) {\n    let excludeEmptyString = false;\n    let message;\n    let name;\n    if (options) {\n      if (typeof options === 'object') {\n        ({\n          excludeEmptyString = false,\n          message,\n          name\n        } = options);\n      } else {\n        message = options;\n      }\n    }\n    return this.test({\n      name: name || 'matches',\n      message: message || string.matches,\n      params: {\n        regex\n      },\n      skipAbsent: true,\n      test: value => value === '' && excludeEmptyString || value.search(regex) !== -1\n    });\n  }\n  email(message = string.email) {\n    return this.matches(rEmail, {\n      name: 'email',\n      message,\n      excludeEmptyString: true\n    });\n  }\n  url(message = string.url) {\n    return this.matches(rUrl, {\n      name: 'url',\n      message,\n      excludeEmptyString: true\n    });\n  }\n  uuid(message = string.uuid) {\n    return this.matches(rUUID, {\n      name: 'uuid',\n      message,\n      excludeEmptyString: false\n    });\n  }\n  datetime(options) {\n    let message = '';\n    let allowOffset;\n    let precision;\n    if (options) {\n      if (typeof options === 'object') {\n        ({\n          message = '',\n          allowOffset = false,\n          precision = undefined\n        } = options);\n      } else {\n        message = options;\n      }\n    }\n    return this.matches(rIsoDateTime, {\n      name: 'datetime',\n      message: message || string.datetime,\n      excludeEmptyString: true\n    }).test({\n      name: 'datetime_offset',\n      message: message || string.datetime_offset,\n      params: {\n        allowOffset\n      },\n      skipAbsent: true,\n      test: value => {\n        if (!value || allowOffset) return true;\n        const struct = parseDateStruct(value);\n        if (!struct) return false;\n        return !!struct.z;\n      }\n    }).test({\n      name: 'datetime_precision',\n      message: message || string.datetime_precision,\n      params: {\n        precision\n      },\n      skipAbsent: true,\n      test: value => {\n        if (!value || precision == undefined) return true;\n        const struct = parseDateStruct(value);\n        if (!struct) return false;\n        return struct.precision === precision;\n      }\n    });\n  }\n\n  //-- transforms --\n  ensure() {\n    return this.default('').transform(val => val === null ? '' : val);\n  }\n  trim(message = string.trim) {\n    return this.transform(val => val != null ? val.trim() : val).test({\n      message,\n      name: 'trim',\n      test: isTrimmed\n    });\n  }\n  lowercase(message = string.lowercase) {\n    return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      skipAbsent: true,\n      test: value => isAbsent(value) || value === value.toLowerCase()\n    });\n  }\n  uppercase(message = string.uppercase) {\n    return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      skipAbsent: true,\n      test: value => isAbsent(value) || value === value.toUpperCase()\n    });\n  }\n}\ncreate$6.prototype = StringSchema.prototype;\n\n//\n// String Interfaces\n//\n\nlet isNaN$1 = value => value != +value;\nfunction create$5() {\n  return new NumberSchema();\n}\nclass NumberSchema extends Schema {\n  constructor() {\n    super({\n      type: 'number',\n      check(value) {\n        if (value instanceof Number) value = value.valueOf();\n        return typeof value === 'number' && !isNaN$1(value);\n      }\n    });\n    this.withMutation(() => {\n      this.transform((value, _raw, ctx) => {\n        if (!ctx.spec.coerce) return value;\n        let parsed = value;\n        if (typeof parsed === 'string') {\n          parsed = parsed.replace(/\\s/g, '');\n          if (parsed === '') return NaN;\n          // don't use parseFloat to avoid positives on alpha-numeric strings\n          parsed = +parsed;\n        }\n\n        // null -> NaN isn't useful; treat all nulls as null and let it fail on\n        // nullability check vs TypeErrors\n        if (ctx.isType(parsed) || parsed === null) return parsed;\n        return parseFloat(parsed);\n      });\n    });\n  }\n  min(min, message = number.min) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n      skipAbsent: true,\n      test(value) {\n        return value >= this.resolve(min);\n      }\n    });\n  }\n  max(max, message = number.max) {\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n      skipAbsent: true,\n      test(value) {\n        return value <= this.resolve(max);\n      }\n    });\n  }\n  lessThan(less, message = number.lessThan) {\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        less\n      },\n      skipAbsent: true,\n      test(value) {\n        return value < this.resolve(less);\n      }\n    });\n  }\n  moreThan(more, message = number.moreThan) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        more\n      },\n      skipAbsent: true,\n      test(value) {\n        return value > this.resolve(more);\n      }\n    });\n  }\n  positive(msg = number.positive) {\n    return this.moreThan(0, msg);\n  }\n  negative(msg = number.negative) {\n    return this.lessThan(0, msg);\n  }\n  integer(message = number.integer) {\n    return this.test({\n      name: 'integer',\n      message,\n      skipAbsent: true,\n      test: val => Number.isInteger(val)\n    });\n  }\n  truncate() {\n    return this.transform(value => !isAbsent(value) ? value | 0 : value);\n  }\n  round(method) {\n    var _method;\n    let avail = ['ceil', 'floor', 'round', 'trunc'];\n    method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round';\n\n    // this exists for symemtry with the new Math.trunc\n    if (method === 'trunc') return this.truncate();\n    if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n    return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n  }\n}\ncreate$5.prototype = NumberSchema.prototype;\n\n//\n// Number Interfaces\n//\n\nlet invalidDate = new Date('');\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\nfunction create$4() {\n  return new DateSchema();\n}\nclass DateSchema extends Schema {\n  constructor() {\n    super({\n      type: 'date',\n      check(v) {\n        return isDate(v) && !isNaN(v.getTime());\n      }\n    });\n    this.withMutation(() => {\n      this.transform((value, _raw, ctx) => {\n        // null -> InvalidDate isn't useful; treat all nulls as null and let it fail on\n        // nullability check vs TypeErrors\n        if (!ctx.spec.coerce || ctx.isType(value) || value === null) return value;\n        value = parseIsoDate(value);\n\n        // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n        return !isNaN(value) ? new Date(value) : DateSchema.INVALID_DATE;\n      });\n    });\n  }\n  prepareParam(ref, name) {\n    let param;\n    if (!Reference.isRef(ref)) {\n      let cast = this.cast(ref);\n      if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n      param = cast;\n    } else {\n      param = ref;\n    }\n    return param;\n  }\n  min(min, message = date.min) {\n    let limit = this.prepareParam(min, 'min');\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n      skipAbsent: true,\n      test(value) {\n        return value >= this.resolve(limit);\n      }\n    });\n  }\n  max(max, message = date.max) {\n    let limit = this.prepareParam(max, 'max');\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n      skipAbsent: true,\n      test(value) {\n        return value <= this.resolve(limit);\n      }\n    });\n  }\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate$4.prototype = DateSchema.prototype;\ncreate$4.INVALID_DATE = invalidDate;\n\n// @ts-expect-error\nfunction sortFields(fields, excludedEdges = []) {\n  let edges = [];\n  let nodes = new Set();\n  let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n  function addNode(depPath, key) {\n    let node = split(depPath)[0];\n    nodes.add(node);\n    if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n  }\n  for (const key of Object.keys(fields)) {\n    let value = fields[key];\n    nodes.add(key);\n    if (Reference.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n  }\n  return toposort.array(Array.from(nodes), edges).reverse();\n}\n\nfunction findIndex(arr, err) {\n  let idx = Infinity;\n  arr.some((key, ii) => {\n    var _err$path;\n    if ((_err$path = err.path) != null && _err$path.includes(key)) {\n      idx = ii;\n      return true;\n    }\n  });\n  return idx;\n}\nfunction sortByKeyOrder(keys) {\n  return (a, b) => {\n    return findIndex(keys, a) - findIndex(keys, b);\n  };\n}\n\nconst parseJson = (value, _, ctx) => {\n  if (typeof value !== 'string') {\n    return value;\n  }\n  let parsed = value;\n  try {\n    parsed = JSON.parse(value);\n  } catch (err) {\n    /* */\n  }\n  return ctx.isType(parsed) ? parsed : value;\n};\n\n// @ts-ignore\nfunction deepPartial(schema) {\n  if ('fields' in schema) {\n    const partial = {};\n    for (const [key, fieldSchema] of Object.entries(schema.fields)) {\n      partial[key] = deepPartial(fieldSchema);\n    }\n    return schema.setFields(partial);\n  }\n  if (schema.type === 'array') {\n    const nextArray = schema.optional();\n    if (nextArray.innerType) nextArray.innerType = deepPartial(nextArray.innerType);\n    return nextArray;\n  }\n  if (schema.type === 'tuple') {\n    return schema.optional().clone({\n      types: schema.spec.types.map(deepPartial)\n    });\n  }\n  if ('optional' in schema) {\n    return schema.optional();\n  }\n  return schema;\n}\nconst deepHas = (obj, p) => {\n  const path = [...normalizePath(p)];\n  if (path.length === 1) return path[0] in obj;\n  let last = path.pop();\n  let parent = getter(join(path), true)(obj);\n  return !!(parent && last in parent);\n};\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\nfunction unknown(ctx, value) {\n  let known = Object.keys(ctx.fields);\n  return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\nconst defaultSort = sortByKeyOrder([]);\nfunction create$3(spec) {\n  return new ObjectSchema(spec);\n}\nclass ObjectSchema extends Schema {\n  constructor(spec) {\n    super({\n      type: 'object',\n      check(value) {\n        return isObject(value) || typeof value === 'function';\n      }\n    });\n    this.fields = Object.create(null);\n    this._sortErrors = defaultSort;\n    this._nodes = [];\n    this._excludedEdges = [];\n    this.withMutation(() => {\n      if (spec) {\n        this.shape(spec);\n      }\n    });\n  }\n  _cast(_value, options = {}) {\n    var _options$stripUnknown;\n    let value = super._cast(_value, options);\n\n    //should ignore nulls here\n    if (value === undefined) return this.getDefault(options);\n    if (!this._typeCheck(value)) return value;\n    let fields = this.fields;\n    let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n    let props = [].concat(this._nodes, Object.keys(value).filter(v => !this._nodes.includes(v)));\n    let intermediateValue = {}; // is filled during the transform below\n    let innerOptions = Object.assign({}, options, {\n      parent: intermediateValue,\n      __validating: options.__validating || false\n    });\n    let isChanged = false;\n    for (const prop of props) {\n      let field = fields[prop];\n      let exists = (prop in value);\n      if (field) {\n        let fieldValue;\n        let inputValue = value[prop];\n\n        // safe to mutate since this is fired in sequence\n        innerOptions.path = (options.path ? `${options.path}.` : '') + prop;\n        field = field.resolve({\n          value: inputValue,\n          context: options.context,\n          parent: intermediateValue\n        });\n        let fieldSpec = field instanceof Schema ? field.spec : undefined;\n        let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n        if (fieldSpec != null && fieldSpec.strip) {\n          isChanged = isChanged || prop in value;\n          continue;\n        }\n        fieldValue = !options.__validating || !strict ?\n        // TODO: use _cast, this is double resolving\n        field.cast(value[prop], innerOptions) : value[prop];\n        if (fieldValue !== undefined) {\n          intermediateValue[prop] = fieldValue;\n        }\n      } else if (exists && !strip) {\n        intermediateValue[prop] = value[prop];\n      }\n      if (exists !== prop in intermediateValue || intermediateValue[prop] !== value[prop]) {\n        isChanged = true;\n      }\n    }\n    return isChanged ? intermediateValue : value;\n  }\n  _validate(_value, options = {}, panic, next) {\n    let {\n      from = [],\n      originalValue = _value,\n      recursive = this.spec.recursive\n    } = options;\n    options.from = [{\n      schema: this,\n      value: originalValue\n    }, ...from];\n    // this flag is needed for handling `strict` correctly in the context of\n    // validation vs just casting. e.g strict() on a field is only used when validating\n    options.__validating = true;\n    options.originalValue = originalValue;\n    super._validate(_value, options, panic, (objectErrors, value) => {\n      if (!recursive || !isObject(value)) {\n        next(objectErrors, value);\n        return;\n      }\n      originalValue = originalValue || value;\n      let tests = [];\n      for (let key of this._nodes) {\n        let field = this.fields[key];\n        if (!field || Reference.isRef(field)) {\n          continue;\n        }\n        tests.push(field.asNestedTest({\n          options,\n          key,\n          parent: value,\n          parentPath: options.path,\n          originalParent: originalValue\n        }));\n      }\n      this.runTests({\n        tests,\n        value,\n        originalValue,\n        options\n      }, panic, fieldErrors => {\n        next(fieldErrors.sort(this._sortErrors).concat(objectErrors), value);\n      });\n    });\n  }\n  clone(spec) {\n    const next = super.clone(spec);\n    next.fields = Object.assign({}, this.fields);\n    next._nodes = this._nodes;\n    next._excludedEdges = this._excludedEdges;\n    next._sortErrors = this._sortErrors;\n    return next;\n  }\n  concat(schema) {\n    let next = super.concat(schema);\n    let nextFields = next.fields;\n    for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n      const target = nextFields[field];\n      nextFields[field] = target === undefined ? schemaOrRef : target;\n    }\n    return next.withMutation(s =>\n    // XXX: excludes here is wrong\n    s.setFields(nextFields, [...this._excludedEdges, ...schema._excludedEdges]));\n  }\n  _getDefault(options) {\n    if ('default' in this.spec) {\n      return super._getDefault(options);\n    }\n\n    // if there is no default set invent one\n    if (!this._nodes.length) {\n      return undefined;\n    }\n    let dft = {};\n    this._nodes.forEach(key => {\n      var _innerOptions;\n      const field = this.fields[key];\n      let innerOptions = options;\n      if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n        innerOptions = Object.assign({}, innerOptions, {\n          parent: innerOptions.value,\n          value: innerOptions.value[key]\n        });\n      }\n      dft[key] = field && 'getDefault' in field ? field.getDefault(innerOptions) : undefined;\n    });\n    return dft;\n  }\n  setFields(shape, excludedEdges) {\n    let next = this.clone();\n    next.fields = shape;\n    next._nodes = sortFields(shape, excludedEdges);\n    next._sortErrors = sortByKeyOrder(Object.keys(shape));\n    // XXX: this carries over edges which may not be what you want\n    if (excludedEdges) next._excludedEdges = excludedEdges;\n    return next;\n  }\n  shape(additions, excludes = []) {\n    return this.clone().withMutation(next => {\n      let edges = next._excludedEdges;\n      if (excludes.length) {\n        if (!Array.isArray(excludes[0])) excludes = [excludes];\n        edges = [...next._excludedEdges, ...excludes];\n      }\n\n      // XXX: excludes here is wrong\n      return next.setFields(Object.assign(next.fields, additions), edges);\n    });\n  }\n  partial() {\n    const partial = {};\n    for (const [key, schema] of Object.entries(this.fields)) {\n      partial[key] = 'optional' in schema && schema.optional instanceof Function ? schema.optional() : schema;\n    }\n    return this.setFields(partial);\n  }\n  deepPartial() {\n    const next = deepPartial(this);\n    return next;\n  }\n  pick(keys) {\n    const picked = {};\n    for (const key of keys) {\n      if (this.fields[key]) picked[key] = this.fields[key];\n    }\n    return this.setFields(picked, this._excludedEdges.filter(([a, b]) => keys.includes(a) && keys.includes(b)));\n  }\n  omit(keys) {\n    const remaining = [];\n    for (const key of Object.keys(this.fields)) {\n      if (keys.includes(key)) continue;\n      remaining.push(key);\n    }\n    return this.pick(remaining);\n  }\n  from(from, to, alias) {\n    let fromGetter = getter(from, true);\n    return this.transform(obj => {\n      if (!obj) return obj;\n      let newObj = obj;\n      if (deepHas(obj, from)) {\n        newObj = Object.assign({}, obj);\n        if (!alias) delete newObj[from];\n        newObj[to] = fromGetter(obj);\n      }\n      return newObj;\n    });\n  }\n\n  /** Parse an input JSON string to an object */\n  json() {\n    return this.transform(parseJson);\n  }\n  noUnknown(noAllow = true, message = object.noUnknown) {\n    if (typeof noAllow !== 'boolean') {\n      message = noAllow;\n      noAllow = true;\n    }\n    let next = this.test({\n      name: 'noUnknown',\n      exclusive: true,\n      message: message,\n      test(value) {\n        if (value == null) return true;\n        const unknownKeys = unknown(this.schema, value);\n        return !noAllow || unknownKeys.length === 0 || this.createError({\n          params: {\n            unknown: unknownKeys.join(', ')\n          }\n        });\n      }\n    });\n    next.spec.noUnknown = noAllow;\n    return next;\n  }\n  unknown(allow = true, message = object.noUnknown) {\n    return this.noUnknown(!allow, message);\n  }\n  transformKeys(fn) {\n    return this.transform(obj => {\n      if (!obj) return obj;\n      const result = {};\n      for (const key of Object.keys(obj)) result[fn(key)] = obj[key];\n      return result;\n    });\n  }\n  camelCase() {\n    return this.transformKeys(camelCase);\n  }\n  snakeCase() {\n    return this.transformKeys(snakeCase);\n  }\n  constantCase() {\n    return this.transformKeys(key => snakeCase(key).toUpperCase());\n  }\n  describe(options) {\n    const next = (options ? this.resolve(options) : this).clone();\n    const base = super.describe(options);\n    base.fields = {};\n    for (const [key, value] of Object.entries(next.fields)) {\n      var _innerOptions2;\n      let innerOptions = options;\n      if ((_innerOptions2 = innerOptions) != null && _innerOptions2.value) {\n        innerOptions = Object.assign({}, innerOptions, {\n          parent: innerOptions.value,\n          value: innerOptions.value[key]\n        });\n      }\n      base.fields[key] = value.describe(innerOptions);\n    }\n    return base;\n  }\n}\ncreate$3.prototype = ObjectSchema.prototype;\n\nfunction create$2(type) {\n  return new ArraySchema(type);\n}\nclass ArraySchema extends Schema {\n  constructor(type) {\n    super({\n      type: 'array',\n      spec: {\n        types: type\n      },\n      check(v) {\n        return Array.isArray(v);\n      }\n    });\n\n    // `undefined` specifically means uninitialized, as opposed to \"no subtype\"\n    this.innerType = void 0;\n    this.innerType = type;\n  }\n  _cast(_value, _opts) {\n    const value = super._cast(_value, _opts);\n\n    // should ignore nulls here\n    if (!this._typeCheck(value) || !this.innerType) {\n      return value;\n    }\n    let isChanged = false;\n    const castArray = value.map((v, idx) => {\n      const castElement = this.innerType.cast(v, Object.assign({}, _opts, {\n        path: `${_opts.path || ''}[${idx}]`\n      }));\n      if (castElement !== v) {\n        isChanged = true;\n      }\n      return castElement;\n    });\n    return isChanged ? castArray : value;\n  }\n  _validate(_value, options = {}, panic, next) {\n    var _options$recursive;\n    // let sync = options.sync;\n    // let path = options.path;\n    let innerType = this.innerType;\n    // let endEarly = options.abortEarly ?? this.spec.abortEarly;\n    let recursive = (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive;\n    options.originalValue != null ? options.originalValue : _value;\n    super._validate(_value, options, panic, (arrayErrors, value) => {\n      var _options$originalValu2;\n      if (!recursive || !innerType || !this._typeCheck(value)) {\n        next(arrayErrors, value);\n        return;\n      }\n\n      // #950 Ensure that sparse array empty slots are validated\n      let tests = new Array(value.length);\n      for (let index = 0; index < value.length; index++) {\n        var _options$originalValu;\n        tests[index] = innerType.asNestedTest({\n          options,\n          index,\n          parent: value,\n          parentPath: options.path,\n          originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n        });\n      }\n      this.runTests({\n        value,\n        tests,\n        originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n        options\n      }, panic, innerTypeErrors => next(innerTypeErrors.concat(arrayErrors), value));\n    });\n  }\n  clone(spec) {\n    const next = super.clone(spec);\n    // @ts-expect-error readonly\n    next.innerType = this.innerType;\n    return next;\n  }\n\n  /** Parse an input JSON string to an object */\n  json() {\n    return this.transform(parseJson);\n  }\n  concat(schema) {\n    let next = super.concat(schema);\n\n    // @ts-expect-error readonly\n    next.innerType = this.innerType;\n    if (schema.innerType)\n      // @ts-expect-error readonly\n      next.innerType = next.innerType ?\n      // @ts-expect-error Lazy doesn't have concat and will break\n      next.innerType.concat(schema.innerType) : schema.innerType;\n    return next;\n  }\n  of(schema) {\n    // FIXME: this should return a new instance of array without the default to be\n    let next = this.clone();\n    if (!isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema not: ' + printValue(schema));\n\n    // @ts-expect-error readonly\n    next.innerType = schema;\n    next.spec = Object.assign({}, next.spec, {\n      types: schema\n    });\n    return next;\n  }\n  length(length, message = array.length) {\n    return this.test({\n      message,\n      name: 'length',\n      exclusive: true,\n      params: {\n        length\n      },\n      skipAbsent: true,\n      test(value) {\n        return value.length === this.resolve(length);\n      }\n    });\n  }\n  min(min, message) {\n    message = message || array.min;\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n      skipAbsent: true,\n      // FIXME(ts): Array<typeof T>\n      test(value) {\n        return value.length >= this.resolve(min);\n      }\n    });\n  }\n  max(max, message) {\n    message = message || array.max;\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n      skipAbsent: true,\n      test(value) {\n        return value.length <= this.resolve(max);\n      }\n    });\n  }\n  ensure() {\n    return this.default(() => []).transform((val, original) => {\n      // We don't want to return `null` for nullable schema\n      if (this._typeCheck(val)) return val;\n      return original == null ? [] : [].concat(original);\n    });\n  }\n  compact(rejector) {\n    let reject = !rejector ? v => !!v : (v, i, a) => !rejector(v, i, a);\n    return this.transform(values => values != null ? values.filter(reject) : values);\n  }\n  describe(options) {\n    const next = (options ? this.resolve(options) : this).clone();\n    const base = super.describe(options);\n    if (next.innerType) {\n      var _innerOptions;\n      let innerOptions = options;\n      if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n        innerOptions = Object.assign({}, innerOptions, {\n          parent: innerOptions.value,\n          value: innerOptions.value[0]\n        });\n      }\n      base.innerType = next.innerType.describe(innerOptions);\n    }\n    return base;\n  }\n}\ncreate$2.prototype = ArraySchema.prototype;\n\n// @ts-ignore\nfunction create$1(schemas) {\n  return new TupleSchema(schemas);\n}\nclass TupleSchema extends Schema {\n  constructor(schemas) {\n    super({\n      type: 'tuple',\n      spec: {\n        types: schemas\n      },\n      check(v) {\n        const types = this.spec.types;\n        return Array.isArray(v) && v.length === types.length;\n      }\n    });\n    this.withMutation(() => {\n      this.typeError(tuple.notType);\n    });\n  }\n  _cast(inputValue, options) {\n    const {\n      types\n    } = this.spec;\n    const value = super._cast(inputValue, options);\n    if (!this._typeCheck(value)) {\n      return value;\n    }\n    let isChanged = false;\n    const castArray = types.map((type, idx) => {\n      const castElement = type.cast(value[idx], Object.assign({}, options, {\n        path: `${options.path || ''}[${idx}]`\n      }));\n      if (castElement !== value[idx]) isChanged = true;\n      return castElement;\n    });\n    return isChanged ? castArray : value;\n  }\n  _validate(_value, options = {}, panic, next) {\n    let itemTypes = this.spec.types;\n    super._validate(_value, options, panic, (tupleErrors, value) => {\n      var _options$originalValu2;\n      // intentionally not respecting recursive\n      if (!this._typeCheck(value)) {\n        next(tupleErrors, value);\n        return;\n      }\n      let tests = [];\n      for (let [index, itemSchema] of itemTypes.entries()) {\n        var _options$originalValu;\n        tests[index] = itemSchema.asNestedTest({\n          options,\n          index,\n          parent: value,\n          parentPath: options.path,\n          originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n        });\n      }\n      this.runTests({\n        value,\n        tests,\n        originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n        options\n      }, panic, innerTypeErrors => next(innerTypeErrors.concat(tupleErrors), value));\n    });\n  }\n  describe(options) {\n    const next = (options ? this.resolve(options) : this).clone();\n    const base = super.describe(options);\n    base.innerType = next.spec.types.map((schema, index) => {\n      var _innerOptions;\n      let innerOptions = options;\n      if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n        innerOptions = Object.assign({}, innerOptions, {\n          parent: innerOptions.value,\n          value: innerOptions.value[index]\n        });\n      }\n      return schema.describe(innerOptions);\n    });\n    return base;\n  }\n}\ncreate$1.prototype = TupleSchema.prototype;\n\nfunction create(builder) {\n  return new Lazy(builder);\n}\nclass Lazy {\n  constructor(builder) {\n    this.type = 'lazy';\n    this.__isYupSchema__ = true;\n    this.spec = void 0;\n    this._resolve = (value, options = {}) => {\n      let schema = this.builder(value, options);\n      if (!isSchema(schema)) throw new TypeError('lazy() functions must return a valid schema');\n      if (this.spec.optional) schema = schema.optional();\n      return schema.resolve(options);\n    };\n    this.builder = builder;\n    this.spec = {\n      meta: undefined,\n      optional: false\n    };\n  }\n  clone(spec) {\n    const next = new Lazy(this.builder);\n    next.spec = Object.assign({}, this.spec, spec);\n    return next;\n  }\n  optionality(optional) {\n    const next = this.clone({\n      optional\n    });\n    return next;\n  }\n  optional() {\n    return this.optionality(true);\n  }\n  resolve(options) {\n    return this._resolve(options.value, options);\n  }\n  cast(value, options) {\n    return this._resolve(value, options).cast(value, options);\n  }\n  asNestedTest(config) {\n    let {\n      key,\n      index,\n      parent,\n      options\n    } = config;\n    let value = parent[index != null ? index : key];\n    return this._resolve(value, Object.assign({}, options, {\n      value,\n      parent\n    })).asNestedTest(config);\n  }\n  validate(value, options) {\n    return this._resolve(value, options).validate(value, options);\n  }\n  validateSync(value, options) {\n    return this._resolve(value, options).validateSync(value, options);\n  }\n  validateAt(path, value, options) {\n    return this._resolve(value, options).validateAt(path, value, options);\n  }\n  validateSyncAt(path, value, options) {\n    return this._resolve(value, options).validateSyncAt(path, value, options);\n  }\n  isValid(value, options) {\n    return this._resolve(value, options).isValid(value, options);\n  }\n  isValidSync(value, options) {\n    return this._resolve(value, options).isValidSync(value, options);\n  }\n  describe(options) {\n    return options ? this.resolve(options).describe(options) : {\n      type: 'lazy',\n      meta: this.spec.meta,\n      label: undefined\n    };\n  }\n  meta(...args) {\n    if (args.length === 0) return this.spec.meta;\n    let next = this.clone();\n    next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n    return next;\n  }\n}\n\nfunction setLocale(custom) {\n  Object.keys(custom).forEach(type => {\n    // @ts-ignore\n    Object.keys(custom[type]).forEach(method => {\n      // @ts-ignore\n      locale[type][method] = custom[type][method];\n    });\n  });\n}\n\nfunction addMethod(schemaType, name, fn) {\n  if (!schemaType || !isSchema(schemaType.prototype)) throw new TypeError('You must provide a yup schema constructor function');\n  if (typeof name !== 'string') throw new TypeError('A Method name must be provided');\n  if (typeof fn !== 'function') throw new TypeError('Method function must be provided');\n  schemaType.prototype[name] = fn;\n}\n\nexport { ArraySchema, BooleanSchema, DateSchema, MixedSchema, NumberSchema, ObjectSchema, Schema, StringSchema, TupleSchema, ValidationError, addMethod, create$2 as array, create$7 as bool, create$7 as boolean, create$4 as date, locale as defaultLocale, getIn, isSchema, create as lazy, create$8 as mixed, create$5 as number, create$3 as object, printValue, reach, create$9 as ref, setLocale, create$6 as string, create$1 as tuple };\n", "import * as api from '@owl-nest/api-client/latest'\n\nexport function isPending(proposal: api.Proposal): boolean {\n  return proposal.status === api.ProposalStatus.PENDING\n}\n\nexport function isInvalid(proposal: api.Proposal): boolean {\n  return [api.ProposalAnswerCode.INVALID_COUNTRY, api.ProposalAnswerCode.INVALID_OKPAL].includes(proposal.answer_code!)\n}\n\nexport function isReady(proposal: api.Proposal): boolean {\n  return Boolean(proposal.answer_code) && (isInvalid(proposal) || Boolean(proposal.project) || isPending(proposal))\n}\n", "import { Subscription, Project } from '@owl-nest/api-client/latest'\nimport { Reward } from './reward'\n\nexport function getReward<PROJECT_EXTRA_FIELDS extends string = ''>(\n\tsubscription: Subscription,\n\tproject: Project<PROJECT_EXTRA_FIELDS>,\n      ): Reward<PROJECT_EXTRA_FIELDS> | undefined {\n\tif (subscription.reward) {\n\t  return Reward(subscription.reward, project)\n\t}\n}\n", "import * as api from '@owl-nest/api-client/latest'\nimport * as reward from './reward'\nimport * as variant from './variant'\n\nexport type Sku<PROJECT_EXTRA_FIELDS extends string = ''> =\n  | {\n      type: 'reward'\n      item: reward.Reward<PROJECT_EXTRA_FIELDS>\n      quantity: number\n    }\n  | {\n      type: 'variant'\n      item: variant.Variant\n      quantity: number\n    }\n\nfunction isReward(item: api.Reward | api.Variant): item is api.Reward {\n  return !('parent' in item)\n}\n\nexport function Sku<PROJECT_EXTRA_FIELDS extends string = ''>(\n  orderItem: api.OrderItem,\n  project: api.Project<PROJECT_EXTRA_FIELDS>,\n): Sku<PROJECT_EXTRA_FIELDS> | undefined {\n  const item = orderItem.reward\n  if (isReward(item)) {\n    return {\n      type: 'reward',\n      item: reward.Reward(item, project),\n      quantity: orderItem.quantity,\n    }\n  }\n  if (item.parent !== undefined) {\n    return {\n      type: 'variant',\n      item: variant.Variant(item, reward.Reward(item.parent, project) as reward.Reward<''>),\n      quantity: orderItem.quantity,\n    }\n  }\n}\n\nexport function getReward<PROJECT_EXTRA_FIELDS extends string = ''>(\n  sku: Sku<PROJECT_EXTRA_FIELDS>,\n): reward.Reward<PROJECT_EXTRA_FIELDS> {\n  return sku.type === 'reward' ? sku.item : (sku.item.parent as reward.Reward<PROJECT_EXTRA_FIELDS>)\n}\n\nexport function isLegacy(sku: Sku<any>): boolean {\n  return reward.isLegacy(getReward(sku))\n}\n\nexport function title(sku: Sku<any>): string | undefined {\n  return reward.title(getReward(sku))\n}\n", "import * as api from '@owl-nest/api-client/latest'\nimport { t } from '@owl-nest/localize'\n\nimport * as image from './image'\nimport * as i18n from './i18n'\n\ntype Amount = {\n  type: api.SponsorshipType.AMOUNT\n  icon: '\u26A1\uFE0F'\n  amount: number\n}\n\ntype Audience = {\n  type: api.SponsorshipType.AUDIENCE\n  icon: '\uD83D\uDC4F'\n  label: string\n}\n\ntype Crush = {\n  type: api.SponsorshipType.CRUSH\n  icon: '\u2764\uFE0F'\n  label: string\n}\n\ntype DoubleDonations = {\n  type: api.SponsorshipType.DOUBLED_DONATIONS\n  icon: '\u26A1\uFE0F'\n  label: string\n}\n\ntype PrizeWinner = {\n  type: api.SponsorshipType.PRIZE_WINNER\n  icon: '\uD83C\uDFC6'\n  label: string\n}\n\ntype Tag = Amount | Audience | Crush | DoubleDonations | PrizeWinner\n\nexport function tag(sponsorship: api.Sponsorship<string>): Tag | undefined {\n  switch (sponsorship.type) {\n    case api.SponsorshipType.AMOUNT: {\n      return {\n        type: sponsorship.type,\n        icon: '\u26A1\uFE0F',\n        amount: sponsorship.amount,\n      }\n    }\n    case api.SponsorshipType.AUDIENCE: {\n      return {\n        type: sponsorship.type,\n        icon: '\uD83D\uDC4F',\n        label: t('Crowd favorite prize'),\n      }\n    }\n    case api.SponsorshipType.CRUSH: {\n      return {\n        type: sponsorship.type,\n        icon: '\u2764\uFE0F',\n        label: t('Heartthrob'),\n      }\n    }\n    case api.SponsorshipType.DOUBLED_DONATIONS: {\n      return {\n        type: sponsorship.type,\n        icon: '\u26A1\uFE0F',\n        label: t('Matched donations'),\n      }\n    }\n    case api.SponsorshipType.PRIZE_WINNER: {\n      return {\n        type: sponsorship.type,\n        icon: '\uD83C\uDFC6',\n        label: t('Winner'),\n      }\n    }\n  }\n}\n\nexport function mode(sponsorship: api.Sponsorship<string>): string {\n  switch (sponsorship.mode) {\n    case api.SponsorshipMode.PARTICIPATES_IN: {\n      return t('Participates in')\n    }\n    case api.SponsorshipMode.PRIZE_WINNER: {\n      return t('Prize winner')\n    }\n    case api.SponsorshipMode.CRUSH: {\n      return t('Crush')\n    }\n    case api.SponsorshipMode.COACHED_BY: {\n      return t('Coached by')\n    }\n    case api.SponsorshipMode.BENEFIT_OF: {\n      return t('In benefit of')\n    }\n    default: {\n      return t('Supported by')\n    }\n  }\n}\n\nexport function avatar(sponsorship: api.Sponsorship<string>, version: string): string | undefined {\n  return image.getUrl(sponsorship.sponsor.image.versions, version)\n}\n\nexport function description<EXTRA_FIELDS extends string = ''>(sponsorship: api.Sponsorship<EXTRA_FIELDS>): string {\n  return i18n.get(sponsorship.description, 'en', '')\n}\n", "import { PublicUser, UserLabel, UserRole } from '@owl-nest/api-client/latest'\nimport { t } from '@owl-nest/localize'\nimport { text } from '@owl-nest/utils'\nimport * as plume from '@ulule/owl-kit-components/next'\n\nimport * as image from './image'\n\n/**\n *\n * @param user\n * @param version a string specifying the version to retrieve (e.g. 'small'|'medium'|'large'|'full')\n */\nexport function avatar(user: PublicUser, version: string): string | undefined {\n  return image.getUrl(user.avatar.versions, version)\n}\n\n/**\n * Returns the user display name if any, otherwise formats the name as \"First-name Last-name\".\n * Falls back to the username.\n * @param user\n */\nexport function fullName(user: PublicUser): string {\n  if (!user) {\n    return ''\n  }\n\n  if (user.screenname) return user.screenname\n\n  if (user.first_name && user.last_name) return `${text.capitalize(user.first_name)} ${text.capitalize(user.last_name)}`\n\n  if (user.username) return user.username\n\n  return user.name\n}\n\n/**\n * Formats the user name in a private manner.\n * e.g. \"Lionel Fournier\" becomes \"Lionel F.\"\n * @param user\n */\nexport function privatizedName(user: PublicUser): string {\n  if (user.first_name && user.last_name) {\n    return `${text.capitalize(user.first_name)} ${text.capitalize(user.last_name.substr(0, 1))}.`\n  }\n\n  return user.screenname || user.name\n}\n\n/**\n * Returns a short version of the user name: their first name if found, or otherwise their custom display name or username.\n * @param user\n */\nexport function shortName(user: PublicUser): string {\n  if (user.first_name) {\n    return user.first_name\n  }\n\n  return user.screenname || user.username || user.name\n}\n\n/**\n * Returns the user display name if any, otherwise their username\n * @param user\n */\nexport function username(user: PublicUser): string {\n  if (user.screenname) {\n    return user.screenname\n  }\n  return user.username\n}\n\nexport type RoleTagBackgroundColor = plume.RoleTagProps['backgroundColor']\n\nexport function tag(\n  user: PublicUser,\n  role?: UserRole,\n): { backgroundColor?: RoleTagBackgroundColor; label: string } | undefined {\n  if (user.is_staff) {\n    return {\n      backgroundColor: 'secondary-green-800',\n      label: t('Ulule Team'),\n    }\n  }\n\n  switch (role) {\n    case UserRole.Owner: {\n      return {\n        backgroundColor: 'brand-indigo',\n        label: t('Creator'),\n      }\n    }\n    case UserRole.Editor:\n    case UserRole.Moderator: {\n      return {\n        backgroundColor: 'brand-indigo',\n        label: t('Moderator'),\n      }\n    }\n  }\n}\n\nexport function label(label: UserLabel): { color?: RoleTagBackgroundColor; label: string } | undefined {\n  switch (label) {\n    case UserLabel.Captain: {\n      return {\n        color: 'brand-indigo',\n        label: t('Captain'),\n      }\n    }\n    case UserLabel.Connector: {\n      return {\n        color: 'secondary-yellow-500',\n        label: t('Ambassador'),\n      }\n    }\n    case UserLabel.Expert: {\n      return {\n        color: 'primary-blue-500',\n        label: t('Expert'),\n      }\n    }\n    case UserLabel.Official: {\n      return {\n        color: 'primary-red-900',\n        label: t('Partner'),\n      }\n    }\n    case UserLabel.Team: {\n      return {\n        color: 'primary-blue-900',\n        label: t('Team'),\n      }\n    }\n  }\n}\n"],
  "mappings": "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I,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAA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,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,CAAC,EAAE,UAAY,CAAC,GAAK,CAAC,MAAM,KAAK,4BAA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",
  "names": ["require_property_expr", "__commonJSMin", "exports", "module", "init_define_process_env", "init_sentry_release_injection_stub", "Cache", "maxSize", "key", "value", "SPLIT_REGEX", "DIGIT_REGEX", "LEAD_DIGIT_REGEX", "SPEC_CHAR_REGEX", "CLEAN_QUOTES_REGEX", "MAX_CACHE_SIZE", "pathCache", "setCache", "getCache", "split", "normalizePath", "path", "parts", "obj", "index", "len", "data", "part", "safe", "segments", "isQuoted", "cb", "thisArg", "forEach", "iter", "idx", "isArray", "isBracket", "shouldBeQuoted", "str", "hasLeadingNumber", "hasSpecialChars", "require_tiny_case", "__commonJSMin", "exports", "module", "init_define_process_env", "init_sentry_release_injection_stub", "reWords", "words", "str", "upperFirst", "join", "d", "camelCase", "acc", "next", "pascalCase", "snakeCase", "kebabCase", "sentenceCase", "titleCase", "require_toposort", "__commonJSMin", "exports", "module", "init_define_process_env", "init_sentry_release_injection_stub", "edges", "toposort", "uniqueNodes", "nodes", "cursor", "sorted", "visited", "outgoingEdges", "makeOutgoingEdges", "nodesHash", "makeNodesHash", "edge", "visit", "node", "i", "predecessors", "nodeRep", "e", "outgoing", "child", "arr", "res", "len", "i18n_exports", "__export", "addLang", "deepGet", "get", "getLangs", "getWithLang", "isEmpty", "removeLang", "resetData", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "CURRENCIES_COUNTRY", "getLabel", "code", "userConfig", "getUserConfig", "translateCountriesLabel", "SUPPORTED_COUNTRIES", "_a", "COUNTRIES", "get", "i18n", "fallbackLang", "fallback", "userLang", "getUserConfig", "getWithLang", "deepGet", "t", "getter", "userLangTraduction", "esTraduction", "defaultLocaleTraduction", "DEFAULT_LOCALE", "fallbackTranslation", "translation", "value", "resetData", "def", "lang", "addLang", "__spreadProps", "__spreadValues", "removeLang", "isEmpty", "entry", "getLangs", "type", "langs", "keys", "reward_exports", "__export", "Reward", "description", "formattedDeliveryDate", "getShippingFormattedDate", "getVariantsCount", "image", "isLegacy", "isTaken", "languages", "stock", "title", "init_define_process_env", "init_sentry_release_injection_stub", "image_exports", "__export", "getUrl", "init_define_process_env", "init_sentry_release_injection_stub", "versions", "version", "_a", "option_exports", "__export", "Option", "description", "name", "valueDescription", "init_define_process_env", "init_sentry_release_injection_stub", "Option", "option", "parent", "__spreadProps", "__spreadValues", "description", "_a", "get", "name", "valueDescription", "optionValue", "variant_exports", "__export", "Variant", "description", "image", "stock", "values", "init_define_process_env", "init_sentry_release_injection_stub", "Variant", "variant", "parent", "__spreadProps", "__spreadValues", "description", "_a", "get", "stock", "image", "version", "lang", "getUserConfig", "rewardOptionValues", "optionValues", "values", "imageResource", "getWithLang", "getUrl", "i", "valueId", "_b", "option", "value", "init_define_process_env", "init_sentry_release_injection_stub", "EXTRA_FIELDS", "DonationAllowed", "OWNER_EXTRA_FIELDS", "STAFF_EXTRA_FIELDS", "EditingUserRole", "LifecycleStatus", "PRIMARY_PAYMENT_METHOD", "allowedDonationFrequency", "project", "backgroundColor", "get", "backgroundImage", "backgroundImageResource", "comingSoonLabel", "isStaff", "currencySymbol", "currency", "CURRENCIES_SYMBOL", "description", "language", "failure", "isFinished", "funded", "progress", "fundingDescription", "getCountDown", "short", "endDate", "countDown", "getEditingUserRole", "getFinishedLabel", "endTime", "currentDate", "hoursPassed", "minutesPassed", "getPaymentMethods", "_a", "paymentMethods", "payment_exports", "isDonationBased", "method", "getNumberOfPublicRewards", "_b", "reward", "getOrderedPaymentMethods", "enablePaypal", "sortPaymentMethods", "methodA", "methodB", "getPrimaryPaymentMethod", "primaryPaymentMethod", "warn", "getStepProperties", "allRequiredFieldFilled", "isAllFieldsetsFilled", "Steps", "getCurrentStep", "properties", "getFieldset", "key", "fieldset", "getRibbonData", "_c", "ribbonPartnership", "partnership", "winnerSponsor", "supportiveSponsor", "getSecondaryPaymentMethods", "getStatus", "hadExtraTime", "dateEndExtraTime", "FIELDSET_NEEDED_FOR_PREVIEW", "hasAccessToPreview", "_d", "_e", "_f", "_g", "_h", "_i", "projectIsDonationBased", "fieldsNeeded", "KEYS", "FIELDSETS_KEYS", "fieldsFiltered", "fieldAcc", "field", "__spreadProps", "__spreadValues", "hasCheckout", "isCancelled", "hasExtraTime", "hasSubscriptions", "hasSelfPermission", "permission", "fieldsets", "isFraud", "isClosed", "isMembership", "isRewardBased", "isVendorBased", "isExtraTime", "isComingSoonEnabled", "isOnline", "isOkpalOffboardingAvailable", "isValidated", "lifecycleStatus", "refused", "offline", "success", "mainImage", "size", "lang", "getUserConfig", "mainImageResource", "getWithLang", "getUrl", "shareImages", "avatarImage", "avatarImageResource", "mainTag", "name", "overrideLang", "fallbackLang", "ownerDescription", "rawProgress", "projectGoal", "value", "subtitle", "showOnboardingSteps", "onboardingSteps", "tagName", "tag", "video", "isOrdersEnabled", "isPresaleType", "getShippingFormattedDate", "format", "isUserMember", "getActiveMembershipOrder", "getAutomaticGoalValue", "currentAmount", "getSubscriptionsCount", "levels", "nextGoal", "i", "level", "getSubscriptionName", "getSubscriptionType", "Reward", "rawReward", "project", "_b", "_c", "_a", "_", "reward", "__objRest", "isMembership", "rewardWithParent", "__spreadProps", "__spreadValues", "options", "option", "Option", "variants", "variant", "Variant", "description", "lang", "getUserConfig", "getWithLang", "formattedDeliveryDate", "format", "rewardDeliveryDate", "image", "version", "imageResource", "getUrl", "isLegacy", "stock", "title", "languages", "isTaken", "getShippingFormattedDate", "createDateWithTimezone", "getVariantsCount", "nbVariants", "currentOption", "project_exports", "__export", "DonationAllowed", "EXTRA_FIELDS", "EditingUserRole", "LifecycleStatus", "OWNER_EXTRA_FIELDS", "STAFF_EXTRA_FIELDS", "Steps", "allowedDonationFrequency", "avatarImage", "backgroundColor", "backgroundImage", "comingSoonLabel", "currencySymbol", "description", "extratime_exports", "failure", "funded", "fundingDescription", "getActiveMembershipOrder", "getAutomaticGoalValue", "getCountDown", "getCurrentStep", "getEditingUserRole", "getFieldset", "getFinishedLabel", "getNumberOfPublicRewards", "getOrderedPaymentMethods", "getPaymentMethods", "getPrimaryPaymentMethod", "getRibbonData", "getSecondaryPaymentMethods", "getShippingFormattedDate", "getStatus", "getStepProperties", "getSubscriptionName", "getSubscriptionType", "getSubscriptionsCount", "hadExtraTime", "hasAccessToPreview", "hasCheckout", "hasExtraTime", "hasSelfPermission", "hasSubscriptions", "isAllFieldsetsFilled", "isCancelled", "isClosed", "isComingSoonEnabled", "isDonationBased", "isExtraTime", "isFinished", "isFraud", "isMembership", "isOkpalOffboardingAvailable", "isOnline", "isOrdersEnabled", "isPresaleType", "isRewardBased", "isUserMember", "isValidated", "isVendorBased", "language", "lifecycleStatus", "mainImage", "mainTag", "name", "offline", "ownerDescription", "progress", "rawProgress", "refused", "shareImages", "showOnboardingSteps", "subtitle", "success", "tagName", "video", "init_define_process_env", "init_sentry_release_injection_stub", "extratime_exports", "__export", "ExtraTimeStatus", "getExtraTimeStatus", "isDisabled", "isEditionBlocked", "isEnded", "isFinishOrOn", "isOnAndSaved", "init_define_process_env", "init_sentry_release_injection_stub", "ExtraTimeStatus", "isEditionBlocked", "currentStatus", "isDisabled", "isEnded", "isFinishOrOn", "isOnAndSaved", "getExtraTimeStatus", "extraTimeActivated", "numberMinutesLeft", "numberDayToEnd", "project", "isOnline", "hadExtraTime", "isExtraTime", "hasExtraTime", "init_define_process_env", "init_sentry_release_injection_stub", "channel_exports", "__export", "backgroundImage", "ctaBackgroundImage", "description", "name", "init_define_process_env", "init_sentry_release_injection_stub", "name", "channel", "get", "description", "backgroundImage", "size", "_a", "getUrl", "ctaBackgroundImage", "faq_exports", "__export", "getAnswer", "getQuestion", "init_define_process_env", "init_sentry_release_injection_stub", "getAnswer", "faq", "lang", "get", "getQuestion", "impact_exports", "__export", "getCertifications", "getChallenges", "getImpact", "getLangs", "isEmpty", "model", "init_define_process_env", "init_sentry_release_injection_stub", "model", "impact", "_a", "__spreadProps", "__spreadValues", "getCertifications", "lang", "get", "getChallenges", "getImpact", "isEmpty", "value", "getLangs", "langs", "sdg", "order_exports", "__export", "OrderStatus", "getLastDelivery", "getOrderStatus", "isCancelled", "isFailed", "isPaidByCheck", "isProcessing", "isSucceeded", "init_define_process_env", "init_sentry_release_injection_stub", "orderItem_exports", "__export", "getReward", "getVariant", "isReward", "init_define_process_env", "init_sentry_release_injection_stub", "isReward", "item", "getReward", "orderItem", "project", "rewardData", "Reward", "getVariant", "Variant", "isPaidByCheck", "order", "isProcessing", "isFailed", "isCancelled", "isSucceeded", "OrderStatus", "getOrderStatus", "project", "user", "_a", "lastDelivery", "getLastDelivery", "safeOrders", "item", "_b", "deliveryDate", "getReward", "date", "a", "b", "pickup_exports", "__export", "address", "city", "description", "name", "init_define_process_env", "init_sentry_release_injection_stub", "model_exports", "__export", "address", "baseSchema", "empty", "format", "formatLine", "formatMondialRelay", "schema", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "metadata_max_json_default", "withMetadataArgument", "func", "_arguments", "args", "metadata_max_json_default", "init_define_process_env", "init_sentry_release_injection_stub", "ParseError", "code", "_this", "_classCallCheck", "_super", "Object", "setPrototypeOf", "_assertThisInitialized", "prototype", "name", "constructor", "Error", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "MIN_LENGTH_FOR_NSN", "MAX_LENGTH_FOR_NSN", "MAX_LENGTH_COUNTRY_CODE", "VALID_DIGITS", "DASHES", "SLASHES", "DOTS", "WHITESPACE", "BRACKETS", "TILDES", "VALID_PUNCTUATION", "PLUS_CHARS", "init_define_process_env", "init_sentry_release_injection_stub", "semver_compare_default", "a", "b", "split", "pa", "pb", "i", "na", "Number", "nb", "isNaN", "init_define_process_env", "init_sentry_release_injection_stub", "objectConstructor", "constructor", "isObject", "object", "V3", "V4", "DEFAULT_EXT_PREFIX", "CALLING_CODE_REG_EXP", "Metadata", "metadata", "_classCallCheck", "validateMetadata", "setVersion", "call", "Object", "keys", "countries", "filter", "_", "countryCode", "v1", "v2", "v3", "nonGeographic", "nonGeographical", "country", "getCountryMetadata", "undefined", "callingCode", "getCountryCodesForCallingCode", "countryCodes", "countryCallingCodes", "length", "selectNumberingPlan", "test", "hasCountry", "Error", "numberingPlan", "NumberingPlan", "hasCallingCode", "getNumberingPlanMetadata", "getCountryCodeForCallingCode", "IDDPrefix", "defaultIDDPrefix", "nationalNumberPattern", "possibleLengths", "formats", "nationalPrefixForParsing", "nationalPrefixTransformRule", "leadingDigits", "hasTypes", "type", "ext", "country_phone_code_to_countries", "country_calling_codes", "NumberingPlan", "metadata", "globalMetadataObject", "_classCallCheck", "setVersion", "call", "getNumberingPlanMetadata", "callingCode", "v1", "v2", "_this", "formats", "_getFormats", "getDefaultCountryMetadataForRegion", "map", "_", "Format", "_getNationalPrefixFormattingRule", "_nationalPrefixForParsing", "nationalPrefix", "_getNationalPrefixIsOptionalWhenFormatting", "types", "length", "type", "hasTypes", "getType", "Type", "DEFAULT_EXT_PREFIX", "format", "_format", "nationalPrefixFormattingRule", "nationalPrefixIsOptionalWhenFormattingInNationalFormat", "usesNationalPrefix", "FIRST_GROUP_ONLY_PREFIX_PATTERN", "test", "possibleLengths", "validateMetadata", "Error", "isObject", "countries", "Object", "keys", "join", "typeOf", "_typeof", "getCountryCallingCode", "country", "metadata", "Metadata", "hasCountry", "countryCallingCode", "Error", "setVersion", "metadata", "version", "v1", "v2", "v3", "v4", "compare", "V3", "V4", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "RFC3966_EXTN_PREFIX", "getExtensionDigitsPattern", "maxLength", "VALID_DIGITS", "createExtensionPattern", "purpose", "extLimitAfterExplicitLabel", "extLimitAfterLikelyLabel", "extLimitAfterAmbiguousChar", "extLimitWhenNotSure", "possibleSeparatorsBetweenNumberAndExtLabel", "possibleCharsAfterExtLabel", "optionalExtnSuffix", "explicitExtLabels", "ambiguousExtLabels", "ambiguousSeparator", "possibleSeparatorsNumberExtLabelNoComma", "autoDiallingAndExtLabelsFound", "rfcExtn", "explicitExtn", "ambiguousExtn", "americanStyleExtnWithSuffix", "autoDiallingExtn", "onlyCommasExtn", "MIN_LENGTH_PHONE_NUMBER_PATTERN", "VALID_DIGITS", "MIN_LENGTH_FOR_NSN", "VALID_PHONE_NUMBER", "PLUS_CHARS", "VALID_PUNCTUATION", "VALID_PHONE_NUMBER_START_REG_EXP", "RegExp", "VALID_PHONE_NUMBER_WITH_EXTENSION", "createExtensionPattern", "VALID_PHONE_NUMBER_PATTERN", "isViablePhoneNumber", "number", "length", "test", "isViablePhoneNumberStart", "init_define_process_env", "init_sentry_release_injection_stub", "EXTN_PATTERN", "RegExp", "createExtensionPattern", "extractExtension", "number", "start", "search", "numberWithoutExtension", "slice", "matches", "match", "i", "length", "ext", "DIGITS", "parseDigit", "character", "parseIncompletePhoneNumber", "string", "result", "_iterator", "_createForOfIteratorHelperLoose", "split", "_step", "character", "parsePhoneNumberCharacter", "prevParsedCharacters", "emitEvent", "parseDigit", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "mergeArrays", "a", "b", "merged", "slice", "_iterator", "_createForOfIteratorHelperLoose", "_step", "element", "indexOf", "push", "sort", "checkNumberLength", "nationalNumber", "metadata", "checkNumberLengthForType", "undefined", "type", "type_info", "possible_lengths", "possibleLengths", "mobile_type", "mergeArrays", "actual_length", "length", "minimum_length", "indexOf", "isPossiblePhoneNumber", "input", "options", "metadata", "undefined", "Metadata", "v2", "countryCallingCode", "Error", "selectNumberingPlan", "phone", "country", "hasCountry", "possibleLengths", "isPossibleNumber", "nationalNumber", "isNonGeographicCallingCode", "checkNumberLength", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "matchesEntirely", "text", "regular_expression", "RegExp", "test", "NON_FIXED_LINE_PHONE_TYPES", "getNumberType", "input", "options", "metadata", "country", "countryCallingCode", "Metadata", "selectNumberingPlan", "nationalNumber", "v2", "phone", "matchesEntirely", "nationalNumberPattern", "isNumberTypeEqualTo", "type", "pattern", "_iterator", "_createForOfIteratorHelperLoose", "_step", "possibleLengths", "indexOf", "length", "isValidNumber", "input", "options", "metadata", "Metadata", "selectNumberingPlan", "country", "countryCallingCode", "hasTypes", "getNumberType", "undefined", "nationalNumber", "v2", "phone", "matchesEntirely", "nationalNumberPattern", "init_define_process_env", "init_sentry_release_injection_stub", "getPossibleCountriesForNumber", "callingCode", "nationalNumber", "metadata", "_metadata", "Metadata", "possibleCountries", "getCountryCodesForCallingCode", "filter", "country", "couldNationalNumberBelongToCountry", "selectNumberingPlan", "numberingPlan", "possibleLengths", "indexOf", "length", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "applyInternationalSeparatorStyle", "formattedNumber", "replace", "RegExp", "VALID_PUNCTUATION", "trim", "FIRST_GROUP_PATTERN", "formatNationalNumberUsingFormat", "number", "format", "_ref", "useInternationalFormat", "withNationalPrefix", "carrierCode", "metadata", "formattedNumber", "replace", "RegExp", "pattern", "internationalFormat", "nationalPrefixFormattingRule", "applyInternationalSeparatorStyle", "init_define_process_env", "init_sentry_release_injection_stub", "SINGLE_IDD_PREFIX_REG_EXP", "getIddPrefix", "country", "callingCode", "metadata", "countryMetadata", "Metadata", "selectNumberingPlan", "defaultIDDPrefix", "test", "IDDPrefix", "formatRFC3966", "_ref", "number", "ext", "Error", "DEFAULT_OPTIONS", "formatExtension", "formattedNumber", "extension", "metadata", "ext", "formatNumber", "input", "format", "options", "_objectSpread", "Metadata", "country", "hasCountry", "Error", "countryCallingCode", "selectNumberingPlan", "phone", "nationalNumber", "v2", "number", "formatNationalNumber", "carrierCode", "addExtension", "formatRFC3966", "fromCountry", "formatIDD", "formatAs", "chooseFormatForNumber", "formats", "formatNationalNumberUsingFormat", "useInternationalFormat", "withNationalPrefix", "nationalPrefixIsOptionalWhenFormattingInNationalFormat", "nationalPrefix", "availableFormats", "nationalNnumber", "_iterator", "_createForOfIteratorHelperLoose", "_step", "leadingDigitsPatterns", "length", "lastLeadingDigitsPattern", "search", "matchesEntirely", "pattern", "fromCountryCallingCode", "getCountryCallingCode", "iddPrefix", "getIddPrefix", "undefined", "USE_NON_GEOGRAPHIC_COUNTRY_CODE", "PhoneNumber", "countryOrCountryCallingCode", "nationalNumber", "metadata", "_classCallCheck", "TypeError", "_getCountryAndCountry", "getCountryAndCountryCallingCode", "country", "countryCallingCode", "number", "getMetadata", "ext", "getPossibleCountriesForNumber", "isPossibleNumber", "v2", "isValidNumber", "Metadata", "isNonGeographicCallingCode", "phoneNumber", "getNumberType", "format", "options", "formatNumber", "_objectSpread", "isCountryCode", "value", "test", "getCountryAndCountryCallingCode", "countryOrCountryCallingCode", "metadataJson", "country", "countryCallingCode", "metadata", "Metadata", "selectNumberingPlan", "USE_NON_GEOGRAPHIC_COUNTRY_CODE", "isNonGeographicCallingCode", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "CAPTURING_DIGIT_PATTERN", "RegExp", "VALID_DIGITS", "stripIddPrefix", "number", "country", "callingCode", "metadata", "countryMetadata", "Metadata", "selectNumberingPlan", "IDDPrefixPattern", "IDDPrefix", "search", "slice", "match", "length", "matchedGroups", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "extractNationalNumberFromPossiblyIncompleteNumber", "number", "metadata", "numberingPlan", "nationalPrefixForParsing", "prefixPattern", "RegExp", "prefixMatch", "exec", "nationalNumber", "carrierCode", "capturedGroupsCount", "length", "hasCapturedGroups", "nationalPrefixTransformRule", "replace", "prefixBeforeNationalNumber", "slice", "nationalPrefix", "possiblePositionOfTheFirstCapturedGroup", "indexOf", "possibleNationalPrefix", "extractNationalNumber", "number", "metadata", "_extractNationalNumbe", "extractNationalNumberFromPossiblyIncompleteNumber", "carrierCode", "nationalNumber", "shouldHaveExtractedNationalPrefix", "possibleLengths", "isPossibleIncompleteNationalNumber", "nationalNumberBefore", "nationalNumberAfter", "matchesEntirely", "nationalNumberPattern", "checkNumberLength", "extractCountryCallingCodeFromInternationalNumberWithoutPlusSign", "number", "country", "callingCode", "metadata", "countryCallingCode", "getCountryCallingCode", "indexOf", "Metadata", "selectNumberingPlan", "possibleShorterNumber", "slice", "length", "_extractNationalNumbe", "extractNationalNumber", "possibleShorterNationalNumber", "nationalNumber", "_extractNationalNumbe2", "matchesEntirely", "nationalNumberPattern", "checkNumberLength", "extractCountryCallingCode", "number", "country", "callingCode", "metadata", "isNumberWithIddPrefix", "numberWithoutIDD", "stripIddPrefix", "_extractCountryCallin", "extractCountryCallingCodeFromInternationalNumberWithoutPlusSign", "countryCallingCode", "shorterNumber", "countryCallingCodeSource", "Metadata", "i", "MAX_LENGTH_COUNTRY_CODE", "length", "slice", "hasCallingCode", "selectNumberingPlan", "init_define_process_env", "init_sentry_release_injection_stub", "getCountryByNationalNumber", "nationalPhoneNumber", "_ref", "countries", "defaultCountry", "metadata", "Metadata", "matchingCountries", "_iterator", "_createForOfIteratorHelperLoose", "_step", "country", "leadingDigits", "search", "getNumberType", "phone", "undefined", "push", "length", "USE_NON_GEOGRAPHIC_COUNTRY_CODE", "getCountryByCallingCode", "callingCode", "_ref", "nationalPhoneNumber", "nationalNumber", "defaultCountry", "metadata", "isNonGeographicCallingCode", "possibleCountries", "getCountryCodesForCallingCode", "length", "getCountryByNationalNumber", "countries", "init_define_process_env", "init_sentry_release_injection_stub", "init_define_process_env", "init_sentry_release_injection_stub", "PLUS_SIGN", "RFC3966_VISUAL_SEPARATOR_", "RFC3966_PHONE_DIGIT_", "VALID_DIGITS", "RFC3966_GLOBAL_NUMBER_DIGITS_", "RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_", "RegExp", "ALPHANUM_", "RFC3966_DOMAINLABEL_", "VALID_ALPHA_", "RFC3966_TOPLABEL_", "RFC3966_DOMAINNAME_", "RFC3966_DOMAINNAME_PATTERN_", "RFC3966_PREFIX_", "RFC3966_PHONE_CONTEXT_", "RFC3966_ISDN_SUBADDRESS_", "extractPhoneContext", "numberToExtractFrom", "indexOfPhoneContext", "indexOf", "phoneContextStart", "length", "phoneContextEnd", "substring", "isPhoneContextValid", "phoneContext", "test", "extractFormattedPhoneNumberFromPossibleRfc3966NumberUri", "numberToParse", "_ref", "extractFormattedPhoneNumber", "phoneContext", "extractPhoneContext", "isPhoneContextValid", "ParseError", "phoneNumberString", "charAt", "PLUS_SIGN", "indexOfRfc3966Prefix", "indexOf", "RFC3966_PREFIX_", "indexOfNationalNumber", "length", "indexOfPhoneContext", "RFC3966_PHONE_CONTEXT_", "substring", "indexOfIsdn", "RFC3966_ISDN_SUBADDRESS_", "MAX_INPUT_STRING_LENGTH", "PHONE_NUMBER_START_PATTERN", "RegExp", "PLUS_CHARS", "VALID_DIGITS", "AFTER_PHONE_NUMBER_END_PATTERN", "USE_NON_GEOGRAPHIC_COUNTRY_CODE", "parse", "text", "options", "metadata", "Metadata", "defaultCountry", "hasCountry", "v2", "ParseError", "Error", "_parseInput", "parseInput", "extract", "formattedPhoneNumber", "number", "ext", "error", "_parsePhoneNumber", "parsePhoneNumber", "defaultCallingCode", "country", "nationalNumber", "countryCallingCode", "countryCallingCodeSource", "carrierCode", "hasSelectedNumberingPlan", "length", "MIN_LENGTH_FOR_NSN", "MAX_LENGTH_FOR_NSN", "phoneNumber", "PhoneNumber", "__countryCallingCodeSource", "valid", "extended", "matchesEntirely", "nationalNumberPattern", "possible", "possibleLengths", "isPossibleNumber", "phone", "result", "extractFormattedPhoneNumber", "throwOnError", "startsAt", "search", "slice", "replace", "extractFormattedPhoneNumberFromPossibleRfc3966NumberUri", "isViablePhoneNumber", "isViablePhoneNumberStart", "withExtensionStripped", "extractExtension", "_extractCountryCallin", "extractCountryCallingCode", "parseIncompletePhoneNumber", "selectNumberingPlan", "isNonGeographicCallingCode", "getCountryCallingCode", "_extractNationalNumbe", "extractNationalNumber", "exactCountry", "getCountryByCallingCode", "parsePhoneNumberWithError", "text", "options", "metadata", "parse", "_objectSpread", "v2", "normalizeArguments", "args", "_Array$prototype$slic", "Array", "prototype", "slice", "call", "_Array$prototype$slic2", "_slicedToArray", "arg_1", "arg_2", "arg_3", "arg_4", "text", "options", "metadata", "TypeError", "undefined", "_objectSpread", "defaultCountry", "isObject", "Error", "parsePhoneNumberWithError", "_normalizeArguments", "normalizeArguments", "arguments", "text", "options", "metadata", "parsePhoneNumberWithError_", "parsePhoneNumberWithError", "withMetadataArgument", "init_define_process_env", "init_sentry_release_injection_stub", "import_property_expr", "import_tiny_case", "import_toposort", "toString", "errorToString", "regExpToString", "symbolToString", "SYMBOL_REGEXP", "printNumber", "val", "printSimpleValue", "quoteStrings", "typeOf", "tag", "printValue", "value", "result", "key", "toArray", "_Symbol$toStringTag", "_Symbol$hasInstance", "_Symbol$toStringTag2", "strReg", "ValidationErrorNoStack", "errorOrErrors", "field", "type", "err", "ValidationError", "innerErrors", "_ValidationError", "message", "params", "path", "_", "disableStack", "errorNoStack", "inst", "mixed", "originalValue", "castMsg", "string", "number", "date", "boolean", "object", "array", "tuple", "spec", "typeLen", "locale", "isSchema", "obj", "Condition", "_Condition", "refs", "config", "is", "then", "otherwise", "check", "values", "schema", "_branch", "branch", "builder", "base", "options", "ref", "prefixes", "Reference", "key", "options", "prefixes", "prefix", "value", "parent", "context", "result", "isAbsent", "createValidation", "config", "validate", "path", "originalValue", "schema", "panic", "next", "name", "test", "params", "message", "skipAbsent", "abortEarly", "disableStackTrace", "resolve", "item", "createError", "overrides", "nextParams", "error", "ValidationError", "invalid", "ctx", "handleResult", "validOrError", "handleError", "err", "_result", "getIn", "lastPart", "lastPartDebug", "_part", "isBracket", "isArray", "part", "isTuple", "idx", "reach", "obj", "ReferenceSet", "_ReferenceSet", "description", "newItems", "removeItems", "clone", "src", "seen", "isSchema", "copy", "i", "k", "v", "Schema", "mixed", "s", "spec", "label", "args", "fn", "before", "base", "combined", "mergedSpec", "conditions", "prevSchema", "condition", "_options$strict", "_options$abortEarly", "_options$recursive", "_options$disableStack", "resolvedSchema", "allowOptionality", "formattedValue", "printValue", "formattedResult", "rawValue", "prevValue", "_value", "strict", "initialTests", "initialErrors", "runOptions", "fired", "tests", "panicOnce", "arg", "nextOnce", "count", "nestedErrors", "index", "parentPath", "originalParent", "isIndex", "testOptions", "_", "_options$disableStack2", "reject", "parsed", "errors", "validated", "_options$disableStack3", "defaultValue", "def", "isStrict", "nullable", "optional", "opts", "isExclusive", "keys", "deps", "toArray", "dep", "Condition", "enums", "val", "valids", "resolved", "invalids", "strip", "meta", "n", "list", "c", "method", "alias", "returnsTrue", "create$8", "MixedSchema", "create$7", "BooleanSchema", "_raw", "boolean", "msg", "isoReg", "parseIsoDate", "date", "struct", "parseDateStruct", "totalMinutesOffset", "_regexResult$7$length", "_regexResult$", "regexResult", "toNumber", "str", "rEmail", "rUrl", "rUUID", "yearMonthDay", "hourMinuteSecond", "zOrOffset", "rIsoDateTime", "isTrimmed", "objStringTag", "create$6", "StringSchema", "strValue", "t", "length", "string", "min", "max", "regex", "excludeEmptyString", "allowOffset", "precision", "isNaN$1", "create$5", "NumberSchema", "number", "less", "more", "_method", "avail", "invalidDate", "isDate", "create$4", "DateSchema", "_DateSchema", "ref", "param", "cast", "limit", "sortFields", "fields", "excludedEdges", "edges", "nodes", "excludes", "a", "b", "addNode", "depPath", "node", "toposort", "findIndex", "arr", "ii", "_err$path", "sortByKeyOrder", "parseJson", "deepPartial", "partial", "fieldSchema", "nextArray", "deepHas", "p", "last", "isObject", "unknown", "known", "defaultSort", "create$3", "ObjectSchema", "_options$stripUnknown", "props", "intermediateValue", "innerOptions", "isChanged", "prop", "field", "exists", "fieldValue", "inputValue", "fieldSpec", "from", "recursive", "objectErrors", "fieldErrors", "nextFields", "schemaOrRef", "target", "dft", "_innerOptions", "shape", "additions", "picked", "remaining", "to", "fromGetter", "newObj", "noAllow", "object", "unknownKeys", "allow", "_innerOptions2", "create$2", "type", "ArraySchema", "_opts", "castArray", "castElement", "innerType", "arrayErrors", "_options$originalValu2", "_options$originalValu", "innerTypeErrors", "array", "original", "rejector", "values", "create$1", "schemas", "TupleSchema", "types", "tuple", "itemTypes", "tupleErrors", "itemSchema", "create", "builder", "Lazy", "_Lazy", "setLocale", "custom", "locale", "isValidPhone", "value", "parsePhoneNumberWithError", "error", "phoneNumber", "length", "create$6", "empty", "format", "model", "countries", "formatted", "country", "line", "formatMondialRelay", "formatLine", "baseSchema", "phoneRequired", "setLocale", "create$3", "create$6", "phoneNumber", "create$8", "schema", "value", "AddressType", "address", "safe", "__spreadValues", "__spreadProps", "city", "pickupPoint", "get", "address", "formatLine", "COUNTRIES", "description", "name", "proposal_exports", "__export", "isInvalid", "isPending", "isReady", "init_define_process_env", "init_sentry_release_injection_stub", "isPending", "proposal", "isInvalid", "isReady", "subscription_exports", "__export", "getReward", "init_define_process_env", "init_sentry_release_injection_stub", "getReward", "subscription", "project", "Reward", "sku_exports", "__export", "Sku", "getReward", "isLegacy", "title", "init_define_process_env", "init_sentry_release_injection_stub", "isReward", "item", "Sku", "orderItem", "project", "Reward", "Variant", "getReward", "sku", "isLegacy", "title", "sponsorship_exports", "__export", "avatar", "description", "mode", "tag", "init_define_process_env", "init_sentry_release_injection_stub", "tag", "sponsorship", "mode", "avatar", "version", "getUrl", "description", "get", "user_exports", "__export", "avatar", "fullName", "label", "privatizedName", "shortName", "tag", "username", "init_define_process_env", "init_sentry_release_injection_stub", "avatar", "user", "version", "getUrl", "fullName", "text_exports", "privatizedName", "shortName", "username", "tag", "role", "label"]
}