1 | {"version":3,"file":"index.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-click-outside/dist/index.js","../node_modules/libphonenumber-js/metadata.min.json.js","../node_modules/libphonenumber-js/es6/constants.js","../node_modules/libphonenumber-js/es6/util.js","../node_modules/libphonenumber-js/es6/ParseError.js","../node_modules/libphonenumber-js/es6/tools/semver-compare.js","../node_modules/libphonenumber-js/es6/metadata.js","../node_modules/libphonenumber-js/es6/extension.js","../node_modules/libphonenumber-js/es6/isViablePhoneNumber.js","../node_modules/libphonenumber-js/es6/parseDigits.js","../node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","../node_modules/libphonenumber-js/es6/getNumberType_.js","../node_modules/libphonenumber-js/es6/isPossibleNumber_.js","../node_modules/libphonenumber-js/es6/IDD.js","../node_modules/libphonenumber-js/es6/RFC3966.js","../node_modules/libphonenumber-js/es6/validate_.js","../node_modules/libphonenumber-js/es6/format_.js","../node_modules/libphonenumber-js/es6/PhoneNumber.js","../node_modules/libphonenumber-js/es6/parse_.js","../node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","../node_modules/libphonenumber-js/es6/parsePhoneNumber.js","../node_modules/libphonenumber-js/es6/parsePhoneNumberFromString_.js","../node_modules/libphonenumber-js/es6/parsePhoneNumberFromString.js","../node_modules/libphonenumber-js/es6/findNumbers/util.js","../node_modules/libphonenumber-js/es6/findNumbers/parsePreCandidate.js","../node_modules/libphonenumber-js/es6/findNumbers/isValidPreCandidate.js","../node_modules/libphonenumber-js/es6/findNumbers/utf-8.js","../node_modules/libphonenumber-js/es6/findNumbers/isValidCandidate.js","../node_modules/libphonenumber-js/es6/findPhoneNumbers_.js","../node_modules/libphonenumber-js/es6/findNumbers/LRUCache.js","../node_modules/libphonenumber-js/es6/findNumbers/RegExpCache.js","../node_modules/libphonenumber-js/es6/findNumbers/Leniency.js","../node_modules/libphonenumber-js/es6/PhoneNumberMatcher.js","../node_modules/libphonenumber-js/es6/AsYouType.js","../node_modules/libphonenumber-js/index.es6.js","../node_modules/classnames/index.js","../node_modules/react-country-flag/dist/index.es.js","../node_modules/lodash.omit/index.js","../src/lib/utils/detectMobile.js","../src/lib/components/PhoneInput/globe.png","../src/lib/utils/allCountries.js","../src/lib/utils/countries-fn.js","../node_modules/style-inject/dist/style-inject.es.js","../src/lib/components/PhoneInput/PhoneInput.js"],"sourcesContent":["/** @license React v16.8.6\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):\n60115,r=b?Symbol.for(\"react.lazy\"):60116;function t(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;\nexports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};\nexports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};\nexports.isSuspense=function(a){return t(a)===p};\n","/** @license React v16.8.6\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hoistNonReactStatic = require('hoist-non-react-statics');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nmodule.exports = function enhanceWithClickOutside(WrappedComponent) {\n var componentName = WrappedComponent.displayName || WrappedComponent.name;\n\n var EnhancedComponent = function (_React$Component) {\n _inherits(EnhancedComponent, _React$Component);\n\n function EnhancedComponent(props) {\n _classCallCheck(this, EnhancedComponent);\n\n var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));\n\n _this.handleClickOutside = _this.handleClickOutside.bind(_this);\n return _this;\n }\n\n _createClass(EnhancedComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'handleClickOutside',\n value: function handleClickOutside(e) {\n var domNode = this.__domNode;\n if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {\n this.__wrappedInstance.handleClickOutside(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n wrappedRef = _props.wrappedRef,\n rest = _objectWithoutProperties(_props, ['wrappedRef']);\n\n return React.createElement(WrappedComponent, _extends({}, rest, {\n ref: function ref(c) {\n _this2.__wrappedInstance = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n wrappedRef && wrappedRef(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React.Component);\n\n EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';\n\n return hoistNonReactStatic(EnhancedComponent, WrappedComponent);\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\":\"1.7.21\",\"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\"],\"800\":[\"001\"],\"808\":[\"001\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"870\":[\"001\"],\"878\":[\"001\"],\"880\":[\"BD\"],\"881\":[\"001\"],\"882\":[\"001\"],\"883\":[\"001\"],\"886\":[\"TW\"],\"888\":[\"001\"],\"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\"],\"979\":[\"001\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[136-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[136-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"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\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([457]\\\\d{6})$\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2457]\\\\d{6})$\",\"264$1\",0,\"264\"],\"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\"],\"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\",[\"[23]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"11\\\\d{8}|(?:[2368]|9\\\\d)\\\\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(?:[24-6]|3[2-5]))|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\",[\"[23]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$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(?:[24-6]|3[2-5]))|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)(\\\\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\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([267]\\\\d{6})$\",\"684$1\",0,\"684\"],\"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\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7,8}|8[0-24-9]\\\\d{7})|(?:[2-478]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{4,7}\",[5,6,7,8,9,10],[[\"(\\\\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|[45]\"],\"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,\"0|(183[12])\",0,0,0,[[\"(?:[237]\\\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\\\d|4[0-4]))|(?:[6-8]\\\\d{3}|9(?:[02-9]\\\\d\\\\d|1(?:[0-57-9]\\\\d|6[0135-9])))\\\\d))\\\\d{3}\",[9]],[\"4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"16\\\\d{3,7}\",[5,6,7,8,9]],[\"(?:14(?:5(?:1[0458]|[23][458])|71\\\\d)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"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}|(?:[147]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"(?:365\\\\d{3}|900200)\\\\d{3}|(?:[12457]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[12]|365\",\"[12]|365\",\"[12]|365(?:[0-46-9]|5[0-35-9])\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[3-8]\"],\"0$1\"]],\"0\"],\"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-356]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[13469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-7]\\\\d{8}|[2-9]\\\\d{7}|[3-689]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-7]|[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(?:28|4[14]|5)|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]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"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\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9],[[\"(\\\\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\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[047]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[2689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"]]]],\"BL\":[\"590\",\"00\",\"(?:590|69\\\\d)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[0-5]))\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-8]\\\\d{6})$\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d{3}|80017)\\\\d{4}\",[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)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"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-24679]))\\\\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(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-8]\\\\d{6})$\",\"242$1\",0,\"242\"],\"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\"]]]],\"BW\":[\"267\",\"00\",\"90\\\\d{5}|(?:[2-6]|7\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-6]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]]]],\"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,0,\"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\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}\",[10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\\\d{6}\"],0,0,0,[\"600[2-9]\\\\d{6}\"]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d|8[0-24-9])\\\\d{7}|(?:[148]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{5,7}\",[6,7,8,9,10],0,\"0\",0,\"0|([59]\\\\d{7})$\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60)|118)|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(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-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)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"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\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"801\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"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\"],\"CI\":[\"225\",\"00\",\"[02-8]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[02-8]\"]]]],\"CK\":[\"682\",\"00\",\"[2-8]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-8]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[0-57]|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\",[\"21\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[23]\"],\"($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\"]]]],\"CM\":[\"237\",\"00\",\"(?:[26]\\\\d\\\\d|88)\\\\d{6}\",[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]\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79|9[0235-7])\\\\d\\\\d00\",\"1[1279]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-68]\\\\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|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,\"0|(1(?:[12]\\\\d|79|9[0235-7])\\\\d\\\\d)\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:1\\\\d|3)\\\\d{9}|[124-8]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1[2-79]|[25-8]|(?:18|4)[2-9]\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1(?:80|9)\",\"1(?:800|9)\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|[24-8]\\\\d{7}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24-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))\"],\"CU\":[\"53\",\"119\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|5\\\\d{7}\",[6,7,8],[[\"(\\\\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\",[\"5\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"[2-59]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-59]\"]]]],\"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]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d|8[0-24-9])\\\\d{7}|(?:[148]\\\\d\\\\d|550)\\\\d{6}|1\\\\d{5,7}\",[6,7,8,9,10],0,\"0\",0,\"0|([59]\\\\d{7})$\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59)|117)|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(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-2457-9]|9[017-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)|550\\\\d\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\",[6,8,10]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"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{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[05]\\\\d{10}|[46][1-8]\\\\d{4,9})|49(?:[0-25]\\\\d|3[1-689]|7[1-7])\\\\d{4,8}|49(?:[0-2579]\\\\d|[34][1-9]|6[0-8])\\\\d{3}|49\\\\d{3,4}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}\",[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{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"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\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8[024]9\"],\"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\"],\"EC\":[\"593\",\"00\",\"1800\\\\d{6,7}|(?:[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\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d\\\\d|900)\\\\d{4}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-4])\",\"[45]|8(?:00[1-9]|[1-4])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"80\"]]]],\"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\",[\"[189]\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"(?:51|[6-9]\\\\d)\\\\d{7}\",[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]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-59]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-59]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}|[1-35689]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[12]0|7)0|[368]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[12457]\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"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,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"[39]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[39]\"]]]],\"FO\":[\"298\",\"00\",\"(?:[2-8]\\\\d|90)\\\\d{4}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"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\"],\"GA\":[\"241\",\"00\",\"(?:0\\\\d|[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\"]]]],\"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[024-9])\",\"[25]|7(?:0|6(?:[04-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]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|2(?:0[024-9]|1[0-7]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)|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]))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d)\\\\d{6}|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]))|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|7(?:(?:26(?:6[13-9]|7[0-7])|442\\\\d|50(?:2[0-3]|[3-68]2|76))\\\\d|6888[2-46-8]))\\\\d\\\\d\",[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(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"473$1\",0,\"473\"],\"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\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"0|([25-9]\\\\d{5})$\",\"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(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\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\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d\\\\d|629)\\\\d{5}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-689]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"(?:30|6\\\\d\\\\d|722)\\\\d{6}\",[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]\"]]]],\"GP\":[\"590\",\"00\",\"(?:590|69\\\\d)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|1[0-2]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[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]\"]]]],\"GR\":[\"30\",\"00\",\"(?:[268]\\\\d|[79]0)\\\\d{8}\",[10],[[\"(\\\\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])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-9]\\\\d{6})$\",\"671$1\",0,\"671\"],\"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]\"]]]],\"GY\":[\"592\",\"001\",\"(?:862\\\\d|9008)\\\\d{3}|(?:[2-46]\\\\d|77)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4}(?:\\\\d(?:\\\\d(?:\\\\d{4})?)?)?|(?:[235-79]\\\\d|46)\\\\d{6}\",[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,0,\"00\"],\"HN\":[\"504\",\"00\",\"[237-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"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\",[\"[67]\"],\"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-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"[2-489]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]]],\"HU\":[\"36\",\"00\",\"[2357]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"($1)\"]],\"06\"],\"ID\":[\"62\",\"00[189]\",\"(?:(?:007803|8\\\\d{4})\\\\d|[1-36])\\\\d{6}|[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\"],\"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)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"]],\"0\"],\"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\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"0|([5-8]\\\\d{5})$\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:00800|[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])|6(?:[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?: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|(?:55|61)2|7(?: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])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?: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]|(?:1(?:29|60|8[06])|261|552|788[01])[2-7]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])\"],\"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-8])|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-8])|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(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|3179)|807(?:1|9[1-3])|(?:1552|7(?: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\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"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\"],\"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\"],\"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,0,\"00\"],\"IT\":[\"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],[[\"(\\\\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[245])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[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[4679]|[38]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]\"]],[\"(\\\\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[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d\\\\d|89(?:2|4[5-9]\\\\d))\\\\d{3}|89[45][0-4]\\\\d\\\\d|(?:1(?:44|6[346])|89(?: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|([0-24-8]\\\\d{5})$\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\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(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"900\\\\d{5}|(?:(?:[268]|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\"],\"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|63)|9(?:49|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[78]|96)|477|51[24]|636)|9(?:496|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[78]|96[2457-9])|477|51[24]|636[2-57-9])|9(?:496|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[045]|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[279]|49|6[0-24-689]|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(?:[0468][01]|[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]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|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])|49|6(?:[0-24]|5[0-3589]|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]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?: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(?:[0468][01]|[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]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|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]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[0468][01]|[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|2[01]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|6(?:[0-24]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3[3-8]|5[2-9])\",\"[14]|[29][2-9]|5[3-9]|7[2-4679]|8(?:[246-9]|3(?:[3-6][2-9]|7|8[2-5])|5[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[2579]|80\"],\"0$1\"]],\"0\"],\"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\"],\"KG\":[\"996\",\"00\",\"(?:[235-7]\\\\d|99)\\\\d{7}|800\\\\d{6,7}\",[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]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"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\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|2)\\\\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\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"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))?\"],\"KW\":[\"965\",\"00\",\"(?:18|[2569]\\\\d\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[25]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"33622\\\\d{5}|(?:7\\\\d|80)\\\\d{8}\",[10],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"(?:2\\\\d|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\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[7-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\",[\"[7-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"90\\\\d{5}|(?:[2378]|6\\\\d\\\\d)\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[237-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"0|(10(?:01|20|66))\"],\"LK\":[\"94\",\"00\",\"(?:[1-7]\\\\d|[89]1)\\\\d{7}\",[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\"],\"LR\":[\"231\",\"00\",\"(?:2|33|5\\\\d|77|88)\\\\d{7}|[45]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-79]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",0,\"[08]\"],\"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)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"(?:[2569]\\\\d|71)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[25-79]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29|38)[89]\"],\"0$1\"],[\"(\\\\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-489]|3[5-9]|9)|892\"],\"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(?:29|38)[89]0\\\\d{4}|5(?:2(?:[015-7]\\\\d|2[2-9]|3[2-57]|4[2-46-8]|8[235-7]|90)|3(?:[0-4]\\\\d|[57][2-9]|6[2-8]|80|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"692[12]\\\\d{5}|(?:6(?:[0-7]\\\\d|8[0-247-9]|9[013-9])|7(?:0[06-8]|6[1267]|7[0-27]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"5924[01]\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"870\\\\d{5}|(?:[349]|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\",[\"[39]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"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\"],\"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\"],\"MF\":[\"590\",\"00\",\"(?:590|69\\\\d)\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[29]|3[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,\"0|([24-9]\\\\d{6})$\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"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\"],\"ML\":[\"223\",\"00\",\"(?:[246-9]\\\\d|50)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"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\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[57-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\",[\"[57-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\"],\"MO\":[\"853\",\"00\",\"(?:28|[68]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"(?:596|69\\\\d)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]\"],\"0$1\"]],\"0\"],\"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]\"]]]],\"MS\":[\"1\",\"011\",\"66449\\\\d{5}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|(4\\\\d{6})$\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[2-468]|5\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"5\"]]],0,0,0,0,0,0,0,\"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\",[\"[3467]|9[14-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"1\\\\d{6}(?:\\\\d{2})?|(?:[23]1|77|88|99)\\\\d{7}\",[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{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[17-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"(?:1\\\\d|[2-9])\\\\d{9}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],\"01 $1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],\"01 $1\",1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],\"044 $1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],\"044 $1\",0,\"$1 $2 $3 $4\"]],\"01\",0,\"0[12]|04[45]([2-9]\\\\d{9})$\",\"1$1\",0,0,0,\"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(?:[0249]|[367][2-9]|8[1-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[36-8]\"]],[\"(\\\\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\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-7]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"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\"],\"NC\":[\"687\",\"00\",\"[2-57-9]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[0289]\\\\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[01]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"3\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[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-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"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\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|[89]\\\\d{6,9}|1\\\\d{4,5}\",[5,6,7,8,9,10],[[\"(\\\\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-57-9]\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[489]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-7]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"9\\\\d{9}|[1-9]\\\\d{7}\",[8,10],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"[1-8]|9(?:[1-579]|6[2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|55\\\\d|888)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[458]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[28]\\\\d{7,9}|[346]\\\\d{7}|(?:508|[79]\\\\d)\\\\d{6,7}\",[8,9,10],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"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)|[59]|80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7|86\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:[279]\\\\d{3}|500)\\\\d{4}|8007\\\\d{4,5}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[79]\"]]]],\"PA\":[\"507\",\"00\",\"(?:[1-57-9]|6\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"6\"]]]],\"PE\":[\"51\",\"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,0,0,\" Anexo \"],\"PF\":[\"689\",\"00\",\"[48]\\\\d{7}|4\\\\d{5}\",[6,8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[48]\"]]]],\"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,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:1800|8)\\\\d{7,9}|2\\\\d{5}(?:\\\\d{2})?|(?:[3-7]|9\\\\d)\\\\d{8}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"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{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\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[025-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})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"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{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{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\"],\"PL\":[\"48\",\"00\",\"[1-57-9]\\\\d{6}(?:\\\\d{2})?|6\\\\d{5,8}\",[6,7,8,9],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|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\",[\"39|45|5[0137]|6[0469]|7[02389]|8[08]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-8]|9[145]\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"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\"],\"PT\":[\"351\",\"00\",\"(?:[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\",[\"[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[25-8]\\\\d\\\\d|345|488|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|(?:[2-46-9]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9],[[\"(\\\\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[347]|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|[3-7]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[126]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[68]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[268]\"],\"0$1\"]],\"0\",0,0,0,0,\"262|69|8\"],\"RO\":[\"40\",\"00\",\"(?:[237]\\\\d|[89]0)\\\\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\",[\"[237-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,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\"],\"RU\":[\"7\",\"810\",\"[347-9]\\\\d{9}\",[10],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-6]2|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\",[\"[3489]\"],\"8 ($1)\",1]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"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\"],\"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\"],\"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])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"8000\\\\d{3}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"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)\"],\"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[013689]|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\",[\"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\"],\"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[1-8]\"]],[\"(\\\\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\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"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,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[4589]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"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\"],\"SL\":[\"232\",\"00\",\"(?:[2378]\\\\d|99)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[237-9]\"],\"(0$1)\"]],\"0\"],\"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\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d{4}|93330)\\\\d{4}\",[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]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|(?:[1-4]\\\\d|59)\\\\d{5}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"1|2[0-79]|3[0-46-8]|4[0-7]|59\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"24|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79[0-8]|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[1-35-9]|799|9[2-9]\"]]],\"0\"],\"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]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|[89]00\\\\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]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|(5\\\\d{6})$\",\"721$1\",0,\"721\"],\"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\"],\"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\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-479]\\\\d{6})$\",\"649$1\",0,\"649\"],\"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,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"1\\\\d{8,9}|(?:[2-57]|[689]\\\\d)\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"14|[3-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"(?:[3-59]\\\\d|77|88)\\\\d{7}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"],0,1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7|91[78]\"],0,1],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[457-9]\"],0,1]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"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\"]]]],\"TM\":[\"993\",\"810\",\"[1-6]\\\\d{7}\",[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\",[\"6\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|[5-8]\\\\d{3})\\\\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-8]\"]]]],\"TR\":[\"90\",\"00\",\"(?:[2-58]\\\\d\\\\d|900)\\\\d{7}|4\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[0589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|616)\",\"5(?:[0-59]|6161)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-46-8]\\\\d{6})$\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"(?:[24589]|7\\\\d)\\\\d{8}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25][2-8]|[346]|7[1-9]|8[237-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[258]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[26-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{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"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{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\",\"4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"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\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-2])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|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}\"],[\"5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"710[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"(?:[249]\\\\d\\\\d|80)\\\\d{5}|9\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[24]\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"[679]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[679]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"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\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[89]00\\\\d{7}|(?:[24]\\\\d|50)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24589]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-578]\\\\d{6})$\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"340$1\",0,\"340\"],\"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\",[\"[69]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"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\"],\"VU\":[\"678\",\"00\",\"(?:[23]\\\\d|[48]8)\\\\d{3}|(?:[57]\\\\d|90)\\\\d{5}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[579]\"]]]],\"WF\":[\"681\",\"00\",\"(?:[45]0|68|72|8\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[4-8]\"]]]],\"WS\":[\"685\",\"0\",\"[2-6]\\\\d{4}|8\\\\d{5}(?:\\\\d{4})?|[78]\\\\d{6}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-6]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"8\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\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\",[\"[23]\"],\"0$1\"]],\"0\"],\"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-68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"80\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,\"269|63\"],\"ZA\":[\"27\",\"00\",\"[1-9]\\\\d{8}|8\\\\d{4,7}\",[5,6,7,8,9],[[\"(\\\\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\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|76|9\\\\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\"],\"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\"],\"001\":[\"979\",0,\"\\\\d{9}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\"]]]}}","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2;\n\n// The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\nexport var MAX_LENGTH_FOR_NSN = 17;\n\n// The maximum length of the country calling code.\nexport var MAX_LENGTH_COUNTRY_CODE = 3;\n\n// Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\nexport var VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9';\n\n// `DASHES` will be right after the opening square bracket of the \"character class\"\nvar DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D';\nvar SLASHES = '\\uFF0F/';\nvar DOTS = '\\uFF0E.';\nexport var WHITESPACE = ' \\xA0\\xAD\\u200B\\u2060\\u3000';\nvar BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]';\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\nvar TILDES = '~\\u2053\\u223C\\uFF5E';\n\n// Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\nexport var VALID_PUNCTUATION = '' + DASHES + SLASHES + DOTS + WHITESPACE + BRACKETS + TILDES;\n\nexport var PLUS_CHARS = '+\\uFF0B';\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","// Checks whether the entire input sequence can be matched\n// against the regular expression.\nexport function matchesEntirely() {\n\tvar text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\tvar regular_expression = arguments[1];\n\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport function mergeArrays(a, b) {\n\tvar merged = a.slice();\n\n\tfor (var _iterator = b, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar element = _ref;\n\n\t\tif (a.indexOf(element) < 0) {\n\t\t\tmerged.push(element);\n\t\t}\n\t}\n\n\treturn merged.sort(function (a, b) {\n\t\treturn a - b;\n\t});\n\n\t// ES6 version, requires Set polyfill.\n\t// let merged = new Set(a)\n\t// for (const element of b)\n\t// {\n\t// \tmerged.add(i)\n\t// }\n\t// return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=util.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// https://stackoverflow.com/a/46971044/970769\nvar ParseError = function ParseError(code) {\n _classCallCheck(this, ParseError);\n\n this.name = this.constructor.name;\n this.message = code;\n this.stack = new Error(code).stack;\n};\n\nexport default ParseError;\n\n\nParseError.prototype = Object.create(Error.prototype);\nParseError.prototype.constructor = ParseError;\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\nexport default function cmp(a, b) {\n var pa = a.split('.');\n var pb = b.split('.');\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n return 0;\n};\n//# sourceMappingURL=semver-compare.js.map","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport compare from './tools/semver-compare';\n\n// Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\nvar V2 = '1.0.18';\n\n// Added \"idd_prefix\" and \"default_idd_prefix\".\nvar V3 = '1.2.0';\n\nvar DEFAULT_EXT_PREFIX = ' ext. ';\n\nvar Metadata = function () {\n\tfunction Metadata(metadata) {\n\t\t_classCallCheck(this, Metadata);\n\n\t\tvalidateMetadata(metadata);\n\n\t\tthis.metadata = metadata;\n\n\t\tthis.v1 = !metadata.version;\n\t\tthis.v2 = metadata.version !== undefined && compare(metadata.version, V3) === -1;\n\t\tthis.v3 = metadata.version !== undefined; // && compare(metadata.version, V4) === -1\n\t}\n\n\t_createClass(Metadata, [{\n\t\tkey: 'hasCountry',\n\t\tvalue: function hasCountry(country) {\n\t\t\treturn this.metadata.countries[country] !== undefined;\n\t\t}\n\t}, {\n\t\tkey: 'country',\n\t\tvalue: function country(_country) {\n\t\t\tif (!_country) {\n\t\t\t\tthis._country = undefined;\n\t\t\t\tthis.country_metadata = undefined;\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (!this.hasCountry(_country)) {\n\t\t\t\tthrow new Error('Unknown country: ' + _country);\n\t\t\t}\n\n\t\t\tthis._country = _country;\n\t\t\tthis.country_metadata = this.metadata.countries[_country];\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: 'getDefaultCountryMetadataForRegion',\n\t\tvalue: function getDefaultCountryMetadataForRegion() {\n\t\t\treturn this.metadata.countries[this.countryCallingCodes()[this.countryCallingCode()][0]];\n\t\t}\n\t}, {\n\t\tkey: 'countryCallingCode',\n\t\tvalue: function countryCallingCode() {\n\t\t\treturn this.country_metadata[0];\n\t\t}\n\t}, {\n\t\tkey: 'IDDPrefix',\n\t\tvalue: function IDDPrefix() {\n\t\t\tif (this.v1 || this.v2) return;\n\t\t\treturn this.country_metadata[1];\n\t\t}\n\t}, {\n\t\tkey: 'defaultIDDPrefix',\n\t\tvalue: function defaultIDDPrefix() {\n\t\t\tif (this.v1 || this.v2) return;\n\t\t\treturn this.country_metadata[12];\n\t\t}\n\t}, {\n\t\tkey: 'nationalNumberPattern',\n\t\tvalue: function nationalNumberPattern() {\n\t\t\tif (this.v1 || this.v2) return this.country_metadata[1];\n\t\t\treturn this.country_metadata[2];\n\t\t}\n\t}, {\n\t\tkey: 'possibleLengths',\n\t\tvalue: function possibleLengths() {\n\t\t\tif (this.v1) return;\n\t\t\treturn this.country_metadata[this.v2 ? 2 : 3];\n\t\t}\n\t}, {\n\t\tkey: '_getFormats',\n\t\tvalue: function _getFormats(country_metadata) {\n\t\t\treturn country_metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n\t\t}\n\n\t\t// For countries of the same region (e.g. NANPA)\n\t\t// formats are all stored in the \"main\" country for that region.\n\t\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n\t}, {\n\t\tkey: 'formats',\n\t\tvalue: function formats() {\n\t\t\tvar _this = this;\n\n\t\t\tvar formats = this._getFormats(this.country_metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n\t\t\treturn formats.map(function (_) {\n\t\t\t\treturn new Format(_, _this);\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefix',\n\t\tvalue: function nationalPrefix() {\n\t\t\treturn this.country_metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n\t\t}\n\t}, {\n\t\tkey: '_getNationalPrefixFormattingRule',\n\t\tvalue: function _getNationalPrefixFormattingRule(country_metadata) {\n\t\t\treturn country_metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n\t\t}\n\n\t\t// For countries of the same region (e.g. NANPA)\n\t\t// national prefix formatting rule is stored in the \"main\" country for that region.\n\t\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n\t}, {\n\t\tkey: 'nationalPrefixFormattingRule',\n\t\tvalue: function nationalPrefixFormattingRule() {\n\t\t\treturn this._getNationalPrefixFormattingRule(this.country_metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefixForParsing',\n\t\tvalue: function nationalPrefixForParsing() {\n\t\t\t// If `national_prefix_for_parsing` is not set explicitly,\n\t\t\t// then infer it from `national_prefix` (if any)\n\t\t\treturn this.country_metadata[this.v1 ? 5 : this.v2 ? 6 : 7] || this.nationalPrefix();\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefixTransformRule',\n\t\tvalue: function nationalPrefixTransformRule() {\n\t\t\treturn this.country_metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n\t\t}\n\t}, {\n\t\tkey: '_getNationalPrefixIsOptionalWhenFormatting',\n\t\tvalue: function _getNationalPrefixIsOptionalWhenFormatting() {\n\t\t\treturn !!this.country_metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n\t\t}\n\n\t\t// For countries of the same region (e.g. NANPA)\n\t\t// \"national prefix is optional when parsing\" flag is\n\t\t// stored in the \"main\" country for that region.\n\t\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n\t}, {\n\t\tkey: 'nationalPrefixIsOptionalWhenFormatting',\n\t\tvalue: function nationalPrefixIsOptionalWhenFormatting() {\n\t\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.country_metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n\t\t}\n\t}, {\n\t\tkey: 'leadingDigits',\n\t\tvalue: function leadingDigits() {\n\t\t\treturn this.country_metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n\t\t}\n\t}, {\n\t\tkey: 'types',\n\t\tvalue: function types() {\n\t\t\treturn this.country_metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n\t\t}\n\t}, {\n\t\tkey: 'hasTypes',\n\t\tvalue: function hasTypes() {\n\t\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\n\t\t\t/* istanbul ignore next */\n\t\t\tif (this.types() && this.types().length === 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Versions <= 1.2.4: can be `undefined`.\n\t\t\t// Version >= 1.2.5: can be `0`.\n\t\t\treturn !!this.types();\n\t\t}\n\t}, {\n\t\tkey: 'type',\n\t\tvalue: function type(_type) {\n\t\t\tif (this.hasTypes() && getType(this.types(), _type)) {\n\t\t\t\treturn new Type(getType(this.types(), _type), this);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'ext',\n\t\tvalue: function ext() {\n\t\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n\t\t\treturn this.country_metadata[13] || DEFAULT_EXT_PREFIX;\n\t\t}\n\t}, {\n\t\tkey: 'countryCallingCodes',\n\t\tvalue: function countryCallingCodes() {\n\t\t\tif (this.v1) return this.metadata.country_phone_code_to_countries;\n\t\t\treturn this.metadata.country_calling_codes;\n\t\t}\n\n\t\t// Formatting information for regions which share\n\t\t// a country calling code is contained by only one region\n\t\t// for performance reasons. For example, for NANPA region\n\t\t// (\"North American Numbering Plan Administration\",\n\t\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\n\t\t// it will be contained in the metadata for `US`.\n\t\t//\n\t\t// `country_calling_code` is always valid.\n\t\t// But the actual country may not necessarily be part of the metadata.\n\t\t//\n\n\t}, {\n\t\tkey: 'chooseCountryByCountryCallingCode',\n\t\tvalue: function chooseCountryByCountryCallingCode(country_calling_code) {\n\t\t\tvar country = this.countryCallingCodes()[country_calling_code][0];\n\n\t\t\t// Do not want to test this case.\n\t\t\t// (custom metadata, not all countries).\n\t\t\t/* istanbul ignore else */\n\t\t\tif (this.hasCountry(country)) {\n\t\t\t\tthis.country(country);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'selectedCountry',\n\t\tvalue: function selectedCountry() {\n\t\t\treturn this._country;\n\t\t}\n\t}]);\n\n\treturn Metadata;\n}();\n\nexport default Metadata;\n\nvar Format = function () {\n\tfunction Format(format, metadata) {\n\t\t_classCallCheck(this, Format);\n\n\t\tthis._format = format;\n\t\tthis.metadata = metadata;\n\t}\n\n\t_createClass(Format, [{\n\t\tkey: 'pattern',\n\t\tvalue: function pattern() {\n\t\t\treturn this._format[0];\n\t\t}\n\t}, {\n\t\tkey: 'format',\n\t\tvalue: function format() {\n\t\t\treturn this._format[1];\n\t\t}\n\t}, {\n\t\tkey: 'leadingDigitsPatterns',\n\t\tvalue: function leadingDigitsPatterns() {\n\t\t\treturn this._format[2] || [];\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefixFormattingRule',\n\t\tvalue: function nationalPrefixFormattingRule() {\n\t\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule();\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefixIsOptionalWhenFormatting',\n\t\tvalue: function nationalPrefixIsOptionalWhenFormatting() {\n\t\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormatting();\n\t\t}\n\t}, {\n\t\tkey: 'nationalPrefixIsMandatoryWhenFormatting',\n\t\tvalue: function nationalPrefixIsMandatoryWhenFormatting() {\n\t\t\t// National prefix is omitted if there's no national prefix formatting rule\n\t\t\t// set for this country, or when the national prefix formatting rule\n\t\t\t// contains no national prefix itself, or when this rule is set but\n\t\t\t// national prefix is optional for this phone number format\n\t\t\t// (and it is not enforced explicitly)\n\t\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormatting();\n\t\t}\n\n\t\t// Checks whether national prefix formatting rule contains national prefix.\n\n\t}, {\n\t\tkey: 'usesNationalPrefix',\n\t\tvalue: function usesNationalPrefix() {\n\t\t\treturn this.nationalPrefixFormattingRule() &&\n\t\t\t// Check that national prefix formatting rule is not a dummy one.\n\t\t\tthis.nationalPrefixFormattingRule() !== '$1' &&\n\t\t\t// Check that national prefix formatting rule actually has national prefix digit(s).\n\t\t\t/\\d/.test(this.nationalPrefixFormattingRule().replace('$1', ''));\n\t\t}\n\t}, {\n\t\tkey: 'internationalFormat',\n\t\tvalue: function internationalFormat() {\n\t\t\treturn this._format[5] || this.format();\n\t\t}\n\t}]);\n\n\treturn Format;\n}();\n\nvar Type = function () {\n\tfunction Type(type, metadata) {\n\t\t_classCallCheck(this, Type);\n\n\t\tthis.type = type;\n\t\tthis.metadata = metadata;\n\t}\n\n\t_createClass(Type, [{\n\t\tkey: 'pattern',\n\t\tvalue: function pattern() {\n\t\t\tif (this.metadata.v1) return this.type;\n\t\t\treturn this.type[0];\n\t\t}\n\t}, {\n\t\tkey: 'possibleLengths',\n\t\tvalue: function possibleLengths() {\n\t\t\tif (this.metadata.v1) return;\n\t\t\treturn this.type[1] || this.metadata.possibleLengths();\n\t\t}\n\t}]);\n\n\treturn Type;\n}();\n\nfunction getType(types, type) {\n\tswitch (type) {\n\t\tcase 'FIXED_LINE':\n\t\t\treturn types[0];\n\t\tcase 'MOBILE':\n\t\t\treturn types[1];\n\t\tcase 'TOLL_FREE':\n\t\t\treturn types[2];\n\t\tcase 'PREMIUM_RATE':\n\t\t\treturn types[3];\n\t\tcase 'PERSONAL_NUMBER':\n\t\t\treturn types[4];\n\t\tcase 'VOICEMAIL':\n\t\t\treturn types[5];\n\t\tcase 'UAN':\n\t\t\treturn types[6];\n\t\tcase 'PAGER':\n\t\t\treturn types[7];\n\t\tcase 'VOIP':\n\t\t\treturn types[8];\n\t\tcase 'SHARED_COST':\n\t\t\treturn types[9];\n\t}\n}\n\nexport function validateMetadata(metadata) {\n\tif (!metadata) {\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n\t}\n\n\t// `country_phone_code_to_countries` was renamed to\n\t// `country_calling_codes` in `1.0.18`.\n\tif (!is_object(metadata) || !is_object(metadata.countries) || !is_object(metadata.country_calling_codes) && !is_object(metadata.country_phone_code_to_countries)) {\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument was passed but it\\'s not a valid metadata. Must be an object having `.countries` and `.country_calling_codes` child object properties. Got ' + (is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata) + '.');\n\t}\n}\n\n// Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n/* istanbul ignore next */\nvar is_object = function is_object(_) {\n\treturn (typeof _ === 'undefined' ? 'undefined' : _typeof(_)) === 'object';\n};\n\n// Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n/* istanbul ignore next */\nvar type_of = function type_of(_) {\n\treturn typeof _ === 'undefined' ? 'undefined' : _typeof(_);\n};\n\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 */\nexport function getExtPrefix(country, metadata) {\n\tmetadata = new Metadata(metadata);\n\tif (metadata.hasCountry(country)) {\n\t\treturn metadata.country(country).ext();\n\t}\n\treturn DEFAULT_EXT_PREFIX;\n}\n\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 */\nexport function getCountryCallingCode(country, metadata) {\n\tmetadata = new Metadata(metadata);\n\tif (metadata.hasCountry(country)) {\n\t\treturn metadata.country(country).countryCallingCode();\n\t}\n\tthrow new Error('Unknown country: ' + country);\n}\n\nexport function isSupportedCountry(country, metadata) {\n\t// metadata = new Metadata(metadata)\n\t// return metadata.hasCountry(country)\n\treturn metadata.countries[country] !== undefined;\n}\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from './constants';\n\n// The RFC 3966 format for extensions.\nvar RFC3966_EXTN_PREFIX = ';ext=';\n\n// Pattern to capture digits used in an extension.\n// Places a maximum length of '7' for an extension.\nvar CAPTURING_EXTN_DIGITS = '([' + VALID_DIGITS + ']{1,7})';\n\n/**\r\n * Regexp of all possible ways to write extensions, for use when parsing. This\r\n * will be run as a case-insensitive regexp match. Wide character versions are\r\n * also provided after each ASCII version. There are three regular expressions\r\n * here. The first covers RFC 3966 format, where the extension is added using\r\n * ';ext='. The second more generic one starts with optional white space and\r\n * ends with an optional full stop (.), followed by zero or more spaces/tabs\r\n * /commas and then the numbers themselves. The other one covers the special\r\n * case of American numbers where the extension is written with a hash at the\r\n * end, such as '- 503#'. Note that the only capturing groups should be around\r\n * the digits that you want to capture as part of the extension, or else parsing\r\n * will fail! We allow two options for representing the accented o - the\r\n * character itself, and one in the unicode decomposed form with the combining\r\n * acute accent.\r\n */\nfunction create_extension_pattern(purpose) {\n\t// One-character symbols that can be used to indicate an extension.\n\tvar single_extension_characters = 'x\\uFF58#\\uFF03~\\uFF5E';\n\n\tswitch (purpose) {\n\t\t// For parsing, we are slightly more lenient in our interpretation than for matching. Here we\n\t\t// allow \"comma\" and \"semicolon\" as possible extension indicators. When matching, these are\n\t\tcase 'parsing':\n\t\t\tsingle_extension_characters = ',;' + single_extension_characters;\n\t}\n\n\treturn RFC3966_EXTN_PREFIX + CAPTURING_EXTN_DIGITS + '|' + '[ \\xA0\\\\t,]*' + '(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|' +\n\t// \"доб.\"\n\t'\\u0434\\u043E\\u0431|' + '[' + single_extension_characters + ']|int|anexo|\\uFF49\\uFF4E\\uFF54)' + '[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*' + CAPTURING_EXTN_DIGITS + '#?|' + '[- ]+([' + VALID_DIGITS + ']{1,5})#';\n}\n\n/**\r\n * Regexp of all possible ways to write extensions, for use when parsing. This\r\n * will be run as a case-insensitive regexp match. Wide character versions are\r\n * also provided after each ASCII version. There are three regular expressions\r\n * here. The first covers RFC 3966 format, where the extension is added using\r\n * ';ext='. The second more generic one starts with optional white space and\r\n * ends with an optional full stop (.), followed by zero or more spaces/tabs\r\n * /commas and then the numbers themselves. The other one covers the special\r\n * case of American numbers where the extension is written with a hash at the\r\n * end, such as '- 503#'. Note that the only capturing groups should be around\r\n * the digits that you want to capture as part of the extension, or else parsing\r\n * will fail! We allow two options for representing the accented o - the\r\n * character itself, and one in the unicode decomposed form with the combining\r\n * acute accent.\r\n */\nexport var EXTN_PATTERNS_FOR_PARSING = create_extension_pattern('parsing');\n\nexport var EXTN_PATTERNS_FOR_MATCHING = create_extension_pattern('matching');\n\n// Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\nvar EXTN_PATTERN = new RegExp('(?:' + EXTN_PATTERNS_FOR_PARSING + ')$', 'i');\n\n// Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\nexport function extractExtension(number) {\n\tvar start = number.search(EXTN_PATTERN);\n\tif (start < 0) {\n\t\treturn {};\n\t}\n\n\t// If we find a potential extension, and the number preceding this is a viable\n\t// number, we assume it is an extension.\n\tvar number_without_extension = number.slice(0, start);\n\n\tvar matches = number.match(EXTN_PATTERN);\n\tvar i = 1;\n\twhile (i < matches.length) {\n\t\tif (matches[i] != null && matches[i].length > 0) {\n\t\t\treturn {\n\t\t\t\tnumber: number_without_extension,\n\t\t\t\text: matches[i]\n\t\t\t};\n\t\t}\n\t\ti++;\n\t}\n}\n//# sourceMappingURL=extension.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants';\n\nimport { EXTN_PATTERNS_FOR_PARSING } from './extension';\n\n// Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}';\n//\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\nvar VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\n// The combined regular expression for valid phone numbers:\n//\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\n// Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' +\n// Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER +\n// Phone number extensions\n'(?:' + EXTN_PATTERNS_FOR_PARSING + ')?' + '$', 'i');\n\n// Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\nexport default function isViablePhoneNumber(number) {\n\treturn number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n\t'0': '0',\n\t'1': '1',\n\t'2': '2',\n\t'3': '3',\n\t'4': '4',\n\t'5': '5',\n\t'6': '6',\n\t'7': '7',\n\t'8': '8',\n\t'9': '9',\n\t'\\uFF10': '0', // Fullwidth digit 0\n\t'\\uFF11': '1', // Fullwidth digit 1\n\t'\\uFF12': '2', // Fullwidth digit 2\n\t'\\uFF13': '3', // Fullwidth digit 3\n\t'\\uFF14': '4', // Fullwidth digit 4\n\t'\\uFF15': '5', // Fullwidth digit 5\n\t'\\uFF16': '6', // Fullwidth digit 6\n\t'\\uFF17': '7', // Fullwidth digit 7\n\t'\\uFF18': '8', // Fullwidth digit 8\n\t'\\uFF19': '9', // Fullwidth digit 9\n\t'\\u0660': '0', // Arabic-indic digit 0\n\t'\\u0661': '1', // Arabic-indic digit 1\n\t'\\u0662': '2', // Arabic-indic digit 2\n\t'\\u0663': '3', // Arabic-indic digit 3\n\t'\\u0664': '4', // Arabic-indic digit 4\n\t'\\u0665': '5', // Arabic-indic digit 5\n\t'\\u0666': '6', // Arabic-indic digit 6\n\t'\\u0667': '7', // Arabic-indic digit 7\n\t'\\u0668': '8', // Arabic-indic digit 8\n\t'\\u0669': '9', // Arabic-indic digit 9\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\n};\n\nexport function parseDigit(character) {\n\treturn DIGITS[character];\n}\n\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 */\nexport default function parseDigits(string) {\n\tvar result = '';\n\n\t// Using `.split('')` here instead of normal `for ... of`\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\n\t// (the ones consisting of four bytes) but digits\n\t// (including non-European ones) don't fall into that range\n\t// so such \"exotic\" characters would be discarded anyway.\n\tfor (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar character = _ref;\n\n\t\tvar digit = parseDigit(character);\n\t\tif (digit) {\n\t\t\tresult += digit;\n\t\t}\n\t}\n\n\treturn result;\n}\n//# sourceMappingURL=parseDigits.js.map","import { parseDigit } from './parseDigits';\n\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 * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * // Outputs '+7800555'.\r\n * ```\r\n */\nexport default function parseIncompletePhoneNumber(string) {\n\tvar result = '';\n\n\t// Using `.split('')` here instead of normal `for ... of`\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\n\t// (the ones consisting of four bytes) but digits\n\t// (including non-European ones) don't fall into that range\n\t// so such \"exotic\" characters would be discarded anyway.\n\tfor (var _iterator = string.split(''), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar character = _ref;\n\n\t\tresult += parsePhoneNumberCharacter(character, result) || '';\n\t}\n\n\treturn result;\n}\n\n/**\r\n * `input-format` `parse()` function.\r\n * https://github.com/catamphetamine/input-format\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string} value - The value parsed so far.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\nexport function parsePhoneNumberCharacter(character, value) {\n\t// Only allow a leading `+`.\n\tif (character === '+') {\n\t\t// If this `+` is not the first parsed character\n\t\t// then discard it.\n\t\tif (value) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn '+';\n\t}\n\n\t// Allow digits.\n\treturn parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","import Metadata from './metadata';\nimport { matchesEntirely, mergeArrays } from './util';\n\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL'];\n\n// Finds out national phone number type (fixed line, mobile, etc)\nexport default function getNumberType(input) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\tvar metadata = arguments[2];\n\n\t// When `parse()` returned `{}`\n\t// meaning that the phone number is not a valid one.\n\tif (!input.country) {\n\t\treturn;\n\t}\n\n\tmetadata = new Metadata(metadata);\n\n\tif (!metadata.hasCountry(input.country)) {\n\t\tthrow new Error('Unknown country: ' + input.country);\n\t}\n\n\tvar nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n\tmetadata.country(input.country);\n\n\t// The following is copy-pasted from the original function:\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n\n\t// Is this national number even valid for this country\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n\t\treturn;\n\t}\n\n\t// Is it fixed line number\n\tif (is_of_type(nationalNumber, 'FIXED_LINE', metadata)) {\n\t\t// Because duplicate regular expressions are removed\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\n\t\t//\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\n\t\t}\n\n\t\t// v1 metadata.\n\t\t// Legacy.\n\t\t// Deprecated.\n\t\tif (!metadata.type('MOBILE')) {\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\n\t\t}\n\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\n\t\t// (no such country in the minimal metadata set)\n\t\t/* istanbul ignore if */\n\t\tif (is_of_type(nationalNumber, 'MOBILE', metadata)) {\n\t\t\treturn 'FIXED_LINE_OR_MOBILE';\n\t\t}\n\n\t\treturn 'FIXED_LINE';\n\t}\n\n\tfor (var _iterator = NON_FIXED_LINE_PHONE_TYPES, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar _type = _ref;\n\n\t\tif (is_of_type(nationalNumber, _type, metadata)) {\n\t\t\treturn _type;\n\t\t}\n\t}\n}\n\nexport function is_of_type(nationalNumber, type, metadata) {\n\ttype = metadata.type(type);\n\n\tif (!type || !type.pattern()) {\n\t\treturn false;\n\t}\n\n\t// Check if any possible number lengths are present;\n\t// if so, we use them to avoid checking\n\t// the validation pattern if they don't match.\n\t// If they are absent, this means they match\n\t// the general description, which we have\n\t// already checked before a specific number type.\n\tif (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n\t\treturn false;\n\t}\n\n\treturn matchesEntirely(nationalNumber, type.pattern());\n}\n\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n\tvar type_info = metadata.type(type);\n\n\t// There should always be \"<possiblePengths/>\" set for every type element.\n\t// This is declared in the XML schema.\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\n\t// has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n\t// so we fall back to the \"general description\". Where no numbers of the type\n\t// exist at all, there is one possible length (-1) which is guaranteed\n\t// not to match the length of any real phone number.\n\tvar possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();\n\t// let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\n\t\t// No such country in metadata.\n\t\t/* istanbul ignore next */\n\t\tif (!metadata.type('FIXED_LINE')) {\n\t\t\t// The rare case has been encountered where no fixedLine data is available\n\t\t\t// (true for some non-geographical entities), so we just check mobile.\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n\t\t}\n\n\t\tvar mobile_type = metadata.type('MOBILE');\n\n\t\tif (mobile_type) {\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\n\t\t\t// Note that when adding the possible lengths from mobile, we have\n\t\t\t// to again check they aren't empty since if they are this indicates\n\t\t\t// they are the same as the general desc and should be obtained from there.\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n\t\t\t// The current list is sorted; we need to merge in the new list and\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\n\t\t\t// the lists are very small.\n\n\t\t\t// if (local_lengths)\n\t\t\t// {\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n\t\t\t// }\n\t\t\t// else\n\t\t\t// {\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\n\t\t\t// }\n\t\t}\n\t}\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\n\telse if (type && !type_info) {\n\t\t\treturn 'INVALID_LENGTH';\n\t\t}\n\n\tvar actual_length = nationalNumber.length;\n\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n\t// // This is safe because there is never an overlap beween the possible lengths\n\t// // and the local-only lengths; this is checked at build time.\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n\t// {\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n\t// }\n\n\tvar minimum_length = possible_lengths[0];\n\n\tif (minimum_length === actual_length) {\n\t\treturn 'IS_POSSIBLE';\n\t}\n\n\tif (minimum_length > actual_length) {\n\t\treturn 'TOO_SHORT';\n\t}\n\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\n\t\treturn 'TOO_LONG';\n\t}\n\n\t// We skip the first element since we've already checked it.\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=getNumberType_.js.map","import Metadata from './metadata';\nimport { checkNumberLengthForType } from './getNumberType_';\n\nexport default function isPossibleNumber(input, options, metadata) {\n\t/* istanbul ignore if */\n\tif (options === undefined) {\n\t\toptions = {};\n\t}\n\n\tmetadata = new Metadata(metadata);\n\n\tif (options.v2) {\n\t\tif (!input.countryCallingCode) {\n\t\t\tthrow new Error('Invalid phone number object passed');\n\t\t}\n\t\tmetadata.chooseCountryByCountryCallingCode(input.countryCallingCode);\n\t} else {\n\t\tif (!input.phone) {\n\t\t\treturn false;\n\t\t}\n\t\tif (input.country) {\n\t\t\tif (!metadata.hasCountry(input.country)) {\n\t\t\t\tthrow new Error('Unknown country: ' + input.country);\n\t\t\t}\n\t\t\tmetadata.country(input.country);\n\t\t} else {\n\t\t\tif (!input.countryCallingCode) {\n\t\t\t\tthrow new Error('Invalid phone number object passed');\n\t\t\t}\n\t\t\tmetadata.chooseCountryByCountryCallingCode(input.countryCallingCode);\n\t\t}\n\t}\n\n\tif (!metadata.possibleLengths()) {\n\t\tthrow new Error('Metadata too old');\n\t}\n\n\treturn is_possible_number(input.phone || input.nationalNumber, undefined, metadata);\n}\n\nexport function is_possible_number(national_number, is_international, metadata) {\n\tswitch (checkNumberLengthForType(national_number, undefined, metadata)) {\n\t\tcase 'IS_POSSIBLE':\n\t\t\treturn true;\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\n\t\t// \treturn !is_international\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n//# sourceMappingURL=isPossibleNumber_.js.map","import Metadata from './metadata';\nimport { VALID_DIGITS } from './constants';\n\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\n\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 */\nvar SINGLE_IDD_PREFIX = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\n\n// For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\nexport function getIDDPrefix(country, metadata) {\n\tvar countryMetadata = new Metadata(metadata);\n\tcountryMetadata.country(country);\n\n\tif (SINGLE_IDD_PREFIX.test(countryMetadata.IDDPrefix())) {\n\t\treturn countryMetadata.IDDPrefix();\n\t}\n\n\treturn countryMetadata.defaultIDDPrefix();\n}\n\nexport function stripIDDPrefix(number, country, metadata) {\n\tif (!country) {\n\t\treturn;\n\t}\n\n\t// Check if the number is IDD-prefixed.\n\n\tvar countryMetadata = new Metadata(metadata);\n\tcountryMetadata.country(country);\n\n\tvar IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n\tif (number.search(IDDPrefixPattern) !== 0) {\n\t\treturn;\n\t}\n\n\t// Strip IDD prefix.\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length);\n\n\t// Some kind of a weird edge case.\n\t// No explanation from Google given.\n\tvar matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\t/* istanbul ignore next */\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n\t\tif (matchedGroups[1] === '0') {\n\t\t\treturn;\n\t\t}\n\t}\n\n\treturn number;\n}\n//# sourceMappingURL=IDD.js.map","var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport isViablePhoneNumber from './isViablePhoneNumber';\n\n// https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nexport function parseRFC3966(text) {\n\tvar number = void 0;\n\tvar ext = void 0;\n\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\n\ttext = text.replace(/^tel:/, 'tel=');\n\n\tfor (var _iterator = text.split(';'), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar part = _ref;\n\n\t\tvar _part$split = part.split('='),\n\t\t _part$split2 = _slicedToArray(_part$split, 2),\n\t\t name = _part$split2[0],\n\t\t value = _part$split2[1];\n\n\t\tswitch (name) {\n\t\t\tcase 'tel':\n\t\t\t\tnumber = value;\n\t\t\t\tbreak;\n\t\t\tcase 'ext':\n\t\t\t\text = value;\n\t\t\t\tbreak;\n\t\t\tcase 'phone-context':\n\t\t\t\t// Only \"country contexts\" are supported.\n\t\t\t\t// \"Domain contexts\" are ignored.\n\t\t\t\tif (value[0] === '+') {\n\t\t\t\t\tnumber = value + number;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t// If the phone number is not viable, then abort.\n\tif (!isViablePhoneNumber(number)) {\n\t\treturn {};\n\t}\n\n\tvar result = { number: number };\n\tif (ext) {\n\t\tresult.ext = ext;\n\t}\n\treturn result;\n}\n\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\nexport function formatRFC3966(_ref2) {\n\tvar number = _ref2.number,\n\t ext = _ref2.ext;\n\n\tif (!number) {\n\t\treturn '';\n\t}\n\n\tif (number[0] !== '+') {\n\t\tthrow new Error('\"formatRFC3966()\" expects \"number\" to be in E.164 format.');\n\t}\n\n\treturn 'tel:' + number + (ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","import Metadata from './metadata';\nimport { matchesEntirely } from './util';\nimport getNumberType from './getNumberType_';\n\n/**\r\n * Checks if a given phone number is valid.\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 */\nexport default function isValidNumber(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var metadata = arguments[2];\n\n metadata = new Metadata(metadata);\n\n // This is just to support `isValidNumber({})`\n // for cases when `parseNumber()` returns `{}`.\n if (!input.country) {\n return false;\n }\n\n if (!metadata.hasCountry(input.country)) {\n throw new Error('Unknown country: ' + input.country);\n }\n\n metadata.country(input.country);\n\n // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n }\n\n // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=validate_.js.map","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { VALID_PUNCTUATION } from './constants';\nimport { matchesEntirely } from './util';\nimport Metadata from './metadata';\nimport { getIDDPrefix } from './IDD';\nimport { formatRFC3966 } from './RFC3966';\n\nvar defaultOptions = {\n\tformatExtension: function formatExtension(formattedNumber, extension, metadata) {\n\t\treturn '' + formattedNumber + metadata.ext() + extension;\n\t}\n\n\t// Formats a phone number\n\t//\n\t// Example use cases:\n\t//\n\t// ```js\n\t// formatNumber('8005553535', 'RU', 'INTERNATIONAL')\n\t// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)\n\t// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')\n\t// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)\n\t// formatNumber('+78005553535', 'NATIONAL')\n\t// formatNumber('+78005553535', 'NATIONAL', metadata)\n\t// ```\n\t//\n};export default function formatNumber(input, format, options, metadata) {\n\t// Apply default options.\n\tif (options) {\n\t\toptions = _extends({}, defaultOptions, options);\n\t} else {\n\t\toptions = defaultOptions;\n\t}\n\n\tmetadata = new Metadata(metadata);\n\n\tif (input.country) {\n\t\t// Validate `input.country`.\n\t\tif (!metadata.hasCountry(input.country)) {\n\t\t\tthrow new Error('Unknown country: ' + input.country);\n\t\t}\n\t\tmetadata.country(input.country);\n\t} else if (input.countryCallingCode) {\n\t\tmetadata.chooseCountryByCountryCallingCode(input.countryCallingCode);\n\t} else return input.phone || '';\n\n\tvar countryCallingCode = metadata.countryCallingCode();\n\n\tvar nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n\n\t// This variable should have been declared inside `case`s\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\n\tvar number = void 0;\n\n\tswitch (format) {\n\t\tcase 'NATIONAL':\n\t\t\t// Legacy argument support.\n\t\t\t// (`{ country: ..., phone: '' }`)\n\t\t\tif (!nationalNumber) {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tnumber = format_national_number(nationalNumber, 'NATIONAL', metadata);\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension);\n\n\t\tcase 'INTERNATIONAL':\n\t\t\t// Legacy argument support.\n\t\t\t// (`{ country: ..., phone: '' }`)\n\t\t\tif (!nationalNumber) {\n\t\t\t\treturn '+' + countryCallingCode;\n\t\t\t}\n\t\t\tnumber = format_national_number(nationalNumber, 'INTERNATIONAL', metadata);\n\t\t\tnumber = '+' + countryCallingCode + ' ' + number;\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension);\n\n\t\tcase 'E.164':\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\n\t\t\treturn '+' + countryCallingCode + nationalNumber;\n\n\t\tcase 'RFC3966':\n\t\t\treturn formatRFC3966({\n\t\t\t\tnumber: '+' + countryCallingCode + nationalNumber,\n\t\t\t\text: input.ext\n\t\t\t});\n\n\t\tcase 'IDD':\n\t\t\tif (!options.fromCountry) {\n\t\t\t\treturn;\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n\t\t\t}\n\t\t\tvar IDDPrefix = getIDDPrefix(options.fromCountry, metadata.metadata);\n\t\t\tif (!IDDPrefix) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (options.humanReadable) {\n\t\t\t\tvar formattedForSameCountryCallingCode = countryCallingCode && formatIDDSameCountryCallingCodeNumber(nationalNumber, metadata.countryCallingCode(), options.fromCountry, metadata);\n\t\t\t\tif (formattedForSameCountryCallingCode) {\n\t\t\t\t\tnumber = formattedForSameCountryCallingCode;\n\t\t\t\t} else {\n\t\t\t\t\tnumber = IDDPrefix + ' ' + countryCallingCode + ' ' + format_national_number(nationalNumber, 'INTERNATIONAL', metadata);\n\t\t\t\t}\n\t\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension);\n\t\t\t}\n\t\t\treturn '' + IDDPrefix + countryCallingCode + nationalNumber;\n\n\t\tdefault:\n\t\t\tthrow new Error('Unknown \"format\" argument passed to \"formatNumber()\": \"' + format + '\"');\n\t}\n}\n\n// This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use \\d, so that the first\n// group actually used in the pattern will be matched.\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\n\nexport function format_national_number_using_format(number, format, useInternationalFormat, includeNationalPrefixForNationalFormat, metadata) {\n\tvar formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : format.nationalPrefixFormattingRule() && (!format.nationalPrefixIsOptionalWhenFormatting() || includeNationalPrefixForNationalFormat) ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n\tif (useInternationalFormat) {\n\t\treturn changeInternationalFormatStyle(formattedNumber);\n\t}\n\n\treturn formattedNumber;\n}\n\nfunction format_national_number(number, format_as, metadata) {\n\tvar format = choose_format_for_number(metadata.formats(), number);\n\tif (!format) {\n\t\treturn number;\n\t}\n\treturn format_national_number_using_format(number, format, format_as === 'INTERNATIONAL', true, metadata);\n}\n\nexport function choose_format_for_number(available_formats, national_number) {\n\tfor (var _iterator = available_formats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar format = _ref;\n\n\t\t// Validate leading digits\n\t\tif (format.leadingDigitsPatterns().length > 0) {\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\n\t\t\tvar last_leading_digits_pattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n\n\t\t\t// If leading digits don't match then move on to the next phone number format\n\t\t\tif (national_number.search(last_leading_digits_pattern) !== 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Check that the national number matches the phone number format regular expression\n\t\tif (matchesEntirely(national_number, format.pattern())) {\n\t\t\treturn format;\n\t\t}\n\t}\n}\n\n// Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\nexport function changeInternationalFormatStyle(local) {\n\treturn local.replace(new RegExp('[' + VALID_PUNCTUATION + ']+', 'g'), ' ').trim();\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nexport function formatIDDSameCountryCallingCodeNumber(number, toCountryCallingCode, fromCountry, toCountryMetadata) {\n\tvar fromCountryMetadata = new Metadata(toCountryMetadata.metadata);\n\tfromCountryMetadata.country(fromCountry);\n\n\t// If calling within the same country calling code.\n\tif (toCountryCallingCode === fromCountryMetadata.countryCallingCode()) {\n\t\t// For NANPA regions, return the national format for these regions\n\t\t// but prefix it with the country calling code.\n\t\tif (toCountryCallingCode === '1') {\n\t\t\treturn toCountryCallingCode + ' ' + format_national_number(number, 'NATIONAL', toCountryMetadata);\n\t\t}\n\n\t\t// If regions share a country calling code, the country calling code need\n\t\t// not be dialled. This also applies when dialling within a region, so this\n\t\t// if clause covers both these cases. Technically this is the case for\n\t\t// dialling from La Reunion to other overseas departments of France (French\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n\t\t// this edge case for now and for those cases return the version including\n\t\t// country calling code. Details here:\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\n\t\t//\n\t\treturn format_national_number(number, 'NATIONAL', toCountryMetadata);\n\t}\n}\n//# sourceMappingURL=format_.js.map","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport Metadata from './metadata';\nimport isPossibleNumber from './isPossibleNumber_';\nimport isValidNumber from './validate_';\nimport isValidNumberForRegion from './isValidNumberForRegion_';\nimport getNumberType from './getNumberType_';\nimport formatNumber from './format_';\n\nvar PhoneNumber = function () {\n\tfunction PhoneNumber(countryCallingCode, nationalNumber, metadata) {\n\t\t_classCallCheck(this, PhoneNumber);\n\n\t\tif (!countryCallingCode) {\n\t\t\tthrow new TypeError('`countryCallingCode` not passed');\n\t\t}\n\t\tif (!nationalNumber) {\n\t\t\tthrow new TypeError('`nationalNumber` not passed');\n\t\t}\n\t\t// If country code is passed then derive `countryCallingCode` from it.\n\t\t// Also store the country code as `.country`.\n\t\tif (isCountryCode(countryCallingCode)) {\n\t\t\tthis.country = countryCallingCode;\n\t\t\tvar _metadata = new Metadata(metadata);\n\t\t\t_metadata.country(countryCallingCode);\n\t\t\tcountryCallingCode = _metadata.countryCallingCode();\n\t\t}\n\t\tthis.countryCallingCode = countryCallingCode;\n\t\tthis.nationalNumber = nationalNumber;\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber;\n\t\tthis.metadata = metadata;\n\t}\n\n\t_createClass(PhoneNumber, [{\n\t\tkey: 'isPossible',\n\t\tvalue: function isPossible() {\n\t\t\treturn isPossibleNumber(this, { v2: true }, this.metadata);\n\t\t}\n\t}, {\n\t\tkey: 'isValid',\n\t\tvalue: function isValid() {\n\t\t\treturn isValidNumber(this, { v2: true }, this.metadata);\n\t\t}\n\n\t\t// // Is just an alias for `this.isValid() && this.country === country`.\n\t\t// // https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\n\t\t// isValidForRegion(country) {\n\t\t// \treturn isValidNumberForRegion(this, country, { v2: true }, this.metadata)\n\t\t// }\n\n\t}, {\n\t\tkey: 'getType',\n\t\tvalue: function getType() {\n\t\t\treturn getNumberType(this, { v2: true }, this.metadata);\n\t\t}\n\t}, {\n\t\tkey: 'format',\n\t\tvalue: function format(_format, options) {\n\t\t\treturn formatNumber(this, _format, options ? _extends({}, options, { v2: true }) : { v2: true }, this.metadata);\n\t\t}\n\t}, {\n\t\tkey: 'formatNational',\n\t\tvalue: function formatNational(options) {\n\t\t\treturn this.format('NATIONAL', options);\n\t\t}\n\t}, {\n\t\tkey: 'formatInternational',\n\t\tvalue: function formatInternational(options) {\n\t\t\treturn this.format('INTERNATIONAL', options);\n\t\t}\n\t}, {\n\t\tkey: 'getURI',\n\t\tvalue: function getURI(options) {\n\t\t\treturn this.format('RFC3966', options);\n\t\t}\n\t}]);\n\n\treturn PhoneNumber;\n}();\n\nexport default PhoneNumber;\n\n\nvar isCountryCode = function isCountryCode(value) {\n\treturn (/^[A-Z]{2}$/.test(value)\n\t);\n};\n//# sourceMappingURL=PhoneNumber.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN, MAX_LENGTH_COUNTRY_CODE } from './constants';\n\nimport { matchesEntirely } from './util';\nimport ParseError from './ParseError';\nimport Metadata from './metadata';\nimport isViablePhoneNumber from './isViablePhoneNumber';\nimport { extractExtension } from './extension';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber';\nimport getCountryCallingCode from './getCountryCallingCode';\nimport getNumberType, { checkNumberLengthForType } from './getNumberType_';\nimport { is_possible_number } from './isPossibleNumber_';\nimport { stripIDDPrefix } from './IDD';\nimport { parseRFC3966 } from './RFC3966';\nimport PhoneNumber from './PhoneNumber';\n\n// We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\nvar MAX_INPUT_STRING_LENGTH = 250;\n\n// This consists of the plus symbol, digits, and arabic-indic digits.\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\n\n// Regular expression of trailing characters that we want to remove.\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + ']+$');\n\n// `options`:\n// {\n// country:\n// {\n// restrict - (a two-letter country code)\n// the phone number must be in this country\n//\n// default - (a two-letter country code)\n// default country to use for phone number parsing and validation\n// (if no country code could be derived from the phone number)\n// }\n// }\n//\n// Returns `{ country, number }`\n//\n// Example use cases:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\nexport default function parse(text) {\n\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\tvar metadata = arguments[2];\n\n\tmetadata = new Metadata(metadata);\n\n\t// Validate `defaultCountry`.\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n\t\tif (options.v2) {\n\t\t\tthrow new ParseError('INVALID_COUNTRY');\n\t\t}\n\t\tthrow new Error('Unknown country: ' + options.defaultCountry);\n\t}\n\n\t// Parse the phone number.\n\n\tvar _parse_input = parse_input(text, options.v2),\n\t formatted_phone_number = _parse_input.number,\n\t ext = _parse_input.ext;\n\n\t// If the phone number is not viable then return nothing.\n\n\n\tif (!formatted_phone_number) {\n\t\tif (options.v2) {\n\t\t\tthrow new ParseError('NOT_A_NUMBER');\n\t\t}\n\t\treturn {};\n\t}\n\n\tvar _parse_phone_number = parse_phone_number(formatted_phone_number, options.defaultCountry, metadata),\n\t country = _parse_phone_number.country,\n\t nationalNumber = _parse_phone_number.national_number,\n\t countryCallingCode = _parse_phone_number.countryCallingCode,\n\t carrierCode = _parse_phone_number.carrierCode;\n\n\tif (!metadata.selectedCountry()) {\n\t\tif (options.v2) {\n\t\t\tthrow new ParseError('INVALID_COUNTRY');\n\t\t}\n\t\treturn {};\n\t}\n\n\t// Validate national (significant) number length.\n\tif (nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n\t\t// Won't throw here because the regexp already demands length > 1.\n\t\t/* istanbul ignore if */\n\t\tif (options.v2) {\n\t\t\tthrow new ParseError('TOO_SHORT');\n\t\t}\n\t\t// Google's demo just throws an error in this case.\n\t\treturn {};\n\t}\n\n\t// Validate national (significant) number length.\n\t//\n\t// A sidenote:\n\t//\n\t// They say that sometimes national (significant) numbers\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n\t// Such numbers will just be discarded.\n\t//\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n\t\tif (options.v2) {\n\t\t\tthrow new ParseError('TOO_LONG');\n\t\t}\n\t\t// Google's demo just throws an error in this case.\n\t\treturn {};\n\t}\n\n\tif (options.v2) {\n\t\tvar phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n\t\tif (country) {\n\t\t\tphoneNumber.country = country;\n\t\t}\n\t\tif (carrierCode) {\n\t\t\tphoneNumber.carrierCode = carrierCode;\n\t\t}\n\t\tif (ext) {\n\t\t\tphoneNumber.ext = ext;\n\t\t}\n\n\t\treturn phoneNumber;\n\t}\n\n\t// Check if national phone number pattern matches the number.\n\t// National number pattern is different for each country,\n\t// even for those ones which are part of the \"NANPA\" group.\n\tvar valid = country && matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) ? true : false;\n\n\tif (!options.extended) {\n\t\treturn valid ? result(country, nationalNumber, ext) : {};\n\t}\n\n\treturn {\n\t\tcountry: country,\n\t\tcountryCallingCode: countryCallingCode,\n\t\tcarrierCode: carrierCode,\n\t\tvalid: valid,\n\t\tpossible: valid ? true : options.extended === true && metadata.possibleLengths() && is_possible_number(nationalNumber, countryCallingCode !== undefined, metadata),\n\t\tphone: nationalNumber,\n\t\text: ext\n\t};\n}\n\n/**\r\n * Extracts a parseable phone number.\r\n * @param {string} text - Input.\r\n * @return {string}.\r\n */\nexport function extract_formatted_phone_number(text, v2) {\n\tif (!text) {\n\t\treturn;\n\t}\n\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\n\t\tif (v2) {\n\t\t\tthrow new ParseError('TOO_LONG');\n\t\t}\n\t\treturn;\n\t}\n\n\t// Attempt to extract a possible number from the string passed in\n\n\tvar starts_at = text.search(PHONE_NUMBER_START_PATTERN);\n\n\tif (starts_at < 0) {\n\t\treturn;\n\t}\n\n\treturn text\n\t// Trim everything to the left of the phone number\n\t.slice(starts_at)\n\t// Remove trailing non-numerical characters\n\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n\n// Strips any national prefix (such as 0, 1) present in the number provided.\n// \"Carrier codes\" are only used in Colombia and Brazil,\n// and only when dialing within those countries from a mobile phone to a fixed line number.\nexport function strip_national_prefix_and_carrier_code(number, metadata) {\n\tif (!number || !metadata.nationalPrefixForParsing()) {\n\t\treturn { number: number };\n\t}\n\n\t// In many countries the national prefix\n\t// is not just a constant digit (like `0` in UK)\n\t// but can be different depending on the phone number\n\t// (and can be also absent for some phone numbers).\n\t//\n\t// So `national_prefix_for_parsing` is used when parsing\n\t// a national-prefixed (local) phone number\n\t// into a national significant phone number\n\t// extracting that possible national prefix out of it.\n\t//\n\t// Example `national_prefix_for_parsing` for Australia (AU) is `0|(183[12])`.\n\t// Which means that in Australia the national prefix can be: `0`, `1831`, `1832`.\n\n\t// Attempt to parse the first digits as a national prefix\n\tvar national_prefix_pattern = new RegExp('^(?:' + metadata.nationalPrefixForParsing() + ')');\n\tvar national_prefix_matcher = national_prefix_pattern.exec(number);\n\n\t// If no national prefix is present in the phone number,\n\t// but the national prefix is optional for this country,\n\t// then consider this phone number valid.\n\t//\n\t// Google's reference `libphonenumber` implementation\n\t// wouldn't recognize such phone numbers as valid,\n\t// but I think it would perfectly make sense\n\t// to consider such phone numbers as valid\n\t// because if a national phone number was originally\n\t// formatted without the national prefix\n\t// then it must be parseable back into the original national number.\n\t// In other words, `parse(format(number))`\n\t// must always be equal to `number`.\n\t//\n\tif (!national_prefix_matcher) {\n\t\treturn { number: number };\n\t}\n\n\tvar national_significant_number = void 0;\n\n\t// In more complex cases just `national_prefix_for_parsing` regexp\n\t// is not enough to extract the national number and then strip it\n\t// like `number.slice(national_prefix.length)` because when parsing\n\t// national numbers it's not always clear whether the first digits\n\t// are a national prefix or part of the national significant number.\n\t// For such cases `national_prefix_transform_rule` regexp is present\n\t// which contains \"capturing groups\" that are later used in such\n\t// `national_prefix_transform_rule` to transform the national number\n\t// being parsed into the national significant number.\n\t//\n\t// Example.\n\t// Country: U.S. Virgin Islands (VI).\n\t// Country calling code: +1.\n\t// Leading digits: 340.\n\t// Phone number format: +1 (340) xxx-xxxx.\n\t// National prefix: 1.\n\t// National prefix for parsing: 1|([2-9]\\d{6})$.\n\t// National prefix transform rule: 340$1.\n\t//\n\t// So for input \"13401234567\" \"national prefix for parsing\" regexp\n\t// will return \"1\" and the national significant number will be\n\t// \"13401234567\".slice(\"1\".length) === \"(340) 123-4567\".\n\t//\n\t// And for input \"3401234567\" \"national prefix for parsing\" regexp\n\t// the \"captured group\" will be \"3401234567\" and the national significant\n\t// number will be \"3401234567\".replace(\"340123\", \"340340123\") === \"(340) 3401234567\".\n\t//\n\t// `national_prefix_matcher[captured_groups_count]` means that\n\t// the corresponding \"captured group\" is not empty.\n\t// It can be empty if the regexp either doesn't have any \"capturing groups\"\n\t// or if the \"capturing groups\" are defined as optional.\n\t// Example: \"0?(?:...)?\" for Argentina.\n\t//\n\tvar captured_groups_count = national_prefix_matcher.length - 1;\n\tif (metadata.nationalPrefixTransformRule() && national_prefix_matcher[captured_groups_count]) {\n\t\tnational_significant_number = number.replace(national_prefix_pattern, metadata.nationalPrefixTransformRule());\n\t}\n\t// If it's a simple-enough case then just strip the national prefix from the number.\n\telse {\n\t\t\t// National prefix is the whole substring matched by\n\t\t\t// the `national_prefix_for_parsing` regexp.\n\t\t\tvar national_prefix = national_prefix_matcher[0];\n\t\t\tnational_significant_number = number.slice(national_prefix.length);\n\t\t}\n\n\tvar carrierCode = void 0;\n\tif (captured_groups_count > 0) {\n\t\tcarrierCode = national_prefix_matcher[1];\n\t}\n\n\t// The following is done in `get_country_and_national_number_for_local_number()` instead.\n\t//\n\t// // Verify the parsed national (significant) number for this country\n\t// const national_number_rule = new RegExp(metadata.nationalNumberPattern())\n\t// //\n\t// // If the original number (before stripping national prefix) was viable,\n\t// // and the resultant number is not, then prefer the original phone number.\n\t// // This is because for some countries (e.g. Russia) the same digit could be both\n\t// // a national prefix and a leading digit of a valid national phone number,\n\t// // like `8` is the national prefix for Russia and both\n\t// // `8 800 555 35 35` and `800 555 35 35` are valid numbers.\n\t// if (matchesEntirely(number, national_number_rule) &&\n\t// \t\t!matchesEntirely(national_significant_number, national_number_rule))\n\t// {\n\t// \treturn number\n\t// }\n\n\t// Return the parsed national (significant) number\n\treturn {\n\t\tnumber: national_significant_number,\n\t\tcarrierCode: carrierCode\n\t};\n}\n\nexport function find_country_code(country_calling_code, national_phone_number, metadata) {\n\t// Is always non-empty, because `country_calling_code` is always valid\n\tvar possible_countries = metadata.countryCallingCodes()[country_calling_code];\n\n\t// If there's just one country corresponding to the country code,\n\t// then just return it, without further phone number digits validation.\n\tif (possible_countries.length === 1) {\n\t\treturn possible_countries[0];\n\t}\n\n\treturn _find_country_code(possible_countries, national_phone_number, metadata.metadata);\n}\n\n// Changes `metadata` `country`.\nfunction _find_country_code(possible_countries, national_phone_number, metadata) {\n\tmetadata = new Metadata(metadata);\n\n\tfor (var _iterator = possible_countries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\tvar _ref;\n\n\t\tif (_isArray) {\n\t\t\tif (_i >= _iterator.length) break;\n\t\t\t_ref = _iterator[_i++];\n\t\t} else {\n\t\t\t_i = _iterator.next();\n\t\t\tif (_i.done) break;\n\t\t\t_ref = _i.value;\n\t\t}\n\n\t\tvar country = _ref;\n\n\t\tmetadata.country(country);\n\n\t\t// Leading digits check would be the simplest one\n\t\tif (metadata.leadingDigits()) {\n\t\t\tif (national_phone_number && national_phone_number.search(metadata.leadingDigits()) === 0) {\n\t\t\t\treturn country;\n\t\t\t}\n\t\t}\n\t\t// Else perform full validation with all of those\n\t\t// fixed-line/mobile/etc regular expressions.\n\t\telse if (getNumberType({ phone: national_phone_number, country: country }, undefined, metadata.metadata)) {\n\t\t\t\treturn country;\n\t\t\t}\n\t}\n}\n\n/**\r\n * @param {string} text - Input.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nfunction parse_input(text, v2) {\n\t// Parse RFC 3966 phone number URI.\n\tif (text && text.indexOf('tel:') === 0) {\n\t\treturn parseRFC3966(text);\n\t}\n\n\tvar number = extract_formatted_phone_number(text, v2);\n\n\t// If the phone number is not viable, then abort.\n\tif (!number || !isViablePhoneNumber(number)) {\n\t\treturn {};\n\t}\n\n\t// Attempt to parse extension first, since it doesn't require region-specific\n\t// data and we want to have the non-normalised number here.\n\tvar with_extension_stripped = extractExtension(number);\n\tif (with_extension_stripped.ext) {\n\t\treturn with_extension_stripped;\n\t}\n\n\treturn { number: number };\n}\n\n/**\r\n * Creates `parse()` result object.\r\n */\nfunction result(country, national_number, ext) {\n\tvar result = {\n\t\tcountry: country,\n\t\tphone: national_number\n\t};\n\n\tif (ext) {\n\t\tresult.ext = ext;\n\t}\n\n\treturn result;\n}\n\n/**\r\n * Parses a viable phone number.\r\n * Returns `{ country, countryCallingCode, national_number }`.\r\n */\nfunction parse_phone_number(formatted_phone_number, default_country, metadata) {\n\tvar _extractCountryCallin = extractCountryCallingCode(formatted_phone_number, default_country, metadata.metadata),\n\t countryCallingCode = _extractCountryCallin.countryCallingCode,\n\t number = _extractCountryCallin.number;\n\n\tif (!number) {\n\t\treturn { countryCallingCode: countryCallingCode };\n\t}\n\n\tvar country = void 0;\n\n\tif (countryCallingCode) {\n\t\tmetadata.chooseCountryByCountryCallingCode(countryCallingCode);\n\t} else if (default_country) {\n\t\tmetadata.country(default_country);\n\t\tcountry = default_country;\n\t\tcountryCallingCode = getCountryCallingCode(default_country, metadata.metadata);\n\t} else return {};\n\n\tvar _parse_national_numbe = parse_national_number(number, metadata),\n\t national_number = _parse_national_numbe.national_number,\n\t carrier_code = _parse_national_numbe.carrier_code;\n\n\t// Sometimes there are several countries\n\t// corresponding to the same country phone code\n\t// (e.g. NANPA countries all having `1` country phone code).\n\t// Therefore, to reliably determine the exact country,\n\t// national (significant) number should have been parsed first.\n\t//\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\n\t// get their countries populated with the full set of\n\t// \"phone number type\" regular expressions.\n\t//\n\n\n\tvar exactCountry = find_country_code(countryCallingCode, national_number, metadata);\n\tif (exactCountry) {\n\t\tcountry = exactCountry;\n\t\tmetadata.country(country);\n\t}\n\n\treturn {\n\t\tcountry: country,\n\t\tcountryCallingCode: countryCallingCode,\n\t\tnational_number: national_number,\n\t\tcarrierCode: carrier_code\n\t};\n}\n\nfunction parse_national_number(number, metadata) {\n\tvar national_number = parseIncompletePhoneNumber(number);\n\tvar carrier_code = void 0;\n\n\t// Parsing national prefixes and carrier codes\n\t// is only required for local phone numbers\n\t// but some people don't understand that\n\t// and sometimes write international phone numbers\n\t// with national prefixes (or maybe even carrier codes).\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n\t// Google's original library forgives such mistakes\n\t// and so does this library, because it has been requested:\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\n\n\tvar _strip_national_prefi = strip_national_prefix_and_carrier_code(national_number, metadata),\n\t potential_national_number = _strip_national_prefi.number,\n\t carrierCode = _strip_national_prefi.carrierCode;\n\n\t// If metadata has \"possible lengths\" then employ the new algorythm.\n\n\n\tif (metadata.possibleLengths()) {\n\t\t// We require that the NSN remaining after stripping the national prefix and\n\t\t// carrier code be long enough to be a possible length for the region.\n\t\t// Otherwise, we don't do the stripping, since the original number could be\n\t\t// a valid short number.\n\t\tswitch (checkNumberLengthForType(potential_national_number, undefined, metadata)) {\n\t\t\tcase 'TOO_SHORT':\n\t\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\n\t\t\tcase 'INVALID_LENGTH':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnational_number = potential_national_number;\n\t\t\t\tcarrier_code = carrierCode;\n\t\t}\n\t} else {\n\t\t// If the original number (before stripping national prefix) was viable,\n\t\t// and the resultant number is not, then prefer the original phone number.\n\t\t// This is because for some countries (e.g. Russia) the same digit could be both\n\t\t// a national prefix and a leading digit of a valid national phone number,\n\t\t// like `8` is the national prefix for Russia and both\n\t\t// `8 800 555 35 35` and `800 555 35 35` are valid numbers.\n\t\tif (matchesEntirely(national_number, metadata.nationalNumberPattern()) && !matchesEntirely(potential_national_number, metadata.nationalNumberPattern())) {\n\t\t\t// Keep the number without stripping national prefix.\n\t\t} else {\n\t\t\tnational_number = potential_national_number;\n\t\t\tcarrier_code = carrierCode;\n\t\t}\n\t}\n\n\treturn {\n\t\tnational_number: national_number,\n\t\tcarrier_code: carrier_code\n\t};\n}\n\n// Determines the country for a given (possibly incomplete) phone number.\n// export function get_country_from_phone_number(number, metadata)\n// {\n// \treturn parse_phone_number(number, null, metadata).country\n// }\n\n// Parses a formatted phone number\n// and returns `{ countryCallingCode, number }`\n// where `number` is just the \"number\" part\n// which is left after extracting `countryCallingCode`\n// and is not necessarily a \"national (significant) number\"\n// and might as well contain national prefix.\n//\nexport function extractCountryCallingCode(number, country, metadata) {\n\tnumber = parseIncompletePhoneNumber(number);\n\n\tif (!number) {\n\t\treturn {};\n\t}\n\n\t// If this is not an international phone number,\n\t// then don't extract country phone code.\n\tif (number[0] !== '+') {\n\t\t// Convert an \"out-of-country\" dialing phone number\n\t\t// to a proper international phone number.\n\t\tvar numberWithoutIDD = stripIDDPrefix(number, country, metadata);\n\n\t\t// If an IDD prefix was stripped then\n\t\t// convert the number to international one\n\t\t// for subsequent parsing.\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\n\t\t\tnumber = '+' + numberWithoutIDD;\n\t\t} else {\n\t\t\treturn { number: number };\n\t\t}\n\t}\n\n\t// Fast abortion: country codes do not begin with a '0'\n\tif (number[1] === '0') {\n\t\treturn {};\n\t}\n\n\tmetadata = new Metadata(metadata);\n\n\t// The thing with country phone codes\n\t// is that they are orthogonal to each other\n\t// i.e. there's no such country phone code A\n\t// for which country phone code B exists\n\t// where B starts with A.\n\t// Therefore, while scanning digits,\n\t// if a valid country code is found,\n\t// that means that it is the country code.\n\t//\n\tvar i = 2;\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n\t\tvar countryCallingCode = number.slice(1, i);\n\n\t\tif (metadata.countryCallingCodes()[countryCallingCode]) {\n\t\t\treturn {\n\t\t\t\tcountryCallingCode: countryCallingCode,\n\t\t\t\tnumber: number.slice(i)\n\t\t\t};\n\t\t}\n\n\t\ti++;\n\t}\n\n\treturn {};\n}\n//# sourceMappingURL=parse_.js.map","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport parseNumber from './parse_';\n\nexport default function parsePhoneNumber(text, options, metadata) {\n\treturn parseNumber(text, _extends({}, options, { v2: true }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport parsePhoneNumber_ from './parsePhoneNumber_';\n\nexport default function parsePhoneNumber() {\n\tvar _normalizeArguments = normalizeArguments(arguments),\n\t text = _normalizeArguments.text,\n\t options = _normalizeArguments.options,\n\t metadata = _normalizeArguments.metadata;\n\n\treturn parsePhoneNumber_(text, options, metadata);\n}\n\nexport function normalizeArguments(args) {\n\tvar _Array$prototype$slic = Array.prototype.slice.call(args),\n\t _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n\t arg_1 = _Array$prototype$slic2[0],\n\t arg_2 = _Array$prototype$slic2[1],\n\t arg_3 = _Array$prototype$slic2[2],\n\t arg_4 = _Array$prototype$slic2[3];\n\n\tvar text = void 0;\n\tvar options = void 0;\n\tvar metadata = void 0;\n\n\t// If the phone number is passed as a string.\n\t// `parsePhoneNumber('88005553535', ...)`.\n\tif (typeof arg_1 === 'string') {\n\t\ttext = arg_1;\n\t} else throw new TypeError('A text for parsing must be a string.');\n\n\t// If \"default country\" argument is being passed then move it to `options`.\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\tif (!arg_2 || typeof arg_2 === 'string') {\n\t\tif (arg_4) {\n\t\t\toptions = arg_3;\n\t\t\tmetadata = arg_4;\n\t\t} else {\n\t\t\toptions = undefined;\n\t\t\tmetadata = arg_3;\n\t\t}\n\n\t\tif (arg_2) {\n\t\t\toptions = _extends({ defaultCountry: arg_2 }, options);\n\t\t}\n\t}\n\t// `defaultCountry` is not passed.\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n\telse if (isObject(arg_2)) {\n\t\t\tif (arg_3) {\n\t\t\t\toptions = arg_2;\n\t\t\t\tmetadata = arg_3;\n\t\t\t} else {\n\t\t\t\tmetadata = arg_2;\n\t\t\t}\n\t\t} else throw new Error('Invalid second argument: ' + arg_2);\n\n\treturn {\n\t\ttext: text,\n\t\toptions: options,\n\t\tmetadata: metadata\n\t};\n}\n\n// Otherwise istanbul would show this as \"branch not covered\".\n/* istanbul ignore next */\nvar isObject = function isObject(_) {\n\treturn (typeof _ === 'undefined' ? 'undefined' : _typeof(_)) === 'object';\n};\n//# sourceMappingURL=parsePhoneNumber.js.map","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport parsePhoneNumber from './parsePhoneNumber_';\nimport ParseError from './ParseError';\nimport { isSupportedCountry } from './metadata';\n\nexport default function parsePhoneNumberFromString(text, options, metadata) {\n\t// Validate `defaultCountry`.\n\tif (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n\t\toptions = _extends({}, options, {\n\t\t\tdefaultCountry: undefined\n\t\t});\n\t}\n\t// Parse phone number.\n\ttry {\n\t\treturn parsePhoneNumber(text, options, metadata);\n\t} catch (error) {\n\t\t/* istanbul ignore else */\n\t\tif (error instanceof ParseError) {\n\t\t\t//\n\t\t} else {\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n//# sourceMappingURL=parsePhoneNumberFromString_.js.map","import { normalizeArguments } from './parsePhoneNumber';\nimport parsePhoneNumberFromString_ from './parsePhoneNumberFromString_';\n\nexport default function parsePhoneNumberFromString() {\n\tvar _normalizeArguments = normalizeArguments(arguments),\n\t text = _normalizeArguments.text,\n\t options = _normalizeArguments.options,\n\t metadata = _normalizeArguments.metadata;\n\n\treturn parsePhoneNumberFromString_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumberFromString.js.map","/** Returns a regular expression quantifier with an upper and lower limit. */\nexport function limit(lower, upper) {\n\tif (lower < 0 || upper <= 0 || upper < lower) {\n\t\tthrow new TypeError();\n\t}\n\treturn \"{\" + lower + \",\" + upper + \"}\";\n}\n\n/**\r\n * Trims away any characters after the first match of {@code pattern} in {@code candidate},\r\n * returning the trimmed version.\r\n */\nexport function trimAfterFirstMatch(regexp, string) {\n\tvar index = string.search(regexp);\n\n\tif (index >= 0) {\n\t\treturn string.slice(0, index);\n\t}\n\n\treturn string;\n}\n\nexport function startsWith(string, substring) {\n\treturn string.indexOf(substring) === 0;\n}\n\nexport function endsWith(string, substring) {\n\treturn string.indexOf(substring, string.length - substring.length) === string.length - substring.length;\n}\n//# sourceMappingURL=util.js.map","import { trimAfterFirstMatch } from './util';\n\n// Regular expression of characters typically used to start a second phone number for the purposes\n// of parsing. This allows us to strip off parts of the number that are actually the start of\n// another number, such as for: (530) 583-6985 x302/x2303 -> the second extension here makes this\n// actually two phone numbers, (530) 583-6985 x302 and (530) 583-6985 x2303. We remove the second\n// extension so that the first number is parsed correctly.\n//\n// Matches a slash (\\ or /) followed by a space followed by an `x`.\n//\nvar SECOND_NUMBER_START_PATTERN = /[\\\\/] *x/;\n\nexport default function parsePreCandidate(candidate) {\n\t// Check for extra numbers at the end.\n\t// TODO: This is the place to start when trying to support extraction of multiple phone number\n\t// from split notations (+41 79 123 45 67 / 68).\n\treturn trimAfterFirstMatch(SECOND_NUMBER_START_PATTERN, candidate);\n}\n//# sourceMappingURL=parsePreCandidate.js.map","// Matches strings that look like dates using \"/\" as a separator.\n// Examples: 3/10/2011, 31/10/96 or 08/31/95.\nvar SLASH_SEPARATED_DATES = /(?:(?:[0-3]?\\d\\/[01]?\\d)|(?:[01]?\\d\\/[0-3]?\\d))\\/(?:[12]\\d)?\\d{2}/;\n\n// Matches timestamps.\n// Examples: \"2012-01-02 08:00\".\n// Note that the reg-ex does not include the\n// trailing \":\\d\\d\" -- that is covered by TIME_STAMPS_SUFFIX.\nvar TIME_STAMPS = /[12]\\d{3}[-/]?[01]\\d[-/]?[0-3]\\d +[0-2]\\d$/;\nvar TIME_STAMPS_SUFFIX_LEADING = /^:[0-5]\\d/;\n\nexport default function isValidPreCandidate(candidate, offset, text) {\n\t// Skip a match that is more likely to be a date.\n\tif (SLASH_SEPARATED_DATES.test(candidate)) {\n\t\treturn false;\n\t}\n\n\t// Skip potential time-stamps.\n\tif (TIME_STAMPS.test(candidate)) {\n\t\tvar followingText = text.slice(offset + candidate.length);\n\t\tif (TIME_STAMPS_SUFFIX_LEADING.test(followingText)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n//# sourceMappingURL=isValidPreCandidate.js.map","// Javascript doesn't support UTF-8 regular expressions.\n// So mimicking them here.\n\n// Copy-pasted from `PhoneNumberMatcher.js`.\n\n/**\r\n * \"\\p{Z}\" is any kind of whitespace or invisible separator (\"Separator\").\r\n * http://www.regular-expressions.info/unicode.html\r\n * \"\\P{Z}\" is the reverse of \"\\p{Z}\".\r\n * \"\\p{N}\" is any kind of numeric character in any script (\"Number\").\r\n * \"\\p{Nd}\" is a digit zero through nine in any script except \"ideographic scripts\" (\"Decimal_Digit_Number\").\r\n * \"\\p{Sc}\" is a currency symbol (\"Currency_Symbol\").\r\n * \"\\p{L}\" is any kind of letter from any language (\"Letter\").\r\n * \"\\p{Mn}\" is \"non-spacing mark\".\r\n *\r\n * Javascript doesn't support Unicode Regular Expressions\r\n * so substituting it with this explicit set of characters.\r\n *\r\n * https://stackoverflow.com/questions/13210194/javascript-regex-equivalent-of-a-za-z-using-pl\r\n * https://github.com/danielberndt/babel-plugin-utf-8-regex/blob/master/src/transformer.js\r\n */\n\nvar _pZ = ' \\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000';\nexport var pZ = '[' + _pZ + ']';\nexport var PZ = '[^' + _pZ + ']';\n\nexport var _pN = '0-9\\xB2\\xB3\\xB9\\xBC-\\xBE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D66-\\u0D75\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19';\n// const pN = `[${_pN}]`\n\nvar _pNd = '0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19';\nexport var pNd = '[' + _pNd + ']';\n\nexport var _pL = 'A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC';\nvar pL = '[' + _pL + ']';\nvar pL_regexp = new RegExp(pL);\n\nvar _pSc = '$\\xA2-\\xA5\\u058F\\u060B\\u09F2\\u09F3\\u09FB\\u0AF1\\u0BF9\\u0E3F\\u17DB\\u20A0-\\u20B9\\uA838\\uFDFC\\uFE69\\uFF04\\uFFE0\\uFFE1\\uFFE5\\uFFE6';\nvar pSc = '[' + _pSc + ']';\nvar pSc_regexp = new RegExp(pSc);\n\nvar _pMn = '\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u08FE\\u0900-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1DC0-\\u1DE6\\u1DFC-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26';\nvar pMn = '[' + _pMn + ']';\nvar pMn_regexp = new RegExp(pMn);\n\nvar _InBasic_Latin = '\\0-\\x7F';\nvar _InLatin_1_Supplement = '\\x80-\\xFF';\nvar _InLatin_Extended_A = '\\u0100-\\u017F';\nvar _InLatin_Extended_Additional = '\\u1E00-\\u1EFF';\nvar _InLatin_Extended_B = '\\u0180-\\u024F';\nvar _InCombining_Diacritical_Marks = '\\u0300-\\u036F';\n\nvar latinLetterRegexp = new RegExp('[' + _InBasic_Latin + _InLatin_1_Supplement + _InLatin_Extended_A + _InLatin_Extended_Additional + _InLatin_Extended_B + _InCombining_Diacritical_Marks + ']');\n\n/**\r\n * Helper method to determine if a character is a Latin-script letter or not.\r\n * For our purposes, combining marks should also return true since we assume\r\n * they have been added to a preceding Latin character.\r\n */\nexport function isLatinLetter(letter) {\n // Combining marks are a subset of non-spacing-mark.\n if (!pL_regexp.test(letter) && !pMn_regexp.test(letter)) {\n return false;\n }\n\n return latinLetterRegexp.test(letter);\n}\n\nexport function isInvalidPunctuationSymbol(character) {\n return character === '%' || pSc_regexp.test(character);\n}\n//# sourceMappingURL=utf-8.js.map","// Copy-pasted from `PhoneNumberMatcher.js`.\n\nimport { PLUS_CHARS } from '../constants';\nimport { limit } from './util';\n\nimport { isLatinLetter, isInvalidPunctuationSymbol } from './utf-8';\n\nvar OPENING_PARENS = '(\\\\[\\uFF08\\uFF3B';\nvar CLOSING_PARENS = ')\\\\]\\uFF09\\uFF3D';\nvar NON_PARENS = '[^' + OPENING_PARENS + CLOSING_PARENS + ']';\n\nexport var LEAD_CLASS = '[' + OPENING_PARENS + PLUS_CHARS + ']';\n\n// Punctuation that may be at the start of a phone number - brackets and plus signs.\nvar LEAD_CLASS_LEADING = new RegExp('^' + LEAD_CLASS);\n\n// Limit on the number of pairs of brackets in a phone number.\nvar BRACKET_PAIR_LIMIT = limit(0, 3);\n\n/**\r\n * Pattern to check that brackets match. Opening brackets should be closed within a phone number.\r\n * This also checks that there is something inside the brackets. Having no brackets at all is also\r\n * fine.\r\n *\r\n * An opening bracket at the beginning may not be closed, but subsequent ones should be. It's\r\n * also possible that the leading bracket was dropped, so we shouldn't be surprised if we see a\r\n * closing bracket first. We limit the sets of brackets in a phone number to four.\r\n */\nvar MATCHING_BRACKETS_ENTIRE = new RegExp('^' + \"(?:[\" + OPENING_PARENS + \"])?\" + \"(?:\" + NON_PARENS + \"+\" + \"[\" + CLOSING_PARENS + \"])?\" + NON_PARENS + \"+\" + \"(?:[\" + OPENING_PARENS + \"]\" + NON_PARENS + \"+[\" + CLOSING_PARENS + \"])\" + BRACKET_PAIR_LIMIT + NON_PARENS + \"*\" + '$');\n\n/**\r\n * Matches strings that look like publication pages. Example:\r\n * <pre>Computing Complete Answers to Queries in the Presence of Limited Access Patterns.\r\n * Chen Li. VLDB J. 12(3): 211-227 (2003).</pre>\r\n *\r\n * The string \"211-227 (2003)\" is not a telephone number.\r\n */\nvar PUB_PAGES = /\\d{1,5}-+\\d{1,5}\\s{0,4}\\(\\d{1,4}/;\n\nexport default function isValidCandidate(candidate, offset, text, leniency) {\n\t// Check the candidate doesn't contain any formatting\n\t// which would indicate that it really isn't a phone number.\n\tif (!MATCHING_BRACKETS_ENTIRE.test(candidate) || PUB_PAGES.test(candidate)) {\n\t\treturn;\n\t}\n\n\t// If leniency is set to VALID or stricter, we also want to skip numbers that are surrounded\n\t// by Latin alphabetic characters, to skip cases like abc8005001234 or 8005001234def.\n\tif (leniency !== 'POSSIBLE') {\n\t\t// If the candidate is not at the start of the text,\n\t\t// and does not start with phone-number punctuation,\n\t\t// check the previous character.\n\t\tif (offset > 0 && !LEAD_CLASS_LEADING.test(candidate)) {\n\t\t\tvar previousChar = text[offset - 1];\n\t\t\t// We return null if it is a latin letter or an invalid punctuation symbol.\n\t\t\tif (isInvalidPunctuationSymbol(previousChar) || isLatinLetter(previousChar)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tvar lastCharIndex = offset + candidate.length;\n\t\tif (lastCharIndex < text.length) {\n\t\t\tvar nextChar = text[lastCharIndex];\n\t\t\tif (isInvalidPunctuationSymbol(nextChar) || isLatinLetter(nextChar)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n//# sourceMappingURL=isValidCandidate.js.map","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a legacy function.\n// Use `findNumbers()` instead.\n\nimport { PLUS_CHARS, VALID_PUNCTUATION, VALID_DIGITS, WHITESPACE } from './constants';\n\nimport { EXTN_PATTERNS_FOR_PARSING } from './extension';\n\nimport parse from './parse_';\n\nimport parsePreCandidate from './findNumbers/parsePreCandidate';\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate';\nimport isValidCandidate from './findNumbers/isValidCandidate';\n\n// Copy-pasted from `./parse.js`.\nvar VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\nvar WHITESPACE_IN_THE_BEGINNING_PATTERN = new RegExp('^[' + WHITESPACE + ']+');\nvar PUNCTUATION_IN_THE_END_PATTERN = new RegExp('[' + VALID_PUNCTUATION + ']+$');\n\n// // Regular expression for getting opening brackets for a valid number\n// // found using `PHONE_NUMBER_START_PATTERN` for prepending those brackets to the number.\n// const BEFORE_NUMBER_DIGITS_PUNCTUATION = new RegExp('[' + OPENING_BRACKETS + ']+' + '[' + WHITESPACE + ']*' + '$')\n\nvar VALID_PRECEDING_CHARACTER_PATTERN = /[^a-zA-Z0-9]/;\n\nexport default function findPhoneNumbers(text, options, metadata) {\n\t/* istanbul ignore if */\n\tif (options === undefined) {\n\t\toptions = {};\n\t}\n\n\tvar search = new PhoneNumberSearch(text, options, metadata);\n\tvar phones = [];\n\twhile (search.hasNext()) {\n\t\tphones.push(search.next());\n\t}\n\treturn phones;\n}\n\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\nexport function searchPhoneNumbers(text, options, metadata) {\n\t/* istanbul ignore if */\n\tif (options === undefined) {\n\t\toptions = {};\n\t}\n\n\tvar search = new PhoneNumberSearch(text, options, metadata);\n\n\treturn _defineProperty({}, Symbol.iterator, function () {\n\t\treturn {\n\t\t\tnext: function next() {\n\t\t\t\tif (search.hasNext()) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdone: false,\n\t\t\t\t\t\tvalue: search.next()\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tdone: true\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\t});\n}\n\n/**\r\n * Extracts a parseable phone number including any opening brackets, etc.\r\n * @param {string} text - Input.\r\n * @return {object} `{ ?number, ?startsAt, ?endsAt }`.\r\n */\nexport var PhoneNumberSearch = function () {\n\tfunction PhoneNumberSearch(text) {\n\t\tvar options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\tvar metadata = arguments[2];\n\n\t\t_classCallCheck(this, PhoneNumberSearch);\n\n\t\tthis.state = 'NOT_READY';\n\n\t\tthis.text = text;\n\t\tthis.options = options;\n\t\tthis.metadata = metadata;\n\n\t\tthis.regexp = new RegExp(VALID_PHONE_NUMBER +\n\t\t// Phone number extensions\n\t\t'(?:' + EXTN_PATTERNS_FOR_PARSING + ')?', 'ig');\n\n\t\t// this.searching_from = 0\n\t}\n\t// Iteration tristate.\n\n\n\t_createClass(PhoneNumberSearch, [{\n\t\tkey: 'find',\n\t\tvalue: function find() {\n\t\t\tvar matches = this.regexp.exec(this.text);\n\n\t\t\tif (!matches) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar number = matches[0];\n\t\t\tvar startsAt = matches.index;\n\n\t\t\tnumber = number.replace(WHITESPACE_IN_THE_BEGINNING_PATTERN, '');\n\t\t\tstartsAt += matches[0].length - number.length;\n\t\t\t// Fixes not parsing numbers with whitespace in the end.\n\t\t\t// Also fixes not parsing numbers with opening parentheses in the end.\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/252\n\t\t\tnumber = number.replace(PUNCTUATION_IN_THE_END_PATTERN, '');\n\n\t\t\tnumber = parsePreCandidate(number);\n\n\t\t\tvar result = this.parseCandidate(number, startsAt);\n\n\t\t\tif (result) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\t// Tail recursion.\n\t\t\t// Try the next one if this one is not a valid phone number.\n\t\t\treturn this.find();\n\t\t}\n\t}, {\n\t\tkey: 'parseCandidate',\n\t\tvalue: function parseCandidate(number, startsAt) {\n\t\t\tif (!isValidPreCandidate(number, startsAt, this.text)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't parse phone numbers which are non-phone numbers\n\t\t\t// due to being part of something else (e.g. a UUID).\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/213\n\t\t\t// Copy-pasted from Google's `PhoneNumberMatcher.js` (`.parseAndValidate()`).\n\t\t\tif (!isValidCandidate(number, startsAt, this.text, this.options.extended ? 'POSSIBLE' : 'VALID')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// // Prepend any opening brackets left behind by the\n\t\t\t// // `PHONE_NUMBER_START_PATTERN` regexp.\n\t\t\t// const text_before_number = text.slice(this.searching_from, startsAt)\n\t\t\t// const full_number_starts_at = text_before_number.search(BEFORE_NUMBER_DIGITS_PUNCTUATION)\n\t\t\t// if (full_number_starts_at >= 0)\n\t\t\t// {\n\t\t\t// \tnumber = text_before_number.slice(full_number_starts_at) + number\n\t\t\t// \tstartsAt = full_number_starts_at\n\t\t\t// }\n\t\t\t//\n\t\t\t// this.searching_from = matches.lastIndex\n\n\t\t\tvar result = parse(number, this.options, this.metadata);\n\n\t\t\tif (!result.phone) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresult.startsAt = startsAt;\n\t\t\tresult.endsAt = startsAt + number.length;\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'hasNext',\n\t\tvalue: function hasNext() {\n\t\t\tif (this.state === 'NOT_READY') {\n\t\t\t\tthis.last_match = this.find();\n\n\t\t\t\tif (this.last_match) {\n\t\t\t\t\tthis.state = 'READY';\n\t\t\t\t} else {\n\t\t\t\t\tthis.state = 'DONE';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.state === 'READY';\n\t\t}\n\t}, {\n\t\tkey: 'next',\n\t\tvalue: function next() {\n\t\t\t// Check the state and find the next match as a side-effect if necessary.\n\t\t\tif (!this.hasNext()) {\n\t\t\t\tthrow new Error('No next element');\n\t\t\t}\n\n\t\t\t// Don't retain that memory any longer than necessary.\n\t\t\tvar result = this.last_match;\n\t\t\tthis.last_match = null;\n\t\t\tthis.state = 'NOT_READY';\n\t\t\treturn result;\n\t\t}\n\t}]);\n\n\treturn PhoneNumberSearch;\n}();\n//# sourceMappingURL=findPhoneNumbers_.js.map","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// https://medium.com/dsinjs/implementing-lru-cache-in-javascript-94ba6755cda9\n\nvar Node = function Node(key, value) {\n var next = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var prev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n _classCallCheck(this, Node);\n\n this.key = key;\n this.value = value;\n this.next = next;\n this.prev = prev;\n};\n\nvar LRUCache = function () {\n //set default limit of 10 if limit is not passed.\n function LRUCache() {\n var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\n _classCallCheck(this, LRUCache);\n\n this.size = 0;\n this.limit = limit;\n this.head = null;\n this.tail = null;\n this.cache = {};\n }\n\n // Write Node to head of LinkedList\n // update cache with Node key and Node reference\n\n\n _createClass(LRUCache, [{\n key: \"put\",\n value: function put(key, value) {\n this.ensureLimit();\n\n if (!this.head) {\n this.head = this.tail = new Node(key, value);\n } else {\n var node = new Node(key, value, this.head);\n this.head.prev = node;\n this.head = node;\n }\n\n //Update the cache map\n this.cache[key] = this.head;\n this.size++;\n }\n\n // Read from cache map and make that node as new Head of LinkedList\n\n }, {\n key: \"get\",\n value: function get(key) {\n if (this.cache[key]) {\n var value = this.cache[key].value;\n\n // node removed from it's position and cache\n this.remove(key);\n // write node again to the head of LinkedList to make it most recently used\n this.put(key, value);\n\n return value;\n }\n\n console.log(\"Item not available in cache for key \" + key);\n }\n }, {\n key: \"ensureLimit\",\n value: function ensureLimit() {\n if (this.size === this.limit) {\n this.remove(this.tail.key);\n }\n }\n }, {\n key: \"remove\",\n value: function remove(key) {\n var node = this.cache[key];\n\n if (node.prev !== null) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n\n if (node.next !== null) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n\n delete this.cache[key];\n this.size--;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = null;\n this.tail = null;\n this.size = 0;\n this.cache = {};\n }\n\n // // Invokes the callback function with every node of the chain and the index of the node.\n // forEach(fn) {\n // let node = this.head;\n // let counter = 0;\n // while (node) {\n // fn(node, counter);\n // node = node.next;\n // counter++;\n // }\n // }\n\n // // To iterate over LRU with a 'for...of' loop\n // *[Symbol.iterator]() {\n // let node = this.head;\n // while (node) {\n // yield node;\n // node = node.next;\n // }\n // }\n\n }]);\n\n return LRUCache;\n}();\n\nexport default LRUCache;\n//# sourceMappingURL=LRUCache.js.map","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport LRUCache from './LRUCache';\n\n// A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\n// countries being used for the same doc with ~10 patterns for each country. Some pages will have\n// a lot more countries in use, but typically fewer numbers for each so expanding the cache for\n// that use-case won't have a lot of benefit.\n\nvar RegExpCache = function () {\n\tfunction RegExpCache(size) {\n\t\t_classCallCheck(this, RegExpCache);\n\n\t\tthis.cache = new LRUCache(size);\n\t}\n\n\t_createClass(RegExpCache, [{\n\t\tkey: 'getPatternForRegExp',\n\t\tvalue: function getPatternForRegExp(pattern) {\n\t\t\tvar regExp = this.cache.get(pattern);\n\t\t\tif (!regExp) {\n\t\t\t\tregExp = new RegExp('^' + pattern);\n\t\t\t\tthis.cache.put(pattern, regExp);\n\t\t\t}\n\t\t\treturn regExp;\n\t\t}\n\t}]);\n\n\treturn RegExpCache;\n}();\n\nexport default RegExpCache;\n//# sourceMappingURL=RegExpCache.js.map","import isValidNumber from '../validate_';\nimport parseDigits from '../parseDigits';\n\nimport { startsWith, endsWith } from './util';\n\n/**\r\n * Leniency when finding potential phone numbers in text segments\r\n * The levels here are ordered in increasing strictness.\r\n */\nexport default {\n /**\r\n * Phone numbers accepted are \"possible\", but not necessarily \"valid\".\r\n */\n POSSIBLE: function POSSIBLE(number, candidate, metadata) {\n return true;\n },\n\n\n /**\r\n * Phone numbers accepted are \"possible\" and \"valid\".\r\n * Numbers written in national format must have their national-prefix\r\n * present if it is usually written for a number of this type.\r\n */\n VALID: function VALID(number, candidate, metadata) {\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidate.toString(), metadata)) {\n return false;\n }\n\n // Skipped for simplicity.\n // return isNationalPrefixPresentIfRequired(number, metadata)\n return true;\n },\n\n\n /**\r\n * Phone numbers accepted are \"valid\" and\r\n * are grouped in a possible way for this locale. For example, a US number written as\r\n * \"65 02 53 00 00\" and \"650253 0000\" are not accepted at this leniency level, whereas\r\n * \"650 253 0000\", \"650 2530000\" or \"6502530000\" are.\r\n * Numbers with more than one '/' symbol in the national significant number\r\n * are also dropped at this level.\r\n *\r\n * Warning: This level might result in lower coverage especially for regions outside of\r\n * country code \"+1\". If you are not sure about which level to use,\r\n * email the discussion group libphonenumber-discuss@googlegroups.com.\r\n */\n STRICT_GROUPING: function STRICT_GROUPING(number, candidate, metadata, regExpCache) {\n var candidateString = candidate.toString();\n\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidateString, metadata) || containsMoreThanOneSlashInNationalNumber(number, candidateString) || !isNationalPrefixPresentIfRequired(number, metadata)) {\n return false;\n }\n\n return checkNumberGroupingIsValid(number, candidate, metadata, allNumberGroupsRemainGrouped, regExpCache);\n },\n\n\n /**\r\n * Phone numbers accepted are {@linkplain PhoneNumberUtil#isValidNumber(PhoneNumber) valid} and\r\n * are grouped in the same way that we would have formatted it, or as a single block. For\r\n * example, a US number written as \"650 2530000\" is not accepted at this leniency level, whereas\r\n * \"650 253 0000\" or \"6502530000\" are.\r\n * Numbers with more than one '/' symbol are also dropped at this level.\r\n * <p>\r\n * Warning: This level might result in lower coverage especially for regions outside of country\r\n * code \"+1\". If you are not sure about which level to use, email the discussion group\r\n * libphonenumber-discuss@googlegroups.com.\r\n */\n EXACT_GROUPING: function EXACT_GROUPING(number, candidate, metadata, regExpCache) {\n var candidateString = candidate.toString();\n\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidateString, metadata) || containsMoreThanOneSlashInNationalNumber(number, candidateString) || !isNationalPrefixPresentIfRequired(number, metadata)) {\n return false;\n }\n\n return checkNumberGroupingIsValid(number, candidate, metadata, allNumberGroupsAreExactlyPresent, regExpCache);\n }\n};\n\nfunction containsOnlyValidXChars(number, candidate, metadata) {\n // The characters 'x' and 'X' can be (1) a carrier code, in which case they always precede the\n // national significant number or (2) an extension sign, in which case they always precede the\n // extension number. We assume a carrier code is more than 1 digit, so the first case has to\n // have more than 1 consecutive 'x' or 'X', whereas the second case can only have exactly 1 'x'\n // or 'X'. We ignore the character if it appears as the last character of the string.\n for (var index = 0; index < candidate.length - 1; index++) {\n var charAtIndex = candidate.charAt(index);\n\n if (charAtIndex === 'x' || charAtIndex === 'X') {\n var charAtNextIndex = candidate.charAt(index + 1);\n\n if (charAtNextIndex === 'x' || charAtNextIndex === 'X') {\n // This is the carrier code case, in which the 'X's always precede the national\n // significant number.\n index++;\n if (util.isNumberMatch(number, candidate.substring(index)) != MatchType.NSN_MATCH) {\n return false;\n }\n // This is the extension sign case, in which the 'x' or 'X' should always precede the\n // extension number.\n } else if (parseDigits(candidate.substring(index)) !== number.ext) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction isNationalPrefixPresentIfRequired(number, _metadata) {\n // First, check how we deduced the country code. If it was written in international format, then\n // the national prefix is not required.\n if (number.getCountryCodeSource() != 'FROM_DEFAULT_COUNTRY') {\n return true;\n }\n\n var phoneNumberRegion = util.getRegionCodeForCountryCode(number.getCountryCode());\n\n var metadata = util.getMetadataForRegion(phoneNumberRegion);\n if (metadata == null) {\n return true;\n }\n\n // Check if a national prefix should be present when formatting this number.\n var nationalNumber = util.getNationalSignificantNumber(number);\n var formatRule = util.chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber);\n\n // To do this, we check that a national prefix formatting rule was present\n // and that it wasn't just the first-group symbol ($1) with punctuation.\n if (formatRule && formatRule.getNationalPrefixFormattingRule().length > 0) {\n if (formatRule.getNationalPrefixOptionalWhenFormatting()) {\n // The national-prefix is optional in these cases, so we don't need to check if it was\n // present.\n return true;\n }\n\n if (PhoneNumberUtil.formattingRuleHasFirstGroupOnly(formatRule.getNationalPrefixFormattingRule())) {\n // National Prefix not needed for this number.\n return true;\n }\n\n // Normalize the remainder.\n var rawInputCopy = PhoneNumberUtil.normalizeDigitsOnly(number.getRawInput());\n\n // Check if we found a national prefix and/or carrier code at the start of the raw input, and\n // return the result.\n return util.maybeStripNationalPrefixAndCarrierCode(rawInputCopy, metadata, null);\n }\n\n return true;\n}\n\nexport function containsMoreThanOneSlashInNationalNumber(number, candidate) {\n var firstSlashInBodyIndex = candidate.indexOf('/');\n if (firstSlashInBodyIndex < 0) {\n // No slashes, this is okay.\n return false;\n }\n\n // Now look for a second one.\n var secondSlashInBodyIndex = candidate.indexOf('/', firstSlashInBodyIndex + 1);\n if (secondSlashInBodyIndex < 0) {\n // Only one slash, this is okay.\n return false;\n }\n\n // If the first slash is after the country calling code, this is permitted.\n var candidateHasCountryCode = number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN || number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN;\n\n if (candidateHasCountryCode && PhoneNumberUtil.normalizeDigitsOnly(candidate.substring(0, firstSlashInBodyIndex)) === String(number.getCountryCode())) {\n // Any more slashes and this is illegal.\n return candidate.slice(secondSlashInBodyIndex + 1).indexOf('/') >= 0;\n }\n\n return true;\n}\n\nfunction checkNumberGroupingIsValid(number, candidate, metadata, checkGroups, regExpCache) {\n var normalizedCandidate = normalizeDigits(candidate, true /* keep non-digits */);\n var formattedNumberGroups = getNationalNumberGroups(metadata, number, null);\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\n return true;\n }\n\n // If this didn't pass, see if there are any alternate formats that match, and try them instead.\n var alternateFormats = MetadataManager.getAlternateFormatsForCountry(number.getCountryCode());\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n\n if (alternateFormats) {\n for (var _iterator = alternateFormats.numberFormats(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var alternateFormat = _ref;\n\n if (alternateFormat.leadingDigitsPatterns().length > 0) {\n // There is only one leading digits pattern for alternate formats.\n var leadingDigitsRegExp = regExpCache.getPatternForRegExp('^' + alternateFormat.leadingDigitsPatterns()[0]);\n if (!leadingDigitsRegExp.test(nationalSignificantNumber)) {\n // Leading digits don't match; try another one.\n continue;\n }\n }\n formattedNumberGroups = getNationalNumberGroups(metadata, number, alternateFormat);\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\n/**\r\n * Helper method to get the national-number part of a number, formatted without any national\r\n * prefix, and return it as a set of digit blocks that would be formatted together following\r\n * standard formatting rules.\r\n */\nfunction getNationalNumberGroups(metadata, number, formattingPattern) {\n if (formattingPattern) {\n // We format the NSN only, and split that according to the separator.\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n return util.formatNsnUsingPattern(nationalSignificantNumber, formattingPattern, 'RFC3966', metadata).split('-');\n }\n\n // This will be in the format +CC-DG1-DG2-DGX;ext=EXT where DG1..DGX represents groups of digits.\n var rfc3966Format = formatNumber(number, 'RFC3966', metadata);\n\n // We remove the extension part from the formatted string before splitting it into different\n // groups.\n var endIndex = rfc3966Format.indexOf(';');\n if (endIndex < 0) {\n endIndex = rfc3966Format.length;\n }\n\n // The country-code will have a '-' following it.\n var startIndex = rfc3966Format.indexOf('-') + 1;\n return rfc3966Format.slice(startIndex, endIndex).split('-');\n}\n\nfunction allNumberGroupsAreExactlyPresent(metadata, number, normalizedCandidate, formattedNumberGroups) {\n var candidateGroups = normalizedCandidate.split(NON_DIGITS_PATTERN);\n\n // Set this to the last group, skipping it if the number has an extension.\n var candidateNumberGroupIndex = number.hasExtension() ? candidateGroups.length - 2 : candidateGroups.length - 1;\n\n // First we check if the national significant number is formatted as a block.\n // We use contains and not equals, since the national significant number may be present with\n // a prefix such as a national number prefix, or the country code itself.\n if (candidateGroups.length == 1 || candidateGroups[candidateNumberGroupIndex].contains(util.getNationalSignificantNumber(number))) {\n return true;\n }\n\n // Starting from the end, go through in reverse, excluding the first group, and check the\n // candidate and number groups are the same.\n var formattedNumberGroupIndex = formattedNumberGroups.length - 1;\n while (formattedNumberGroupIndex > 0 && candidateNumberGroupIndex >= 0) {\n if (candidateGroups[candidateNumberGroupIndex] !== formattedNumberGroups[formattedNumberGroupIndex]) {\n return false;\n }\n formattedNumberGroupIndex--;\n candidateNumberGroupIndex--;\n }\n\n // Now check the first group. There may be a national prefix at the start, so we only check\n // that the candidate group ends with the formatted number group.\n return candidateNumberGroupIndex >= 0 && endsWith(candidateGroups[candidateNumberGroupIndex], formattedNumberGroups[0]);\n}\n\nfunction allNumberGroupsRemainGrouped(metadata, number, normalizedCandidate, formattedNumberGroups) {\n var fromIndex = 0;\n if (number.getCountryCodeSource() !== CountryCodeSource.FROM_DEFAULT_COUNTRY) {\n // First skip the country code if the normalized candidate contained it.\n var countryCode = String(number.getCountryCode());\n fromIndex = normalizedCandidate.indexOf(countryCode) + countryCode.length();\n }\n\n // Check each group of consecutive digits are not broken into separate groupings in the\n // {@code normalizedCandidate} string.\n for (var i = 0; i < formattedNumberGroups.length; i++) {\n // Fails if the substring of {@code normalizedCandidate} starting from {@code fromIndex}\n // doesn't contain the consecutive digits in formattedNumberGroups[i].\n fromIndex = normalizedCandidate.indexOf(formattedNumberGroups[i], fromIndex);\n if (fromIndex < 0) {\n return false;\n }\n // Moves {@code fromIndex} forward.\n fromIndex += formattedNumberGroups[i].length();\n if (i == 0 && fromIndex < normalizedCandidate.length()) {\n // We are at the position right after the NDC. We get the region used for formatting\n // information based on the country code in the phone number, rather than the number itself,\n // as we do not need to distinguish between different countries with the same country\n // calling code and this is faster.\n var region = util.getRegionCodeForCountryCode(number.getCountryCode());\n if (util.getNddPrefixForRegion(region, true) != null && Character.isDigit(normalizedCandidate.charAt(fromIndex))) {\n // This means there is no formatting symbol after the NDC. In this case, we only\n // accept the number if there is no formatting symbol at all in the number, except\n // for extensions. This is only important for countries with national prefixes.\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n return startsWith(normalizedCandidate.slice(fromIndex - formattedNumberGroups[i].length), nationalSignificantNumber);\n }\n }\n }\n\n // The check here makes sure that we haven't mistakenly already used the extension to\n // match the last group of the subscriber number. Note the extension cannot have\n // formatting in-between digits.\n return normalizedCandidate.slice(fromIndex).contains(number.getExtension());\n}\n//# sourceMappingURL=Leniency.js.map","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\r\n * A port of Google's `PhoneNumberMatcher.java`.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java\r\n * Date: 08.03.2018.\r\n */\n\nimport PhoneNumber from './PhoneNumber';\n\nimport { MAX_LENGTH_FOR_NSN, MAX_LENGTH_COUNTRY_CODE, VALID_PUNCTUATION } from './constants';\n\nimport { EXTN_PATTERNS_FOR_MATCHING } from './extension';\n\nimport RegExpCache from './findNumbers/RegExpCache';\n\nimport { limit, trimAfterFirstMatch } from './findNumbers/util';\n\nimport { _pL, _pN, pZ, PZ, pNd } from './findNumbers/utf-8';\n\nimport Leniency from './findNumbers/Leniency';\nimport parsePreCandidate from './findNumbers/parsePreCandidate';\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate';\nimport isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate';\n\nimport { isSupportedCountry } from './metadata';\n\nimport parseNumber from './parse_';\n\n/**\r\n * Patterns used to extract phone numbers from a larger phone-number-like pattern. These are\r\n * ordered according to specificity. For example, white-space is last since that is frequently\r\n * used in numbers, not just to separate two numbers. We have separate patterns since we don't\r\n * want to break up the phone-number-like text on more than one different kind of symbol at one\r\n * time, although symbols of the same type (e.g. space) can be safely grouped together.\r\n *\r\n * Note that if there is a match, we will always check any text found up to the first match as\r\n * well.\r\n */\nvar INNER_MATCHES = [\n// Breaks on the slash - e.g. \"651-234-2345/332-445-1234\"\n'\\\\/+(.*)/',\n\n// Note that the bracket here is inside the capturing group, since we consider it part of the\n// phone number. Will match a pattern like \"(650) 223 3345 (754) 223 3321\".\n'(\\\\([^(]*)',\n\n// Breaks on a hyphen - e.g. \"12345 - 332-445-1234 is my number.\"\n// We require a space on either side of the hyphen for it to be considered a separator.\n'(?:' + pZ + '-|-' + pZ + ')' + pZ + '*(.+)',\n\n// Various types of wide hyphens. Note we have decided not to enforce a space here, since it's\n// possible that it's supposed to be used to break two numbers without spaces, and we haven't\n// seen many instances of it used within a number.\n'[\\u2012-\\u2015\\uFF0D]' + pZ + '*(.+)',\n\n// Breaks on a full stop - e.g. \"12345. 332-445-1234 is my number.\"\n'\\\\.+' + pZ + '*([^.]+)',\n\n// Breaks on space - e.g. \"3324451234 8002341234\"\npZ + '+(' + PZ + '+)'];\n\n// Limit on the number of leading (plus) characters.\nvar leadLimit = limit(0, 2);\n\n// Limit on the number of consecutive punctuation characters.\nvar punctuationLimit = limit(0, 4);\n\n/* The maximum number of digits allowed in a digit-separated block. As we allow all digits in a\r\n * single block, set high enough to accommodate the entire national number and the international\r\n * country code. */\nvar digitBlockLimit = MAX_LENGTH_FOR_NSN + MAX_LENGTH_COUNTRY_CODE;\n\n// Limit on the number of blocks separated by punctuation.\n// Uses digitBlockLimit since some formats use spaces to separate each digit.\nvar blockLimit = limit(0, digitBlockLimit);\n\n/* A punctuation sequence allowing white space. */\nvar punctuation = '[' + VALID_PUNCTUATION + ']' + punctuationLimit;\n\n// A digits block without punctuation.\nvar digitSequence = pNd + limit(1, digitBlockLimit);\n\n/**\r\n * Phone number pattern allowing optional punctuation.\r\n * The phone number pattern used by `find()`, similar to\r\n * VALID_PHONE_NUMBER, but with the following differences:\r\n * <ul>\r\n * <li>All captures are limited in order to place an upper bound to the text matched by the\r\n * pattern.\r\n * <ul>\r\n * <li>Leading punctuation / plus signs are limited.\r\n * <li>Consecutive occurrences of punctuation are limited.\r\n * <li>Number of digits is limited.\r\n * </ul>\r\n * <li>No whitespace is allowed at the start or end.\r\n * <li>No alpha digits (vanity numbers such as 1-800-SIX-FLAGS) are currently supported.\r\n * </ul>\r\n */\nvar PATTERN = '(?:' + LEAD_CLASS + punctuation + ')' + leadLimit + digitSequence + '(?:' + punctuation + digitSequence + ')' + blockLimit + '(?:' + EXTN_PATTERNS_FOR_MATCHING + ')?';\n\n// Regular expression of trailing characters that we want to remove.\n// We remove all characters that are not alpha or numerical characters.\n// The hash character is retained here, as it may signify\n// the previous block was an extension.\n//\n// // Don't know what does '&&' mean here.\n// const UNWANTED_END_CHAR_PATTERN = new RegExp(`[[\\\\P{N}&&\\\\P{L}]&&[^#]]+$`)\n//\nvar UNWANTED_END_CHAR_PATTERN = new RegExp('[^' + _pN + _pL + '#]+$');\n\nvar NON_DIGITS_PATTERN = /(\\D+)/;\n\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\n/**\r\n * A stateful class that finds and extracts telephone numbers from {@linkplain CharSequence text}.\r\n * Instances can be created using the {@linkplain PhoneNumberUtil#findNumbers factory methods} in\r\n * {@link PhoneNumberUtil}.\r\n *\r\n * <p>Vanity numbers (phone numbers using alphabetic digits such as <tt>1-800-SIX-FLAGS</tt> are\r\n * not found.\r\n *\r\n * <p>This class is not thread-safe.\r\n */\n\nvar PhoneNumberMatcher = function () {\n\n /**\r\n * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a\r\n * new instance.\r\n *\r\n * @param util the phone number util to use\r\n * @param text the character sequence that we will search, null for no text\r\n * @param country the country to assume for phone numbers not written in international format\r\n * (with a leading plus, or with the international dialing prefix of the specified region).\r\n * May be null or \"ZZ\" if only numbers with a leading plus should be\r\n * considered.\r\n * @param leniency the leniency to use when evaluating candidate phone numbers\r\n * @param maxTries the maximum number of invalid numbers to try before giving up on the text.\r\n * This is to cover degenerate cases where the text has a lot of false positives in it. Must\r\n * be {@code >= 0}.\r\n */\n\n\n /** The next index to start searching at. Undefined in {@link State#DONE}. */\n function PhoneNumberMatcher() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var metadata = arguments[2];\n\n _classCallCheck(this, PhoneNumberMatcher);\n\n this.state = 'NOT_READY';\n this.searchIndex = 0;\n this.regExpCache = new RegExpCache(32);\n\n options = _extends({}, options, {\n defaultCountry: options.defaultCountry && isSupportedCountry(options.defaultCountry, metadata) ? options.defaultCountry : undefined,\n leniency: options.leniency || options.extended ? 'POSSIBLE' : 'VALID',\n maxTries: options.maxTries || MAX_SAFE_INTEGER\n });\n\n if (!options.leniency) {\n throw new TypeError('`Leniency` not supplied');\n }\n\n if (options.maxTries < 0) {\n throw new TypeError('`maxTries` not supplied');\n }\n\n this.text = text;\n this.options = options;\n this.metadata = metadata;\n\n /** The degree of validation requested. */\n this.leniency = Leniency[options.leniency];\n\n if (!this.leniency) {\n throw new TypeError('Unknown leniency: ' + options.leniency + '.');\n }\n\n /** The maximum number of retries after matching an invalid number. */\n this.maxTries = options.maxTries;\n\n this.PATTERN = new RegExp(PATTERN, 'ig');\n }\n\n /**\r\n * Attempts to find the next subsequence in the searched sequence on or after {@code searchIndex}\r\n * that represents a phone number. Returns the next match, null if none was found.\r\n *\r\n * @param index the search index to start searching at\r\n * @return the phone number match found, null if none can be found\r\n */\n\n\n // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\n // countries being used for the same doc with ~10 patterns for each country. Some pages will have\n // a lot more countries in use, but typically fewer numbers for each so expanding the cache for\n // that use-case won't have a lot of benefit.\n\n /** The iteration tristate. */\n\n\n _createClass(PhoneNumberMatcher, [{\n key: 'find',\n value: function find() // (index)\n {\n // // Reset the regular expression.\n // this.PATTERN.lastIndex = index\n\n var matches = void 0;\n while (this.maxTries > 0 && (matches = this.PATTERN.exec(this.text)) !== null) {\n var candidate = matches[0];\n var offset = matches.index;\n\n candidate = parsePreCandidate(candidate);\n\n if (isValidPreCandidate(candidate, offset, this.text)) {\n var match =\n // Try to come up with a valid match given the entire candidate.\n this.parseAndVerify(candidate, offset, this.text)\n // If that failed, try to find an \"inner match\" -\n // there might be a phone number within this candidate.\n || this.extractInnerMatch(candidate, offset, this.text);\n\n if (match) {\n if (this.options.v2) {\n var phoneNumber = new PhoneNumber(match.country, match.phone, this.metadata);\n if (match.ext) {\n phoneNumber.ext = match.ext;\n }\n return {\n startsAt: match.startsAt,\n endsAt: match.endsAt,\n number: phoneNumber\n };\n }\n return match;\n }\n }\n\n this.maxTries--;\n }\n }\n\n /**\r\n * Attempts to extract a match from `candidate`\r\n * if the whole candidate does not qualify as a match.\r\n */\n\n }, {\n key: 'extractInnerMatch',\n value: function extractInnerMatch(candidate, offset, text) {\n for (var _iterator = INNER_MATCHES, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var innerMatchPattern = _ref;\n\n var isFirstMatch = true;\n var matches = void 0;\n var possibleInnerMatch = new RegExp(innerMatchPattern, 'g');\n while ((matches = possibleInnerMatch.exec(candidate)) !== null && this.maxTries > 0) {\n if (isFirstMatch) {\n // We should handle any group before this one too.\n var _group = trimAfterFirstMatch(UNWANTED_END_CHAR_PATTERN, candidate.slice(0, matches.index));\n\n var _match = this.parseAndVerify(_group, offset, text);\n if (_match) {\n return _match;\n }\n\n this.maxTries--;\n isFirstMatch = false;\n }\n\n var group = trimAfterFirstMatch(UNWANTED_END_CHAR_PATTERN, matches[1]);\n\n // Java code does `groupMatcher.start(1)` here,\n // but there's no way in javascript to get a group match start index,\n // therefore using the overall match start index `matches.index`.\n var match = this.parseAndVerify(group, offset + matches.index, text);\n if (match) {\n return match;\n }\n\n this.maxTries--;\n }\n }\n }\n\n /**\r\n * Parses a phone number from the `candidate` using `parseNumber` and\r\n * verifies it matches the requested `leniency`. If parsing and verification succeed,\r\n * a corresponding `PhoneNumberMatch` is returned, otherwise this method returns `null`.\r\n *\r\n * @param candidate the candidate match\r\n * @param offset the offset of {@code candidate} within {@link #text}\r\n * @return the parsed and validated phone number match, or null\r\n */\n\n }, {\n key: 'parseAndVerify',\n value: function parseAndVerify(candidate, offset, text) {\n if (!isValidCandidate(candidate, offset, text, this.options.leniency)) {\n return;\n }\n\n var number = parseNumber(candidate, {\n extended: true,\n defaultCountry: this.options.defaultCountry\n }, this.metadata);\n\n if (!number.possible) {\n return;\n }\n\n if (this.leniency(number, candidate, this.metadata, this.regExpCache)) {\n // // We used parseAndKeepRawInput to create this number,\n // // but for now we don't return the extra values parsed.\n // // TODO: stop clearing all values here and switch all users over\n // // to using rawInput() rather than the rawString() of PhoneNumberMatch.\n // number.clearCountryCodeSource()\n // number.clearRawInput()\n // number.clearPreferredDomesticCarrierCode()\n\n var result = {\n startsAt: offset,\n endsAt: offset + candidate.length,\n country: number.country,\n phone: number.phone\n };\n\n if (number.ext) {\n result.ext = number.ext;\n }\n\n return result;\n }\n }\n }, {\n key: 'hasNext',\n value: function hasNext() {\n if (this.state === 'NOT_READY') {\n this.lastMatch = this.find(); // (this.searchIndex)\n\n if (this.lastMatch) {\n // this.searchIndex = this.lastMatch.endsAt\n this.state = 'READY';\n } else {\n this.state = 'DONE';\n }\n }\n\n return this.state === 'READY';\n }\n }, {\n key: 'next',\n value: function next() {\n // Check the state and find the next match as a side-effect if necessary.\n if (!this.hasNext()) {\n throw new Error('No next element');\n }\n\n // Don't retain that memory any longer than necessary.\n var result = this.lastMatch;\n this.lastMatch = null;\n this.state = 'NOT_READY';\n return result;\n }\n }]);\n\n return PhoneNumberMatcher;\n}();\n\nexport default PhoneNumberMatcher;\n//# sourceMappingURL=PhoneNumberMatcher.js.map","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// This is an enhanced port of Google Android `libphonenumber`'s\n// `asyoutypeformatter.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/blob/8d21a365061de2ba0675c878a710a7b24f74d2ae/javascript/i18n/phonenumbers/asyoutypeformatter.js\n//\n// Simplified: does not differentiate between \"local-only\" numbers\n// and \"internationally dialable\" numbers.\n// For example, doesn't include changes like this:\n// https://github.com/googlei18n/libphonenumber/commit/865da605da12b01053c4f053310bac7c5fbb7935\n\nimport Metadata from './metadata';\n\nimport PhoneNumber from './PhoneNumber';\n\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants';\n\nimport { matchesEntirely } from './util';\n\nimport { extractCountryCallingCode as _extractCountryCallingCode, extract_formatted_phone_number, find_country_code, strip_national_prefix_and_carrier_code } from './parse_';\n\nimport { FIRST_GROUP_PATTERN, format_national_number_using_format, changeInternationalFormatStyle } from './format_';\n\nimport { checkNumberLengthForType } from './getNumberType_';\n\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber';\n\n// Used in phone number format template creation.\n// Could be any digit, I guess.\nvar DUMMY_DIGIT = '9';\n// I don't know why is it exactly `15`\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15;\n// Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH);\n\n// The digits that have not been entered yet will be represented by a \\u2008,\n// the punctuation space.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER);\n\n// Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true;\n\n// A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n\treturn (/\\[([^\\[\\]])*\\]/g\n\t);\n};\n\n// Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n\treturn (/\\d(?=[^,}][^,}])/g\n\t);\n};\n\n// A pattern that is used to determine if a `format` is eligible\n// to be used by the \"as you type formatter\".\n// It is eligible when the `format` contains groups of the dollar sign\n// followed by a single digit, separated by valid phone number punctuation.\n// This prevents invalid punctuation (such as the star sign in Israeli star numbers)\n// getting into the output of the \"as you type formatter\".\nvar ELIGIBLE_FORMAT_PATTERN = new RegExp('^' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' + '$');\n\n// This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar VALID_INCOMPLETE_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\nvar VALID_INCOMPLETE_PHONE_NUMBER_PATTERN = new RegExp('^' + VALID_INCOMPLETE_PHONE_NUMBER + '$', 'i');\n\nvar AsYouType = function () {\n\n\t/**\r\n * @param {string?} [defaultCountry] - The default country used for parsing non-international phone numbers.\r\n * @param {Object} metadata\r\n */\n\tfunction AsYouType(defaultCountry, metadata) {\n\t\t_classCallCheck(this, AsYouType);\n\n\t\tthis.options = {};\n\n\t\tthis.metadata = new Metadata(metadata);\n\n\t\tif (defaultCountry && this.metadata.hasCountry(defaultCountry)) {\n\t\t\tthis.defaultCountry = defaultCountry;\n\t\t}\n\n\t\tthis.reset();\n\t}\n\t// Not setting `options` to a constructor argument\n\t// not to break backwards compatibility\n\t// for older versions of the library.\n\n\n\t_createClass(AsYouType, [{\n\t\tkey: 'input',\n\t\tvalue: function input(text) {\n\t\t\t// Parse input\n\n\t\t\tvar extracted_number = extract_formatted_phone_number(text) || '';\n\n\t\t\t// Special case for a lone '+' sign\n\t\t\t// since it's not considered a possible phone number.\n\t\t\tif (!extracted_number) {\n\t\t\t\tif (text && text.indexOf('+') >= 0) {\n\t\t\t\t\textracted_number = '+';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Validate possible first part of a phone number\n\t\t\tif (!VALID_INCOMPLETE_PHONE_NUMBER_PATTERN.test(extracted_number)) {\n\t\t\t\treturn this.currentOutput;\n\t\t\t}\n\n\t\t\treturn this.processInput(parseIncompletePhoneNumber(extracted_number));\n\t\t}\n\t}, {\n\t\tkey: 'processInput',\n\t\tvalue: function processInput(input) {\n\t\t\t// If an out of position '+' sign detected\n\t\t\t// (or a second '+' sign),\n\t\t\t// then just drop it from the input.\n\t\t\tif (input[0] === '+') {\n\t\t\t\tif (!this.parsedInput) {\n\t\t\t\t\tthis.parsedInput += '+';\n\n\t\t\t\t\t// If a default country was set\n\t\t\t\t\t// then reset it because an explicitly international\n\t\t\t\t\t// phone number is being entered\n\t\t\t\t\tthis.resetCountriness();\n\t\t\t\t}\n\n\t\t\t\tinput = input.slice(1);\n\t\t\t}\n\n\t\t\t// Raw phone number\n\t\t\tthis.parsedInput += input;\n\n\t\t\t// // Reset phone number validation state\n\t\t\t// this.valid = false\n\n\t\t\t// Add digits to the national number\n\t\t\tthis.nationalNumber += input;\n\n\t\t\t// TODO: Deprecated: rename `this.nationalNumber`\n\t\t\t// to `this.nationalNumber` and remove `.getNationalNumber()`.\n\n\t\t\t// Try to format the parsed input\n\n\t\t\tif (this.isInternational()) {\n\t\t\t\tif (!this.countryCallingCode) {\n\t\t\t\t\t// Extract country calling code from the digits entered so far.\n\n\t\t\t\t\t// There must be some digits in order to extract anything from them.\n\t\t\t\t\tif (!this.nationalNumber) {\n\t\t\t\t\t\t// Return raw phone number\n\t\t\t\t\t\treturn this.parsedInput;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If one looks at country phone codes\n\t\t\t\t\t// then he can notice that no one country phone code\n\t\t\t\t\t// is ever a (leftmost) substring of another country phone code.\n\t\t\t\t\t// So if a valid country code is extracted so far\n\t\t\t\t\t// then it means that this is the country code.\n\n\t\t\t\t\t// If no country phone code could be extracted so far,\n\t\t\t\t\t// then just return the raw phone number,\n\t\t\t\t\t// because it has no way of knowing\n\t\t\t\t\t// how to format the phone number so far.\n\t\t\t\t\tif (!this.extractCountryCallingCode()) {\n\t\t\t\t\t\t// Return raw phone number\n\t\t\t\t\t\treturn this.parsedInput;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initialize country-specific data\n\t\t\t\t\tthis.initialize_phone_number_formats_for_this_country_calling_code();\n\t\t\t\t\tthis.resetFormat();\n\t\t\t\t\tthis.determineTheCountry();\n\t\t\t\t}\n\t\t\t\t// `this.country` could be `undefined`,\n\t\t\t\t// for instance, when there is ambiguity\n\t\t\t\t// in a form of several different countries\n\t\t\t\t// each corresponding to the same country phone code\n\t\t\t\t// (e.g. NANPA: USA, Canada, etc),\n\t\t\t\t// and there's not enough digits entered\n\t\t\t\t// to reliably determine the country\n\t\t\t\t// the phone number belongs to.\n\t\t\t\t// Therefore, in cases of such ambiguity,\n\t\t\t\t// each time something is input,\n\t\t\t\t// try to determine the country\n\t\t\t\t// (if it's not determined yet).\n\t\t\t\telse if (!this.country) {\n\t\t\t\t\t\tthis.determineTheCountry();\n\t\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Some national prefixes are substrings of other national prefixes\n\t\t\t\t// (for the same country), therefore try to extract national prefix each time\n\t\t\t\t// because a longer national prefix might be available at some point in time.\n\n\t\t\t\tvar previous_national_prefix = this.nationalPrefix;\n\t\t\t\tthis.nationalNumber = this.nationalPrefix + this.nationalNumber;\n\n\t\t\t\t// Possibly extract a national prefix\n\t\t\t\tthis.extractNationalPrefix();\n\n\t\t\t\tif (this.nationalPrefix !== previous_national_prefix) {\n\t\t\t\t\t// National number has changed\n\t\t\t\t\t// (due to another national prefix been extracted)\n\t\t\t\t\t// therefore national number has changed\n\t\t\t\t\t// therefore reset all previous formatting data.\n\t\t\t\t\t// (and leading digits matching state)\n\t\t\t\t\tthis.matching_formats = undefined;\n\t\t\t\t\tthis.resetFormat();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if (!this.shouldFormat())\n\t\t\t// {\n\t\t\t// \treturn this.format_as_non_formatted_number()\n\t\t\t// }\n\n\t\t\tif (!this.nationalNumber) {\n\t\t\t\treturn this.format_as_non_formatted_number();\n\t\t\t}\n\n\t\t\t// Check the available phone number formats\n\t\t\t// based on the currently available leading digits.\n\t\t\tthis.match_formats_by_leading_digits();\n\n\t\t\t// Format the phone number (given the next digits)\n\t\t\tvar formatted_national_phone_number = this.formatNationalNumber(input);\n\n\t\t\t// If the phone number could be formatted,\n\t\t\t// then return it, possibly prepending with country phone code\n\t\t\t// (for international phone numbers only)\n\t\t\tif (formatted_national_phone_number) {\n\t\t\t\treturn this.formatFullNumber(formatted_national_phone_number);\n\t\t\t}\n\n\t\t\t// If the phone number couldn't be formatted,\n\t\t\t// then just fall back to the raw phone number.\n\t\t\treturn this.format_as_non_formatted_number();\n\t\t}\n\t}, {\n\t\tkey: 'format_as_non_formatted_number',\n\t\tvalue: function format_as_non_formatted_number() {\n\t\t\t// Strip national prefix for incorrectly inputted international phones.\n\t\t\tif (this.isInternational() && this.countryCallingCode) {\n\t\t\t\treturn '+' + this.countryCallingCode + this.nationalNumber;\n\t\t\t}\n\n\t\t\treturn this.parsedInput;\n\t\t}\n\t}, {\n\t\tkey: 'formatNationalNumber',\n\t\tvalue: function formatNationalNumber(next_digits) {\n\t\t\t// Format the next phone number digits\n\t\t\t// using the previously chosen phone number format.\n\t\t\t//\n\t\t\t// This is done here because if `attempt_to_format_complete_phone_number`\n\t\t\t// was placed before this call then the `template`\n\t\t\t// wouldn't reflect the situation correctly (and would therefore be inconsistent)\n\t\t\t//\n\t\t\tvar national_number_formatted_with_previous_format = void 0;\n\t\t\tif (this.chosenFormat) {\n\t\t\t\tnational_number_formatted_with_previous_format = this.formatNextNationalNumberDigits(next_digits);\n\t\t\t}\n\n\t\t\t// See if the input digits can be formatted properly already. If not,\n\t\t\t// use the results from formatNextNationalNumberDigits(), which does formatting\n\t\t\t// based on the formatting pattern chosen.\n\n\t\t\tvar formatted_number = this.attempt_to_format_complete_phone_number();\n\n\t\t\t// Just because a phone number doesn't have a suitable format\n\t\t\t// that doesn't mean that the phone is invalid\n\t\t\t// because phone number formats only format phone numbers,\n\t\t\t// they don't validate them and some (rare) phone numbers\n\t\t\t// are meant to stay non-formatted.\n\t\t\tif (formatted_number) {\n\t\t\t\treturn formatted_number;\n\t\t\t}\n\n\t\t\t// For some phone number formats national prefix\n\n\t\t\t// If the previously chosen phone number format\n\t\t\t// didn't match the next (current) digit being input\n\t\t\t// (leading digits pattern didn't match).\n\t\t\tif (this.chooseAnotherFormat()) {\n\t\t\t\t// And a more appropriate phone number format\n\t\t\t\t// has been chosen for these `leading digits`,\n\t\t\t\t// then format the national phone number (so far)\n\t\t\t\t// using the newly selected phone number pattern.\n\n\t\t\t\t// Will return `undefined` if it couldn't format\n\t\t\t\t// the supplied national number\n\t\t\t\t// using the selected phone number pattern.\n\n\t\t\t\treturn this.reformatNationalNumber();\n\t\t\t}\n\n\t\t\t// If could format the next (current) digit\n\t\t\t// using the previously chosen phone number format\n\t\t\t// then return the formatted number so far.\n\n\t\t\t// If no new phone number format could be chosen,\n\t\t\t// and couldn't format the supplied national number\n\t\t\t// using the selected phone number pattern,\n\t\t\t// then it will return `undefined`.\n\n\t\t\treturn national_number_formatted_with_previous_format;\n\t\t}\n\t}, {\n\t\tkey: 'reset',\n\t\tvalue: function reset() {\n\t\t\t// Input stripped of non-phone-number characters.\n\t\t\t// Can only contain a possible leading '+' sign and digits.\n\t\t\tthis.parsedInput = '';\n\n\t\t\tthis.currentOutput = '';\n\n\t\t\t// This contains the national prefix that has been extracted. It contains only\n\t\t\t// digits without formatting.\n\t\t\tthis.nationalPrefix = '';\n\n\t\t\tthis.nationalNumber = '';\n\t\t\tthis.carrierCode = '';\n\n\t\t\tthis.resetCountriness();\n\n\t\t\tthis.resetFormat();\n\n\t\t\treturn this;\n\t\t}\n\t}, {\n\t\tkey: 'resetCountry',\n\t\tvalue: function resetCountry() {\n\t\t\tif (this.isInternational()) {\n\t\t\t\tthis.country = undefined;\n\t\t\t} else {\n\t\t\t\tthis.country = this.defaultCountry;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'resetCountriness',\n\t\tvalue: function resetCountriness() {\n\t\t\tthis.resetCountry();\n\n\t\t\tif (this.defaultCountry && !this.isInternational()) {\n\t\t\t\tthis.metadata.country(this.defaultCountry);\n\t\t\t\tthis.countryCallingCode = this.metadata.countryCallingCode();\n\n\t\t\t\tthis.initialize_phone_number_formats_for_this_country_calling_code();\n\t\t\t} else {\n\t\t\t\tthis.metadata.country(undefined);\n\t\t\t\tthis.countryCallingCode = undefined;\n\n\t\t\t\t// \"Available formats\" are all formats available for the country.\n\t\t\t\t// \"Matching formats\" are only formats eligible for the national number being entered.\n\t\t\t\tthis.available_formats = [];\n\t\t\t\tthis.matching_formats = undefined;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'resetFormat',\n\t\tvalue: function resetFormat() {\n\t\t\tthis.chosenFormat = undefined;\n\t\t\tthis.template = undefined;\n\t\t\tthis.partially_populated_template = undefined;\n\t\t\tthis.last_match_position = -1;\n\t\t}\n\n\t\t// Format each digit of national phone number (so far)\n\t\t// using the newly selected phone number pattern.\n\n\t}, {\n\t\tkey: 'reformatNationalNumber',\n\t\tvalue: function reformatNationalNumber() {\n\t\t\t// Format each digit of national phone number (so far)\n\t\t\t// using the selected phone number pattern.\n\t\t\treturn this.formatNextNationalNumberDigits(this.nationalNumber);\n\t\t}\n\t}, {\n\t\tkey: 'initialize_phone_number_formats_for_this_country_calling_code',\n\t\tvalue: function initialize_phone_number_formats_for_this_country_calling_code() {\n\t\t\t// Get all \"eligible\" phone number formats for this country\n\t\t\tthis.available_formats = this.metadata.formats().filter(function (format) {\n\t\t\t\treturn ELIGIBLE_FORMAT_PATTERN.test(format.internationalFormat());\n\t\t\t});\n\n\t\t\tthis.matching_formats = undefined;\n\t\t}\n\t}, {\n\t\tkey: 'match_formats_by_leading_digits',\n\t\tvalue: function match_formats_by_leading_digits() {\n\t\t\tvar leading_digits = this.nationalNumber;\n\n\t\t\t// \"leading digits\" pattern list starts with a\n\t\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\n\t\t\t// So, after a user inputs 3 digits of a national (significant) phone number\n\t\t\t// this national (significant) number can already be formatted.\n\t\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\n\t\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n\n\t\t\t// This implementation is different from Google's\n\t\t\t// in that it searches for a fitting format\n\t\t\t// even if the user has entered less than\n\t\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n\t\t\t// Because some leading digits patterns already match for a single first digit.\n\t\t\tvar index_of_leading_digits_pattern = leading_digits.length - MIN_LEADING_DIGITS_LENGTH;\n\t\t\tif (index_of_leading_digits_pattern < 0) {\n\t\t\t\tindex_of_leading_digits_pattern = 0;\n\t\t\t}\n\n\t\t\t// \"Available formats\" are all formats available for the country.\n\t\t\t// \"Matching formats\" are only formats eligible for the national number being entered.\n\n\t\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are available\n\t\t\t// then format matching starts narrowing down the list of possible formats\n\t\t\t// (only previously matched formats are considered for next digits).\n\t\t\tvar available_formats = this.had_enough_leading_digits && this.matching_formats || this.available_formats;\n\t\t\tthis.had_enough_leading_digits = this.shouldFormat();\n\n\t\t\tthis.matching_formats = available_formats.filter(function (format) {\n\t\t\t\tvar leading_digits_patterns_count = format.leadingDigitsPatterns().length;\n\n\t\t\t\t// If this format is not restricted to a certain\n\t\t\t\t// leading digits pattern then it fits.\n\t\t\t\tif (leading_digits_patterns_count === 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tvar leading_digits_pattern_index = Math.min(index_of_leading_digits_pattern, leading_digits_patterns_count - 1);\n\t\t\t\tvar leading_digits_pattern = format.leadingDigitsPatterns()[leading_digits_pattern_index];\n\n\t\t\t\t// Brackets are required for `^` to be applied to\n\t\t\t\t// all or-ed (`|`) parts, not just the first one.\n\t\t\t\treturn new RegExp('^(' + leading_digits_pattern + ')').test(leading_digits);\n\t\t\t});\n\n\t\t\t// If there was a phone number format chosen\n\t\t\t// and it no longer holds given the new leading digits then reset it.\n\t\t\t// The test for this `if` condition is marked as:\n\t\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\n\t\t\t// To construct a valid test case for this one can find a country\n\t\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 `<leadingDigits>`\n\t\t\t// and yielding another format for 4 `<leadingDigits>` (Australia in this case).\n\t\t\tif (this.chosenFormat && this.matching_formats.indexOf(this.chosenFormat) === -1) {\n\t\t\t\tthis.resetFormat();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'shouldFormat',\n\t\tvalue: function shouldFormat() {\n\t\t\t// Start matching any formats at all when the national number\n\t\t\t// entered so far is at least 3 digits long,\n\t\t\t// otherwise format matching would give false negatives\n\t\t\t// like when the digits entered so far are `2`\n\t\t\t// and the leading digits pattern is `21` –\n\t\t\t// it's quite obvious in this case that the format could be the one\n\t\t\t// but due to the absence of further digits it would give false negative.\n\t\t\t//\n\t\t\t// Presumably the limitation of \"3 digits min\"\n\t\t\t// is imposed to exclude false matches,\n\t\t\t// e.g. when there are two different formats\n\t\t\t// each one fitting one or two leading digits being input.\n\t\t\t// But for this case I would propose a specific `if/else` condition.\n\t\t\t//\n\t\t\treturn this.nationalNumber.length >= MIN_LEADING_DIGITS_LENGTH;\n\t\t}\n\n\t\t// Check to see if there is an exact pattern match for these digits. If so, we\n\t\t// should use this instead of any other formatting template whose\n\t\t// `leadingDigitsPattern` also matches the input.\n\n\t}, {\n\t\tkey: 'attempt_to_format_complete_phone_number',\n\t\tvalue: function attempt_to_format_complete_phone_number() {\n\t\t\tfor (var _iterator = this.matching_formats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n\t\t\t\tvar _ref;\n\n\t\t\t\tif (_isArray) {\n\t\t\t\t\tif (_i >= _iterator.length) break;\n\t\t\t\t\t_ref = _iterator[_i++];\n\t\t\t\t} else {\n\t\t\t\t\t_i = _iterator.next();\n\t\t\t\t\tif (_i.done) break;\n\t\t\t\t\t_ref = _i.value;\n\t\t\t\t}\n\n\t\t\t\tvar format = _ref;\n\n\t\t\t\tvar matcher = new RegExp('^(?:' + format.pattern() + ')$');\n\n\t\t\t\tif (!matcher.test(this.nationalNumber)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!this.isFormatApplicable(format)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// To leave the formatter in a consistent state\n\t\t\t\tthis.resetFormat();\n\t\t\t\tthis.chosenFormat = format;\n\n\t\t\t\tvar formatted_number = format_national_number_using_format(this.nationalNumber, format, this.isInternational(), this.nationalPrefix !== '', this.metadata);\n\n\t\t\t\t// Special handling for NANPA countries for AsYouType formatter.\n\t\t\t\t// Copied from Google's `libphonenumber`:\n\t\t\t\t// https://github.com/googlei18n/libphonenumber/blob/66986dbbe443ee8450e2b54dcd44ac384b3bbee8/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L535-L573\n\t\t\t\tif (this.nationalPrefix && this.countryCallingCode === '1') {\n\t\t\t\t\tformatted_number = '1 ' + formatted_number;\n\t\t\t\t}\n\n\t\t\t\t// Set `this.template` and `this.partially_populated_template`.\n\t\t\t\t//\n\t\t\t\t// `else` case doesn't ever happen\n\t\t\t\t// with the current metadata,\n\t\t\t\t// but just in case.\n\t\t\t\t//\n\t\t\t\t/* istanbul ignore else */\n\t\t\t\tif (this.createFormattingTemplate(format)) {\n\t\t\t\t\t// Populate `this.partially_populated_template`\n\t\t\t\t\tthis.reformatNationalNumber();\n\t\t\t\t} else {\n\t\t\t\t\t// Prepend `+CountryCode` in case of an international phone number\n\t\t\t\t\tvar full_number = this.formatFullNumber(formatted_number);\n\t\t\t\t\tthis.template = full_number.replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER);\n\t\t\t\t\tthis.partially_populated_template = full_number;\n\t\t\t\t}\n\n\t\t\t\treturn formatted_number;\n\t\t\t}\n\t\t}\n\n\t\t// Prepends `+CountryCode` in case of an international phone number\n\n\t}, {\n\t\tkey: 'formatFullNumber',\n\t\tvalue: function formatFullNumber(formattedNationalNumber) {\n\t\t\tif (this.isInternational()) {\n\t\t\t\treturn '+' + this.countryCallingCode + ' ' + formattedNationalNumber;\n\t\t\t}\n\t\t\treturn formattedNationalNumber;\n\t\t}\n\n\t\t// Extracts the country calling code from the beginning\n\t\t// of the entered `national_number` (so far),\n\t\t// and places the remaining input into the `national_number`.\n\n\t}, {\n\t\tkey: 'extractCountryCallingCode',\n\t\tvalue: function extractCountryCallingCode() {\n\t\t\tvar _extractCountryCallin = _extractCountryCallingCode(this.parsedInput, this.defaultCountry, this.metadata.metadata),\n\t\t\t countryCallingCode = _extractCountryCallin.countryCallingCode,\n\t\t\t number = _extractCountryCallin.number;\n\n\t\t\tif (!countryCallingCode) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.countryCallingCode = countryCallingCode;\n\n\t\t\t// Sometimes people erroneously write national prefix\n\t\t\t// as part of an international number, e.g. +44 (0) ....\n\t\t\t// This violates the standards for international phone numbers,\n\t\t\t// so \"As You Type\" formatter assumes no national prefix\n\t\t\t// when parsing a phone number starting from `+`.\n\t\t\t// Even if it did attempt to filter-out that national prefix\n\t\t\t// it would look weird for a user trying to enter a digit\n\t\t\t// because from user's perspective the keyboard \"wouldn't be working\".\n\t\t\tthis.nationalNumber = number;\n\n\t\t\tthis.metadata.chooseCountryByCountryCallingCode(countryCallingCode);\n\t\t\treturn this.metadata.selectedCountry() !== undefined;\n\t\t}\n\t}, {\n\t\tkey: 'extractNationalPrefix',\n\t\tvalue: function extractNationalPrefix() {\n\t\t\tthis.nationalPrefix = '';\n\n\t\t\tif (!this.metadata.selectedCountry()) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only strip national prefixes for non-international phone numbers\n\t\t\t// because national prefixes can't be present in international phone numbers.\n\t\t\t// While `parseNumber()` is forgiving is such cases, `AsYouType` is not.\n\n\t\t\tvar _strip_national_prefi = strip_national_prefix_and_carrier_code(this.nationalNumber, this.metadata),\n\t\t\t potential_national_number = _strip_national_prefi.number,\n\t\t\t carrierCode = _strip_national_prefi.carrierCode;\n\n\t\t\tif (carrierCode) {\n\t\t\t\tthis.carrierCode = carrierCode;\n\t\t\t}\n\n\t\t\t// We require that the NSN remaining after stripping the national prefix and\n\t\t\t// carrier code be long enough to be a possible length for the region.\n\t\t\t// Otherwise, we don't do the stripping, since the original number could be\n\t\t\t// a valid short number.\n\t\t\tif (!this.metadata.possibleLengths() || this.isPossibleNumber(this.nationalNumber) && !this.isPossibleNumber(potential_national_number)) {\n\t\t\t\t// Verify the parsed national (significant) number for this country\n\t\t\t\t//\n\t\t\t\t// If the original number (before stripping national prefix) was viable,\n\t\t\t\t// and the resultant number is not, then prefer the original phone number.\n\t\t\t\t// This is because for some countries (e.g. Russia) the same digit could be both\n\t\t\t\t// a national prefix and a leading digit of a valid national phone number,\n\t\t\t\t// like `8` is the national prefix for Russia and both\n\t\t\t\t// `8 800 555 35 35` and `800 555 35 35` are valid numbers.\n\t\t\t\tif (matchesEntirely(this.nationalNumber, this.metadata.nationalNumberPattern()) && !matchesEntirely(potential_national_number, this.metadata.nationalNumberPattern())) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.nationalPrefix = this.nationalNumber.slice(0, this.nationalNumber.length - potential_national_number.length);\n\t\t\tthis.nationalNumber = potential_national_number;\n\n\t\t\treturn this.nationalPrefix;\n\t\t}\n\t}, {\n\t\tkey: 'isPossibleNumber',\n\t\tvalue: function isPossibleNumber(number) {\n\t\t\tvar validation_result = checkNumberLengthForType(number, undefined, this.metadata);\n\t\t\tswitch (validation_result) {\n\t\t\t\tcase 'IS_POSSIBLE':\n\t\t\t\t\treturn true;\n\t\t\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\n\t\t\t\t// \treturn !this.isInternational()\n\t\t\t\tdefault:\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'chooseAnotherFormat',\n\t\tvalue: function chooseAnotherFormat() {\n\t\t\t// When there are multiple available formats, the formatter uses the first\n\t\t\t// format where a formatting template could be created.\n\t\t\tfor (var _iterator2 = this.matching_formats, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n\t\t\t\tvar _ref2;\n\n\t\t\t\tif (_isArray2) {\n\t\t\t\t\tif (_i2 >= _iterator2.length) break;\n\t\t\t\t\t_ref2 = _iterator2[_i2++];\n\t\t\t\t} else {\n\t\t\t\t\t_i2 = _iterator2.next();\n\t\t\t\t\tif (_i2.done) break;\n\t\t\t\t\t_ref2 = _i2.value;\n\t\t\t\t}\n\n\t\t\t\tvar format = _ref2;\n\n\t\t\t\t// If this format is currently being used\n\t\t\t\t// and is still possible, then stick to it.\n\t\t\t\tif (this.chosenFormat === format) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// If this `format` is suitable for \"as you type\",\n\t\t\t\t// then extract the template from this format\n\t\t\t\t// and use it to format the phone number being input.\n\n\t\t\t\tif (!this.isFormatApplicable(format)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!this.createFormattingTemplate(format)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthis.chosenFormat = format;\n\n\t\t\t\t// With a new formatting template, the matched position\n\t\t\t\t// using the old template needs to be reset.\n\t\t\t\tthis.last_match_position = -1;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// No format matches the phone number,\n\t\t\t// therefore set `country` to `undefined`\n\t\t\t// (or to the default country).\n\t\t\tthis.resetCountry();\n\n\t\t\t// No format matches the national phone number entered\n\t\t\tthis.resetFormat();\n\t\t}\n\t}, {\n\t\tkey: 'isFormatApplicable',\n\t\tvalue: function isFormatApplicable(format) {\n\t\t\t// If national prefix is mandatory for this phone number format\n\t\t\t// and the user didn't input the national prefix\n\t\t\t// then this phone number format isn't suitable.\n\t\t\tif (!this.isInternational() && !this.nationalPrefix && format.nationalPrefixIsMandatoryWhenFormatting()) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// If this format doesn't use national prefix\n\t\t\t// but the user did input national prefix\n\t\t\t// then this phone number format isn't suitable.\n\t\t\tif (this.nationalPrefix && !format.usesNationalPrefix() && !format.nationalPrefixIsOptionalWhenFormatting()) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}, {\n\t\tkey: 'createFormattingTemplate',\n\t\tvalue: function createFormattingTemplate(format) {\n\t\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\n\t\t\t// (20|3)\\d{4}. In those cases we quickly return.\n\t\t\t// (Though there's no such format in current metadata)\n\t\t\t/* istanbul ignore if */\n\t\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Get formatting template for this phone number format\n\t\t\tvar template = this.getTemplateForNumberFormatPattern(format);\n\n\t\t\t// If the national number entered is too long\n\t\t\t// for any phone number format, then abort.\n\t\t\tif (!template) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This one is for national number only\n\t\t\tthis.partially_populated_template = template;\n\n\t\t\t// For convenience, the public `.template` property\n\t\t\t// contains the whole international number\n\t\t\t// if the phone number being input is international:\n\t\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\n\t\t\t// a spacebar and then the template for the formatted national number.\n\t\t\tif (this.isInternational()) {\n\t\t\t\tthis.template = DIGIT_PLACEHOLDER + repeat(DIGIT_PLACEHOLDER, this.countryCallingCode.length) + ' ' + template;\n\t\t\t}\n\t\t\t// For local numbers, replace national prefix\n\t\t\t// with a digit placeholder.\n\t\t\telse {\n\t\t\t\t\tthis.template = template.replace(/\\d/g, DIGIT_PLACEHOLDER);\n\t\t\t\t}\n\n\t\t\t// This one is for the full phone number\n\t\t\treturn this.template;\n\t\t}\n\n\t\t// Generates formatting template for a phone number format\n\n\t}, {\n\t\tkey: 'getTemplateForNumberFormatPattern',\n\t\tvalue: function getTemplateForNumberFormatPattern(format) {\n\t\t\t// A very smart trick by the guys at Google\n\t\t\tvar number_pattern = format.pattern();\n\n\t\t\t/* istanbul ignore else */\n\t\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n\t\t\t\tnumber_pattern = number_pattern\n\t\t\t\t// Replace anything in the form of [..] with \\d\n\t\t\t\t.replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d')\n\t\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\n\t\t\t\t.replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n\t\t\t}\n\n\t\t\t// This match will always succeed,\n\t\t\t// because the \"longest dummy phone number\"\n\t\t\t// has enough length to accomodate any possible\n\t\t\t// national phone number format pattern.\n\t\t\tvar dummy_phone_number_matching_format_pattern = LONGEST_DUMMY_PHONE_NUMBER.match(number_pattern)[0];\n\n\t\t\t// If the national number entered is too long\n\t\t\t// for any phone number format, then abort.\n\t\t\tif (this.nationalNumber.length > dummy_phone_number_matching_format_pattern.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Prepare the phone number format\n\t\t\tvar number_format = this.getFormatFormat(format);\n\n\t\t\t// Get a formatting template which can be used to efficiently format\n\t\t\t// a partial number where digits are added one by one.\n\n\t\t\t// Below `strict_pattern` is used for the\n\t\t\t// regular expression (with `^` and `$`).\n\t\t\t// This wasn't originally in Google's `libphonenumber`\n\t\t\t// and I guess they don't really need it\n\t\t\t// because they're not using \"templates\" to format phone numbers\n\t\t\t// but I added `strict_pattern` after encountering\n\t\t\t// South Korean phone number formatting bug.\n\t\t\t//\n\t\t\t// Non-strict regular expression bug demonstration:\n\t\t\t//\n\t\t\t// this.nationalNumber : `111111111` (9 digits)\n\t\t\t//\n\t\t\t// number_pattern : (\\d{2})(\\d{3,4})(\\d{4})\n\t\t\t// number_format : `$1 $2 $3`\n\t\t\t// dummy_phone_number_matching_format_pattern : `9999999999` (10 digits)\n\t\t\t//\n\t\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n\t\t\t//\n\t\t\t// template : xx xxxx xxxx\n\t\t\t//\n\t\t\t// But the correct template in this case is `xx xxx xxxx`.\n\t\t\t// The template was generated incorrectly because of the\n\t\t\t// `{3,4}` variability in the `number_pattern`.\n\t\t\t//\n\t\t\t// The fix is, if `this.nationalNumber` has already sufficient length\n\t\t\t// to satisfy the `number_pattern` completely then `this.nationalNumber` is used\n\t\t\t// instead of `dummy_phone_number_matching_format_pattern`.\n\n\t\t\tvar strict_pattern = new RegExp('^' + number_pattern + '$');\n\t\t\tvar national_number_dummy_digits = this.nationalNumber.replace(/\\d/g, DUMMY_DIGIT);\n\n\t\t\t// If `this.nationalNumber` has already sufficient length\n\t\t\t// to satisfy the `number_pattern` completely then use it\n\t\t\t// instead of `dummy_phone_number_matching_format_pattern`.\n\t\t\tif (strict_pattern.test(national_number_dummy_digits)) {\n\t\t\t\tdummy_phone_number_matching_format_pattern = national_number_dummy_digits;\n\t\t\t}\n\n\t\t\t// Generate formatting template for this phone number format\n\t\t\treturn dummy_phone_number_matching_format_pattern\n\t\t\t// Format the dummy phone number according to the format\n\t\t\t.replace(new RegExp(number_pattern), number_format)\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER\n\t\t\t.replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER);\n\t\t}\n\t}, {\n\t\tkey: 'formatNextNationalNumberDigits',\n\t\tvalue: function formatNextNationalNumberDigits(digits) {\n\t\t\t// Using `.split('')` to iterate through a string here\n\t\t\t// to avoid requiring `Symbol.iterator` polyfill.\n\t\t\t// `.split('')` is generally not safe for Unicode,\n\t\t\t// but in this particular case for `digits` it is safe.\n\t\t\t// for (const digit of digits)\n\t\t\tfor (var _iterator3 = digits.split(''), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {\n\t\t\t\tvar _ref3;\n\n\t\t\t\tif (_isArray3) {\n\t\t\t\t\tif (_i3 >= _iterator3.length) break;\n\t\t\t\t\t_ref3 = _iterator3[_i3++];\n\t\t\t\t} else {\n\t\t\t\t\t_i3 = _iterator3.next();\n\t\t\t\t\tif (_i3.done) break;\n\t\t\t\t\t_ref3 = _i3.value;\n\t\t\t\t}\n\n\t\t\t\tvar digit = _ref3;\n\n\t\t\t\t// If there is room for more digits in current `template`,\n\t\t\t\t// then set the next digit in the `template`,\n\t\t\t\t// and return the formatted digits so far.\n\n\t\t\t\t// If more digits are entered than the current format could handle\n\t\t\t\tif (this.partially_populated_template.slice(this.last_match_position + 1).search(DIGIT_PLACEHOLDER_MATCHER) === -1) {\n\t\t\t\t\t// Reset the current format,\n\t\t\t\t\t// so that the new format will be chosen\n\t\t\t\t\t// in a subsequent `this.chooseAnotherFormat()` call\n\t\t\t\t\t// later in code.\n\t\t\t\t\tthis.chosenFormat = undefined;\n\t\t\t\t\tthis.template = undefined;\n\t\t\t\t\tthis.partially_populated_template = undefined;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.last_match_position = this.partially_populated_template.search(DIGIT_PLACEHOLDER_MATCHER);\n\t\t\t\tthis.partially_populated_template = this.partially_populated_template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n\t\t\t}\n\n\t\t\t// Return the formatted phone number so far.\n\t\t\treturn cut_stripping_dangling_braces(this.partially_populated_template, this.last_match_position + 1);\n\n\t\t\t// The old way which was good for `input-format` but is not so good\n\t\t\t// for `react-phone-number-input`'s default input (`InputBasic`).\n\t\t\t// return close_dangling_braces(this.partially_populated_template, this.last_match_position + 1)\n\t\t\t// \t.replace(DIGIT_PLACEHOLDER_MATCHER_GLOBAL, ' ')\n\t\t}\n\t}, {\n\t\tkey: 'isInternational',\n\t\tvalue: function isInternational() {\n\t\t\treturn this.parsedInput && this.parsedInput[0] === '+';\n\t\t}\n\t}, {\n\t\tkey: 'getFormatFormat',\n\t\tvalue: function getFormatFormat(format) {\n\t\t\tif (this.isInternational()) {\n\t\t\t\treturn changeInternationalFormatStyle(format.internationalFormat());\n\t\t\t}\n\n\t\t\t// If national prefix formatting rule is set\n\t\t\t// for this phone number format\n\t\t\tif (format.nationalPrefixFormattingRule()) {\n\t\t\t\t// If the user did input the national prefix\n\t\t\t\t// (or if the national prefix formatting rule does not require national prefix)\n\t\t\t\t// then maybe make it part of the phone number template\n\t\t\t\tif (this.nationalPrefix || !format.usesNationalPrefix()) {\n\t\t\t\t\t// Make the national prefix part of the phone number template\n\t\t\t\t\treturn format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule());\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Special handling for NANPA countries for AsYouType formatter.\n\t\t\t// Copied from Google's `libphonenumber`:\n\t\t\t// https://github.com/googlei18n/libphonenumber/blob/66986dbbe443ee8450e2b54dcd44ac384b3bbee8/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L535-L573\n\t\t\telse if (this.countryCallingCode === '1' && this.nationalPrefix === '1') {\n\t\t\t\t\treturn '1 ' + format.format();\n\t\t\t\t}\n\n\t\t\treturn format.format();\n\t\t}\n\n\t\t// Determines the country of the phone number\n\t\t// entered so far based on the country phone code\n\t\t// and the national phone number.\n\n\t}, {\n\t\tkey: 'determineTheCountry',\n\t\tvalue: function determineTheCountry() {\n\t\t\tthis.country = find_country_code(this.countryCallingCode, this.nationalNumber, this.metadata);\n\t\t}\n\n\t\t/**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n\t}, {\n\t\tkey: 'getNumber',\n\t\tvalue: function getNumber() {\n\t\t\tif (!this.countryCallingCode || !this.nationalNumber) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tvar phoneNumber = new PhoneNumber(this.country || this.countryCallingCode, this.nationalNumber, this.metadata.metadata);\n\t\t\tif (this.carrierCode) {\n\t\t\t\tphoneNumber.carrierCode = this.carrierCode;\n\t\t\t}\n\t\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\n\t\t\treturn phoneNumber;\n\t\t}\n\t}, {\n\t\tkey: 'getNationalNumber',\n\t\tvalue: function getNationalNumber() {\n\t\t\treturn this.nationalNumber;\n\t\t}\n\t}, {\n\t\tkey: 'getTemplate',\n\t\tvalue: function getTemplate() {\n\t\t\tif (!this.template) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar index = -1;\n\n\t\t\tvar i = 0;\n\t\t\twhile (i < this.parsedInput.length) {\n\t\t\t\tindex = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n\t\t\t\ti++;\n\t\t\t}\n\n\t\t\treturn cut_stripping_dangling_braces(this.template, index + 1);\n\t\t}\n\t}]);\n\n\treturn AsYouType;\n}();\n\nexport default AsYouType;\n\n\nexport function strip_dangling_braces(string) {\n\tvar dangling_braces = [];\n\tvar i = 0;\n\twhile (i < string.length) {\n\t\tif (string[i] === '(') {\n\t\t\tdangling_braces.push(i);\n\t\t} else if (string[i] === ')') {\n\t\t\tdangling_braces.pop();\n\t\t}\n\t\ti++;\n\t}\n\n\tvar start = 0;\n\tvar cleared_string = '';\n\tdangling_braces.push(string.length);\n\tfor (var _iterator4 = dangling_braces, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {\n\t\tvar _ref4;\n\n\t\tif (_isArray4) {\n\t\t\tif (_i4 >= _iterator4.length) break;\n\t\t\t_ref4 = _iterator4[_i4++];\n\t\t} else {\n\t\t\t_i4 = _iterator4.next();\n\t\t\tif (_i4.done) break;\n\t\t\t_ref4 = _i4.value;\n\t\t}\n\n\t\tvar index = _ref4;\n\n\t\tcleared_string += string.slice(start, index);\n\t\tstart = index + 1;\n\t}\n\n\treturn cleared_string;\n}\n\nexport function cut_stripping_dangling_braces(string, cut_before_index) {\n\tif (string[cut_before_index] === ')') {\n\t\tcut_before_index++;\n\t}\n\treturn strip_dangling_braces(string.slice(0, cut_before_index));\n}\n\nexport function close_dangling_braces(template, cut_before) {\n\tvar retained_template = template.slice(0, cut_before);\n\n\tvar opening_braces = count_occurences('(', retained_template);\n\tvar closing_braces = count_occurences(')', retained_template);\n\n\tvar dangling_braces = opening_braces - closing_braces;\n\twhile (dangling_braces > 0 && cut_before < template.length) {\n\t\tif (template[cut_before] === ')') {\n\t\t\tdangling_braces--;\n\t\t}\n\t\tcut_before++;\n\t}\n\n\treturn template.slice(0, cut_before);\n}\n\n// Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\nexport function count_occurences(symbol, string) {\n\tvar count = 0;\n\n\t// Using `.split('')` to iterate through a string here\n\t// to avoid requiring `Symbol.iterator` polyfill.\n\t// `.split('')` is generally not safe for Unicode,\n\t// but in this particular case for counting brackets it is safe.\n\t// for (const character of string)\n\tfor (var _iterator5 = string.split(''), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {\n\t\tvar _ref5;\n\n\t\tif (_isArray5) {\n\t\t\tif (_i5 >= _iterator5.length) break;\n\t\t\t_ref5 = _iterator5[_i5++];\n\t\t} else {\n\t\t\t_i5 = _iterator5.next();\n\t\t\tif (_i5.done) break;\n\t\t\t_ref5 = _i5.value;\n\t\t}\n\n\t\tvar character = _ref5;\n\n\t\tif (character === symbol) {\n\t\t\tcount++;\n\t\t}\n\t}\n\n\treturn count;\n}\n\n// Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\nexport function repeat(string, times) {\n\tif (times < 1) {\n\t\treturn '';\n\t}\n\n\tvar result = '';\n\n\twhile (times > 1) {\n\t\tif (times & 1) {\n\t\t\tresult += string;\n\t\t}\n\n\t\ttimes >>= 1;\n\t\tstring += string;\n\t}\n\n\treturn result + string;\n}\n//# sourceMappingURL=AsYouType.js.map","// Deprecated.\r\n// Use `libphonenumber-js/min` or `libphonenumber-js/max` or `libphonenumber-js/core` instead.\r\n\r\n// Importing from `.json.js` a workaround for a bug in web browsers' \"native\"\r\n// ES6 importing system which is uncapable of importing \"*.json\" files.\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\r\nimport metadata from './metadata.min.json.js'\r\n\r\nimport parsePhoneNumberCustom from './es6/parsePhoneNumber'\r\nimport parsePhoneNumberFromStringCustom from './es6/parsePhoneNumberFromString'\r\n\r\nimport parseNumberCustom from './es6/parse'\r\nimport formatNumberCustom from './es6/format'\r\nimport getNumberTypeCustom from './es6/getNumberType'\r\nimport getExampleNumberCustom from './es6/getExampleNumber'\r\nimport isPossibleNumberCustom from './es6/isPossibleNumber'\r\nimport isValidNumberCustom from './es6/validate'\r\nimport isValidNumberForRegionCustom from './es6/isValidNumberForRegion'\r\n\r\n// Deprecated\r\nimport findPhoneNumbersCustom, { searchPhoneNumbers as searchPhoneNumbersCustom } from './es6/findPhoneNumbers'\r\nimport { PhoneNumberSearch as PhoneNumberSearchCustom } from './es6/findPhoneNumbers_'\r\n\r\nimport findNumbersCustom from './es6/findNumbers'\r\nimport searchNumbersCustom from './es6/searchNumbers'\r\nimport PhoneNumberMatcherCustom from './es6/PhoneNumberMatcher'\r\n\r\nimport AsYouTypeCustom from './es6/AsYouType'\r\n\r\nimport getCountryCallingCodeCustom from './es6/getCountryCallingCode'\r\nexport { default as Metadata } from './es6/metadata'\r\nimport { getExtPrefix as getExtPrefixCustom, isSupportedCountry as isSupportedCountryCustom } from './es6/metadata'\r\nimport { parseRFC3966 as parseRFC3966Custom, formatRFC3966 as formatRFC3966Custom } from './es6/RFC3966'\r\nimport formatIncompletePhoneNumberCustom from './es6/formatIncompletePhoneNumber'\r\nexport { default as parseIncompletePhoneNumber, parsePhoneNumberCharacter } from './es6/parseIncompletePhoneNumber'\r\n// Deprecated: remove DIGITS export in 2.0.0.\r\n// (it was used in `react-phone-number-input`)\r\nexport { DIGITS, default as parseDigits } from './es6/parseDigits'\r\nexport { default as ParseError } from './es6/ParseError'\r\n\r\nexport function parsePhoneNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parsePhoneNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function parsePhoneNumberFromString()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parsePhoneNumberFromStringCustom.apply(this, parameters)\r\n}\r\n\r\nexport function parseNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parseNumberCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated: remove `parse()` export in 2.0.0.\r\n// (renamed to `parseNumber()`)\r\nexport function parse()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parseNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function formatNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn formatNumberCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated: remove `format()` export in 2.0.0.\r\n// (renamed to `formatNumber()`)\r\nexport function format()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn formatNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function getNumberType()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn getNumberTypeCustom.apply(this, parameters)\r\n}\r\n\r\nexport function getExampleNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn getExampleNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function isPossibleNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn isPossibleNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function isValidNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn isValidNumberCustom.apply(this, parameters)\r\n}\r\n\r\nexport function isValidNumberForRegion()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn isValidNumberForRegionCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated.\r\nexport function findPhoneNumbers()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn findPhoneNumbersCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated.\r\nexport function searchPhoneNumbers()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn searchPhoneNumbersCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated.\r\nexport function PhoneNumberSearch(text, options)\r\n{\r\n\tPhoneNumberSearchCustom.call(this, text, options, metadata)\r\n}\r\n\r\n// Deprecated.\r\nPhoneNumberSearch.prototype = Object.create(PhoneNumberSearchCustom.prototype, {})\r\nPhoneNumberSearch.prototype.constructor = PhoneNumberSearch\r\n\r\nexport function findNumbers()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn findNumbersCustom.apply(this, parameters)\r\n}\r\n\r\nexport function searchNumbers()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn searchNumbersCustom.apply(this, parameters)\r\n}\r\n\r\nexport function PhoneNumberMatcher(text, options)\r\n{\r\n\tPhoneNumberMatcherCustom.call(this, text, options, metadata)\r\n}\r\n\r\nPhoneNumberMatcher.prototype = Object.create(PhoneNumberMatcherCustom.prototype, {})\r\nPhoneNumberMatcher.prototype.constructor = PhoneNumberMatcher\r\n\r\nexport function AsYouType(country)\r\n{\r\n\tAsYouTypeCustom.call(this, country, metadata)\r\n}\r\n\r\nAsYouType.prototype = Object.create(AsYouTypeCustom.prototype, {})\r\nAsYouType.prototype.constructor = AsYouType\r\n\r\nexport function isSupportedCountry()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn isSupportedCountryCustom.apply(this, parameters)\r\n}\r\n\r\nexport function getExtPrefix()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn getExtPrefixCustom.apply(this, parameters)\r\n}\r\n\r\nexport function parseRFC3966()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn parseRFC3966Custom.apply(this, parameters)\r\n}\r\n\r\nexport function formatRFC3966()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn formatRFC3966Custom.apply(this, parameters)\r\n}\r\n\r\nexport function formatIncompletePhoneNumber()\r\n{\r\n\tvar parameters = Array.prototype.slice.call(arguments)\r\n\tparameters.push(metadata)\r\n\treturn formatIncompletePhoneNumberCustom.apply(this, parameters)\r\n}\r\n\r\n// Deprecated: remove this in 2.0.0 and make `custom.js` in ES6\r\n// (the old `custom.js` becomes `custom.commonjs.js`).\r\nexport { default as parseCustom } from './es6/parse'\r\nexport { default as formatCustom } from './es6/format'\r\nexport { default as isValidNumberCustom } from './es6/validate'\r\nexport { default as findPhoneNumbersCustom } from './es6/findPhoneNumbers'\r\nexport { searchPhoneNumbers as searchPhoneNumbersCustom } from './es6/findPhoneNumbers'\r\nexport { PhoneNumberSearch as PhoneNumberSearchCustom } from './es6/findPhoneNumbers_'\r\nexport { default as getNumberTypeCustom } from './es6/getNumberType'\r\nexport { default as getCountryCallingCodeCustom } from './es6/getCountryCallingCode'\r\n\r\nexport\r\n{\r\n\tdefault as AsYouTypeCustom,\r\n\t// Deprecated: `DIGIT_PLACEHOLDER` was used by `react-phone-number-input`.\r\n\t// Seems to be not used anymore.\r\n\tDIGIT_PLACEHOLDER\r\n}\r\nfrom './es6/AsYouType'\r\n\r\nexport function getCountryCallingCode(country)\r\n{\r\n\treturn getCountryCallingCodeCustom(country, metadata)\r\n}\r\n\r\n// `getPhoneCode` name is deprecated, use `getCountryCallingCode` instead.\r\nexport function getPhoneCode(country)\r\n{\r\n\treturn getCountryCallingCode(country)\r\n}\r\n\r\n// `getPhoneCodeCustom` name is deprecated, use `getCountryCallingCodeCustom` instead.\r\nexport function getPhoneCodeCustom(country, metadata)\r\n{\r\n\treturn getCountryCallingCodeCustom(country, metadata)\r\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar ReactCountryFlag = function (_Component) {\n inherits(ReactCountryFlag, _Component);\n\n function ReactCountryFlag() {\n classCallCheck(this, ReactCountryFlag);\n return possibleConstructorReturn(this, (ReactCountryFlag.__proto__ || Object.getPrototypeOf(ReactCountryFlag)).apply(this, arguments));\n }\n\n createClass(ReactCountryFlag, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n cdnUrl = _props.cdnUrl,\n code = _props.code,\n styleProps = _props.styleProps,\n svg = _props.svg,\n title = _props.title;\n\n\n var flagUrl = \"\" + cdnUrl + code.toLowerCase() + \".svg\";\n var emoji = code.toUpperCase().replace(/./g, function (char) {\n return String.fromCodePoint(char.charCodeAt(0) + 127397);\n });\n\n return svg ? React.createElement(\"span\", {\n \"aria-label\": code,\n role: \"img\",\n style: _extends({\n position: \"relative\",\n display: \"inline-block\",\n width: \"1.3333333333em\",\n height: \"1em\",\n backgroundImage: \"url(\" + flagUrl + \")\",\n backgroundPosition: \"50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"contain\",\n fontSize: \"1em\",\n lineHeight: \"1em\",\n verticalAlign: \"middle\"\n }, styleProps),\n title: title || code\n }) : React.createElement(\n \"span\",\n {\n \"aria-label\": code,\n role: \"img\",\n style: _extends({\n verticalAlign: \"middle\"\n }, styleProps),\n title: code\n },\n emoji\n );\n }\n }]);\n return ReactCountryFlag;\n}(Component);\n\nReactCountryFlag.propTypes = {\n cdnUrl: PropTypes.string,\n code: PropTypes.string.isRequired,\n styleProps: PropTypes.object,\n svg: PropTypes.bool,\n title: PropTypes.string\n};\nReactCountryFlag.defaultProps = {\n cdnUrl: \"https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.1/flags/4x3/\",\n svg: false\n};\n\nexport default ReactCountryFlag;\n//# sourceMappingURL=index.es.js.map\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Creates an array of the own and inherited enumerable symbol properties\n * of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable string keyed properties of `object` that are\n * not omitted.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = baseRest(function(object, props) {\n if (object == null) {\n return {};\n }\n props = arrayMap(baseFlatten(props, 1), toKey);\n return basePick(object, baseDifference(getAllKeysIn(object), props));\n});\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = omit;\n","export const hasWindowObj = typeof window !== 'undefined'\n\nexport const detectMobile = {\n Android: () => hasWindowObj && window.navigator.userAgent.match(/Android/i),\n BlackBerry: () => hasWindowObj && window.navigator.userAgent.match(/BlackBerry/i),\n iOS: () => hasWindowObj && window.navigator.userAgent.match(/iPhone|iPad|iPod/i),\n Opera: () => hasWindowObj && window.navigator.userAgent.match(/Opera Mini/i),\n Windows: () => hasWindowObj && window.navigator.userAgent.match(/IEMobile/i),\n any: () => (detectMobile.Android() || detectMobile.BlackBerry() || detectMobile.iOS() || detectMobile.Opera() || detectMobile.Windows()),\n}\n","export default \"data:image/png;base64,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\"","const allCountries = [\n {\n name: 'International',\n regions: [],\n iso2: 'intl',\n dialCode: '',\n isAreaCode: true,\n hasAreaCodes: false,\n },\n {\n name: 'Afghanistan (افغانستان)',\n regions: ['asia'],\n iso2: 'af',\n dialCode: '+93',\n hasAreaCodes: false,\n },\n {\n name: 'Albania (Shqipëri)',\n regions: ['europe'],\n iso2: 'al',\n dialCode: '+355',\n hasAreaCodes: false,\n },\n {\n name: 'Algeria (الجزائر)',\n regions: ['africa', 'north-africa'],\n iso2: 'dz',\n dialCode: '+213',\n hasAreaCodes: false,\n },\n {\n name: 'American Samoa',\n regions: ['oceania'],\n iso2: 'as',\n dialCode: '+1684',\n hasAreaCodes: false,\n },\n {\n name: 'Andorra',\n regions: ['europe'],\n iso2: 'ad',\n dialCode: '+376',\n hasAreaCodes: false,\n },\n {\n name: 'Angola',\n regions: ['africa'],\n iso2: 'ao',\n dialCode: '+244',\n hasAreaCodes: false,\n },\n {\n name: 'Anguilla',\n regions: ['america', 'carribean'],\n iso2: 'ai',\n dialCode: '+1264',\n hasAreaCodes: false,\n },\n {\n name: 'Antigua and Barbuda',\n regions: ['america', 'carribean'],\n iso2: 'ag',\n dialCode: '+1268',\n hasAreaCodes: false,\n },\n {\n name: 'Argentina',\n regions: ['america', 'south-america'],\n iso2: 'ar',\n dialCode: '+54',\n hasAreaCodes: false,\n },\n {\n name: 'Armenia (Հայաստան)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'am',\n dialCode: '+374',\n hasAreaCodes: false,\n },\n {\n name: 'Aruba',\n regions: ['america', 'carribean'],\n iso2: 'aw',\n dialCode: '+297',\n hasAreaCodes: false,\n },\n {\n name: 'Australia',\n regions: ['oceania'],\n iso2: 'au',\n dialCode: '+61',\n hasAreaCodes: false,\n },\n {\n name: 'Austria (Österreich)',\n regions: ['europe', 'european-union'],\n iso2: 'at',\n dialCode: '+43',\n hasAreaCodes: false,\n },\n {\n name: 'Azerbaijan (Azərbaycan)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'az',\n dialCode: '+994',\n hasAreaCodes: false,\n },\n {\n name: 'Bahamas',\n regions: ['america', 'carribean'],\n iso2: 'bs',\n dialCode: '+1242',\n hasAreaCodes: false,\n },\n {\n name: 'Bahrain (البحرين)',\n regions: ['middle-east'],\n iso2: 'bh',\n dialCode: '+973',\n hasAreaCodes: false,\n },\n {\n name: 'Bangladesh (বাংলাদেশ)',\n regions: ['asia'],\n iso2: 'bd',\n dialCode: '+880',\n hasAreaCodes: false,\n },\n {\n name: 'Barbados',\n regions: ['america', 'carribean'],\n iso2: 'bb',\n dialCode: '+1246',\n hasAreaCodes: false,\n },\n {\n name: 'Belarus (Беларусь)',\n regions: ['europe', 'ex-ussr'],\n iso2: 'by',\n dialCode: '+375',\n hasAreaCodes: false,\n },\n {\n name: 'Belgium (België)',\n regions: ['europe', 'european-union'],\n iso2: 'be',\n dialCode: '+32',\n hasAreaCodes: false,\n },\n {\n name: 'Belize',\n regions: ['america', 'central-america'],\n iso2: 'bz',\n dialCode: '+501',\n hasAreaCodes: false,\n },\n {\n name: 'Benin (Bénin)',\n regions: ['africa'],\n iso2: 'bj',\n dialCode: '+229',\n hasAreaCodes: false,\n },\n {\n name: 'Bermuda',\n regions: ['america', 'north-america'],\n iso2: 'bm',\n dialCode: '+1441',\n hasAreaCodes: false,\n },\n {\n name: 'Bhutan (འབྲུག)',\n regions: ['asia'],\n iso2: 'bt',\n dialCode: '+975',\n hasAreaCodes: false,\n },\n {\n name: 'Bolivia',\n regions: ['america', 'south-america'],\n iso2: 'bo',\n dialCode: '+591',\n hasAreaCodes: false,\n },\n {\n name: 'Bosnia and Herzegovina (Босна и Херцеговина)',\n regions: ['europe'],\n iso2: 'ba',\n dialCode: '+387',\n hasAreaCodes: false,\n },\n {\n name: 'Botswana',\n regions: ['africa'],\n iso2: 'bw',\n dialCode: '+267',\n hasAreaCodes: false,\n },\n {\n name: 'Brazil (Brasil)',\n regions: ['america', 'south-america'],\n iso2: 'br',\n dialCode: '+55',\n hasAreaCodes: false,\n },\n {\n name: 'British Indian Ocean Territory',\n regions: ['asia'],\n iso2: 'io',\n dialCode: '+246',\n hasAreaCodes: false,\n },\n {\n name: 'British Virgin Islands',\n regions: ['america', 'carribean'],\n iso2: 'vg',\n dialCode: '+1284',\n hasAreaCodes: false,\n },\n {\n name: 'Brunei',\n regions: ['asia'],\n iso2: 'bn',\n dialCode: '+673',\n hasAreaCodes: false,\n },\n {\n name: 'Bulgaria (България)',\n regions: ['europe', 'european-union'],\n iso2: 'bg',\n dialCode: '+359',\n hasAreaCodes: false,\n },\n {\n name: 'Burkina Faso',\n regions: ['africa'],\n iso2: 'bf',\n dialCode: '+226',\n hasAreaCodes: false,\n },\n {\n name: 'Burundi (Uburundi)',\n regions: ['africa'],\n iso2: 'bi',\n dialCode: '+257',\n hasAreaCodes: false,\n },\n {\n name: 'Cambodia (កម្ពុជា)',\n regions: ['asia'],\n iso2: 'kh',\n dialCode: '+855',\n hasAreaCodes: false,\n },\n {\n name: 'Cameroon (Cameroun)',\n regions: ['africa'],\n iso2: 'cm',\n dialCode: '+237',\n hasAreaCodes: false,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1',\n hasAreaCodes: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1204',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1236',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1249',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1250',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1289',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1306',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1343',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1365',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1387',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1403',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1416',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1418',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1431',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1437',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1438',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1450',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1506',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1514',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1519',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1548',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1579',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1581',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1587',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1604',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1613',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1639',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1647',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1672',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1705',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1709',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1742',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1778',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1780',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1782',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1807',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1819',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1825',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1867',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1873',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1902',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Canada',\n regions: ['america', 'north-america'],\n iso2: 'ca',\n dialCode: '+1905',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Cape Verde (Kabu Verdi)',\n regions: ['africa'],\n iso2: 'cv',\n dialCode: '+238',\n hasAreaCodes: false,\n },\n {\n name: 'Caribbean Netherlands',\n regions: ['america', 'carribean'],\n iso2: 'bq',\n dialCode: '+599',\n hasAreaCodes: false,\n },\n {\n name: 'Cayman Islands',\n regions: ['america', 'carribean'],\n iso2: 'ky',\n dialCode: '+1345',\n hasAreaCodes: false,\n },\n {\n name: 'Central African Republic (République centrafricaine)',\n regions: ['africa'],\n iso2: 'cf',\n dialCode: '+236',\n hasAreaCodes: false,\n },\n {\n name: 'Chad (Tchad)',\n regions: ['africa'],\n iso2: 'td',\n dialCode: '+235',\n hasAreaCodes: false,\n },\n {\n name: 'Chile',\n regions: ['america', 'south-america'],\n iso2: 'cl',\n dialCode: '+56',\n hasAreaCodes: false,\n },\n {\n name: 'China (中国)',\n regions: ['asia'],\n iso2: 'cn',\n dialCode: '+86',\n hasAreaCodes: false,\n },\n {\n name: 'Colombia',\n regions: ['america', 'south-america'],\n iso2: 'co',\n dialCode: '+57',\n hasAreaCodes: false,\n },\n {\n name: 'Comoros (جزر القمر)',\n regions: ['africa'],\n iso2: 'km',\n dialCode: '+269',\n hasAreaCodes: false,\n },\n {\n name: 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\n regions: ['africa'],\n iso2: 'cd',\n dialCode: '+243',\n hasAreaCodes: false,\n },\n {\n name: 'Congo (Republic) (Congo-Brazzaville)',\n regions: ['africa'],\n iso2: 'cg',\n dialCode: '+242',\n hasAreaCodes: false,\n },\n {\n name: 'Cook Islands',\n regions: ['oceania'],\n iso2: 'ck',\n dialCode: '+682',\n hasAreaCodes: false,\n },\n {\n name: 'Costa Rica',\n regions: ['america', 'central-america'],\n iso2: 'cr',\n dialCode: '+506',\n hasAreaCodes: false,\n },\n {\n name: 'Côte d’Ivoire',\n regions: ['africa'],\n iso2: 'ci',\n dialCode: '+225',\n hasAreaCodes: false,\n },\n {\n name: 'Croatia (Hrvatska)',\n regions: ['europe', 'european-union'],\n iso2: 'hr',\n dialCode: '+385',\n hasAreaCodes: false,\n },\n {\n name: 'Cuba',\n regions: ['america', 'carribean'],\n iso2: 'cu',\n dialCode: '+53',\n hasAreaCodes: false,\n },\n {\n name: 'Curaçao',\n regions: ['america', 'carribean'],\n iso2: 'cw',\n dialCode: '+599',\n hasAreaCodes: false,\n },\n {\n name: 'Cyprus (Κύπρος)',\n regions: ['europe', 'european-union'],\n iso2: 'cy',\n dialCode: '+357',\n hasAreaCodes: false,\n },\n {\n name: 'Czech Republic (Česká republika)',\n regions: ['europe', 'european-union'],\n iso2: 'cz',\n dialCode: '+420',\n hasAreaCodes: false,\n },\n {\n name: 'Denmark (Danmark)',\n regions: ['europe', 'european-union'],\n iso2: 'dk',\n dialCode: '+45',\n hasAreaCodes: false,\n },\n {\n name: 'Djibouti',\n regions: ['africa'],\n iso2: 'dj',\n dialCode: '+253',\n hasAreaCodes: false,\n },\n {\n name: 'Dominica',\n regions: ['america', 'carribean'],\n iso2: 'dm',\n dialCode: '+1767',\n hasAreaCodes: false,\n },\n {\n name: 'Dominican Republic (República Dominicana)',\n regions: ['america', 'carribean'],\n iso2: 'do',\n dialCode: '+1',\n hasAreaCodes: true,\n },\n {\n name: 'Dominican Republic (República Dominicana)',\n regions: ['america', 'carribean'],\n iso2: 'do',\n dialCode: '+1809',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Dominican Republic (República Dominicana)',\n regions: ['america', 'carribean'],\n iso2: 'do',\n dialCode: '+1829',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Dominican Republic (República Dominicana)',\n regions: ['america', 'carribean'],\n iso2: 'do',\n dialCode: '+1849',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Ecuador',\n regions: ['america', 'south-america'],\n iso2: 'ec',\n dialCode: '+593',\n hasAreaCodes: false,\n },\n {\n name: 'Egypt (مصر)',\n regions: ['africa', 'north-africa'],\n iso2: 'eg',\n dialCode: '+20',\n hasAreaCodes: false,\n },\n {\n name: 'El Salvador',\n regions: ['america', 'central-america'],\n iso2: 'sv',\n dialCode: '+503',\n hasAreaCodes: false,\n },\n {\n name: 'Equatorial Guinea (Guinea Ecuatorial)',\n regions: ['africa'],\n iso2: 'gq',\n dialCode: '+240',\n hasAreaCodes: false,\n },\n {\n name: 'Eritrea',\n regions: ['africa'],\n iso2: 'er',\n dialCode: '+291',\n hasAreaCodes: false,\n },\n {\n name: 'Estonia (Eesti)',\n regions: ['europe', 'european-union', 'ex-ussr'],\n iso2: 'ee',\n dialCode: '+372',\n hasAreaCodes: false,\n },\n {\n name: 'Ethiopia',\n regions: ['africa'],\n iso2: 'et',\n dialCode: '+251',\n hasAreaCodes: false,\n },\n {\n name: 'Falkland Islands (Islas Malvinas)',\n regions: ['america', 'south-america'],\n iso2: 'fk',\n dialCode: '+500',\n hasAreaCodes: false,\n },\n {\n name: 'Faroe Islands (Føroyar)',\n regions: ['europe'],\n iso2: 'fo',\n dialCode: '+298',\n hasAreaCodes: false,\n },\n {\n name: 'Fiji',\n regions: ['oceania'],\n iso2: 'fj',\n dialCode: '+679',\n hasAreaCodes: false,\n },\n {\n name: 'Finland (Suomi)',\n regions: ['europe', 'european-union'],\n iso2: 'fi',\n dialCode: '+358',\n hasAreaCodes: false,\n },\n {\n name: 'France',\n regions: ['europe', 'european-union'],\n iso2: 'fr',\n dialCode: '+33',\n hasAreaCodes: false,\n },\n {\n name: 'French Guiana (Guyane française)',\n regions: ['america', 'south-america'],\n iso2: 'gf',\n dialCode: '+594',\n hasAreaCodes: false,\n },\n {\n name: 'French Polynesia (Polynésie française)',\n regions: ['oceania'],\n iso2: 'pf',\n dialCode: '+689',\n hasAreaCodes: false,\n },\n {\n name: 'Gabon',\n regions: ['africa'],\n iso2: 'ga',\n dialCode: '+241',\n hasAreaCodes: false,\n },\n {\n name: 'Gambia',\n regions: ['africa'],\n iso2: 'gm',\n dialCode: '+220',\n hasAreaCodes: false,\n },\n {\n name: 'Georgia (საქართველო)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'ge',\n dialCode: '+995',\n hasAreaCodes: false,\n },\n {\n name: 'Germany (Deutschland)',\n regions: ['europe', 'european-union'],\n iso2: 'de',\n dialCode: '+49',\n hasAreaCodes: false,\n },\n {\n name: 'Ghana (Gaana)',\n regions: ['africa'],\n iso2: 'gh',\n dialCode: '+233',\n hasAreaCodes: false,\n },\n {\n name: 'Gibraltar',\n regions: ['europe'],\n iso2: 'gi',\n dialCode: '+350',\n hasAreaCodes: false,\n },\n {\n name: 'Greece (Ελλάδα)',\n regions: ['europe', 'european-union'],\n iso2: 'gr',\n dialCode: '+30',\n hasAreaCodes: false,\n },\n {\n name: 'Greenland (Kalaallit Nunaat)',\n regions: ['america'],\n iso2: 'gl',\n dialCode: '+299',\n hasAreaCodes: false,\n },\n {\n name: 'Grenada',\n regions: ['america', 'carribean'],\n iso2: 'gd',\n dialCode: '+1473',\n hasAreaCodes: false,\n },\n {\n name: 'Guadeloupe',\n regions: ['america', 'carribean'],\n iso2: 'gp',\n dialCode: '+590',\n hasAreaCodes: false,\n },\n {\n name: 'Guam',\n regions: ['oceania'],\n iso2: 'gu',\n dialCode: '+1671',\n hasAreaCodes: false,\n },\n {\n name: 'Guatemala',\n regions: ['america', 'central-america'],\n iso2: 'gt',\n dialCode: '+502',\n hasAreaCodes: false,\n },\n {\n name: 'Guinea (Guinée)',\n regions: ['africa'],\n iso2: 'gn',\n dialCode: '+224',\n hasAreaCodes: false,\n },\n {\n name: 'Guinea-Bissau (Guiné Bissau)',\n regions: ['africa'],\n iso2: 'gw',\n dialCode: '+245',\n hasAreaCodes: false,\n },\n {\n name: 'Guyana',\n regions: ['america', 'south-america'],\n iso2: 'gy',\n dialCode: '+592',\n hasAreaCodes: false,\n },\n {\n name: 'Haiti',\n regions: ['america', 'carribean'],\n iso2: 'ht',\n dialCode: '+509',\n hasAreaCodes: false,\n },\n {\n name: 'Honduras',\n regions: ['america', 'central-america'],\n iso2: 'hn',\n dialCode: '+504',\n hasAreaCodes: false,\n },\n {\n name: 'Hong Kong (香港)',\n regions: ['asia'],\n iso2: 'hk',\n dialCode: '+852',\n hasAreaCodes: false,\n },\n {\n name: 'Hungary (Magyarország)',\n regions: ['europe', 'european-union'],\n iso2: 'hu',\n dialCode: '+36',\n hasAreaCodes: false,\n },\n {\n name: 'Iceland (Ísland)',\n regions: ['europe'],\n iso2: 'is',\n dialCode: '+354',\n hasAreaCodes: false,\n },\n {\n name: 'India (भारत)',\n regions: ['asia'],\n iso2: 'in',\n dialCode: '+91',\n hasAreaCodes: false,\n },\n {\n name: 'Indonesia',\n regions: ['asia'],\n iso2: 'id',\n dialCode: '+62',\n hasAreaCodes: false,\n },\n {\n name: 'Iran (ایران)',\n regions: ['middle-east'],\n iso2: 'ir',\n dialCode: '+98',\n hasAreaCodes: false,\n },\n {\n name: 'Iraq (العراق)',\n regions: ['middle-east'],\n iso2: 'iq',\n dialCode: '+964',\n hasAreaCodes: false,\n },\n {\n name: 'Ireland',\n regions: ['europe', 'european-union'],\n iso2: 'ie',\n dialCode: '+353',\n hasAreaCodes: false,\n },\n {\n name: 'Israel (ישראל)',\n regions: ['middle-east'],\n iso2: 'il',\n dialCode: '+972',\n hasAreaCodes: false,\n },\n {\n name: 'Italy (Italia)',\n regions: ['europe', 'european-union'],\n iso2: 'it',\n dialCode: '+39',\n hasAreaCodes: false,\n },\n {\n name: 'Jamaica',\n regions: ['america', 'carribean'],\n iso2: 'jm',\n dialCode: '+1876',\n hasAreaCodes: false,\n },\n {\n name: 'Japan (日本)',\n regions: ['asia'],\n iso2: 'jp',\n dialCode: '+81',\n hasAreaCodes: false,\n },\n {\n name: 'Jordan (الأردن)',\n regions: ['middle-east'],\n iso2: 'jo',\n dialCode: '+962',\n hasAreaCodes: false,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7',\n hasAreaCodes: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7313',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7327',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+77172',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7312',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+773622',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7321',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7324',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7336',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7318',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7315',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7325',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7311',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7326',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kazakhstan (Казахстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kz',\n dialCode: '+7310',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Kenya',\n regions: ['africa'],\n iso2: 'ke',\n dialCode: '+254',\n hasAreaCodes: false,\n },\n {\n name: 'Kiribati',\n regions: ['oceania'],\n iso2: 'ki',\n dialCode: '+686',\n hasAreaCodes: false,\n },\n {\n name: 'Kuwait (الكويت)',\n regions: ['middle-east'],\n iso2: 'kw',\n dialCode: '+965',\n hasAreaCodes: false,\n },\n {\n name: 'Kyrgyzstan (Кыргызстан)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'kg',\n dialCode: '+996',\n hasAreaCodes: false,\n },\n {\n name: 'Laos (ລາວ)',\n regions: ['asia'],\n iso2: 'la',\n dialCode: '+856',\n hasAreaCodes: false,\n },\n {\n name: 'Latvia (Latvija)',\n regions: ['europe', 'european-union', 'ex-ussr'],\n iso2: 'lv',\n dialCode: '+371',\n hasAreaCodes: false,\n },\n {\n name: 'Lebanon (لبنان)',\n regions: ['middle-east'],\n iso2: 'lb',\n dialCode: '+961',\n hasAreaCodes: false,\n },\n {\n name: 'Lesotho',\n regions: ['africa'],\n iso2: 'ls',\n dialCode: '+266',\n hasAreaCodes: false,\n },\n {\n name: 'Liberia',\n regions: ['africa'],\n iso2: 'lr',\n dialCode: '+231',\n hasAreaCodes: false,\n },\n {\n name: 'Libya (ليبيا)',\n regions: ['africa', 'north-africa'],\n iso2: 'ly',\n dialCode: '+218',\n hasAreaCodes: false,\n },\n {\n name: 'Liechtenstein',\n regions: ['europe'],\n iso2: 'li',\n dialCode: '+423',\n hasAreaCodes: false,\n },\n {\n name: 'Lithuania (Lietuva)',\n regions: ['europe', 'european-union', 'ex-ussr'],\n iso2: 'lt',\n dialCode: '+370',\n hasAreaCodes: false,\n },\n {\n name: 'Luxembourg',\n regions: ['europe', 'european-union'],\n iso2: 'lu',\n dialCode: '+352',\n hasAreaCodes: false,\n },\n {\n name: 'Macau (澳門)',\n regions: ['asia'],\n iso2: 'mo',\n dialCode: '+853',\n hasAreaCodes: false,\n },\n {\n name: 'Macedonia (FYROM) (Македонија)',\n regions: ['europe'],\n iso2: 'mk',\n dialCode: '+389',\n\n hasAreaCodes: false,\n },\n {\n name: 'Madagascar (Madagasikara)',\n regions: ['africa'],\n iso2: 'mg',\n dialCode: '+261',\n hasAreaCodes: false,\n },\n {\n name: 'Malawi',\n regions: ['africa'],\n iso2: 'mw',\n dialCode: '+265',\n hasAreaCodes: false,\n },\n {\n name: 'Malaysia',\n regions: ['asia'],\n iso2: 'my',\n dialCode: '+60',\n hasAreaCodes: false,\n },\n {\n name: 'Maldives',\n regions: ['asia'],\n iso2: 'mv',\n dialCode: '+960',\n hasAreaCodes: false,\n },\n {\n name: 'Mali',\n regions: ['africa'],\n iso2: 'ml',\n dialCode: '+223',\n hasAreaCodes: false,\n },\n {\n name: 'Malta',\n regions: ['europe', 'european-union'],\n iso2: 'mt',\n dialCode: '+356',\n hasAreaCodes: false,\n },\n {\n name: 'Marshall Islands',\n regions: ['oceania'],\n iso2: 'mh',\n dialCode: '+692',\n hasAreaCodes: false,\n },\n {\n name: 'Martinique',\n regions: ['america', 'carribean'],\n iso2: 'mq',\n dialCode: '+596',\n hasAreaCodes: false,\n },\n {\n name: 'Mauritania (موريتانيا)',\n regions: ['africa'],\n iso2: 'mr',\n dialCode: '+222',\n hasAreaCodes: false,\n },\n {\n name: 'Mauritius (Moris)',\n regions: ['africa'],\n iso2: 'mu',\n dialCode: '+230',\n hasAreaCodes: false,\n },\n {\n name: 'Mexico (México)',\n regions: ['america', 'central-america'],\n iso2: 'mx',\n dialCode: '+52',\n hasAreaCodes: false,\n },\n {\n name: 'Micronesia',\n regions: ['oceania'],\n iso2: 'fm',\n dialCode: '+691',\n hasAreaCodes: false,\n },\n {\n name: 'Moldova (Republica Moldova)',\n regions: ['europe'],\n iso2: 'md',\n dialCode: '+373',\n hasAreaCodes: false,\n },\n {\n name: 'Monaco',\n regions: ['europe'],\n iso2: 'mc',\n dialCode: '+377',\n hasAreaCodes: false,\n },\n {\n name: 'Mongolia (Монгол)',\n regions: ['asia'],\n iso2: 'mn',\n dialCode: '+976',\n hasAreaCodes: false,\n },\n {\n name: 'Montenegro (Crna Gora)',\n regions: ['europe'],\n iso2: 'me',\n dialCode: '+382',\n hasAreaCodes: false,\n },\n {\n name: 'Montserrat',\n regions: ['america', 'carribean'],\n iso2: 'ms',\n dialCode: '+1664',\n hasAreaCodes: false,\n },\n {\n name: 'Morocco (المغرب)',\n regions: ['africa', 'north-africa'],\n iso2: 'ma',\n dialCode: '+212',\n hasAreaCodes: false,\n },\n {\n name: 'Mozambique (Moçambique)',\n regions: ['africa'],\n iso2: 'mz',\n dialCode: '+258',\n hasAreaCodes: false,\n },\n {\n name: 'Myanmar (Burma) (မြန်မာ)',\n regions: ['asia'],\n iso2: 'mm',\n dialCode: '+95',\n hasAreaCodes: false,\n },\n {\n name: 'Namibia (Namibië)',\n regions: ['africa'],\n iso2: 'na',\n dialCode: '+264',\n hasAreaCodes: false,\n },\n {\n name: 'Nauru',\n regions: ['africa'],\n iso2: 'nr',\n dialCode: '+674',\n hasAreaCodes: false,\n },\n {\n name: 'Nepal (नेपाल)',\n regions: ['asia'],\n iso2: 'np',\n dialCode: '+977',\n hasAreaCodes: false,\n },\n {\n name: 'Netherlands (Nederland)',\n regions: ['europe', 'european-union'],\n iso2: 'nl',\n dialCode: '+31',\n hasAreaCodes: false,\n },\n {\n name: 'New Caledonia (Nouvelle-Calédonie)',\n regions: ['oceania'],\n iso2: 'nc',\n dialCode: '+687',\n hasAreaCodes: false,\n },\n {\n name: 'New Zealand',\n regions: ['oceania'],\n iso2: 'nz',\n dialCode: '+64',\n hasAreaCodes: false,\n },\n {\n name: 'Nicaragua',\n regions: ['america', 'central-america'],\n iso2: 'ni',\n dialCode: '+505',\n hasAreaCodes: false,\n },\n {\n name: 'Niger (Nijar)',\n regions: ['africa'],\n iso2: 'ne',\n dialCode: '+227',\n hasAreaCodes: false,\n },\n {\n name: 'Nigeria',\n regions: ['africa'],\n iso2: 'ng',\n dialCode: '+234',\n hasAreaCodes: false,\n },\n {\n name: 'Niue',\n regions: ['asia'],\n iso2: 'nu',\n dialCode: '+683',\n hasAreaCodes: false,\n },\n {\n name: 'Norfolk Island',\n regions: ['oceania'],\n iso2: 'nf',\n dialCode: '+672',\n hasAreaCodes: false,\n },\n {\n name: 'North Korea (조선 민주주의 인민 공화국)',\n regions: ['asia'],\n iso2: 'kp',\n dialCode: '+850',\n hasAreaCodes: false,\n },\n {\n name: 'Northern Mariana Islands',\n regions: ['oceania'],\n iso2: 'mp',\n dialCode: '+1670',\n hasAreaCodes: false,\n },\n {\n name: 'Norway (Norge)',\n regions: ['europe'],\n iso2: 'no',\n dialCode: '+47',\n hasAreaCodes: false,\n },\n {\n name: 'Oman (عُمان)',\n regions: ['middle-east'],\n iso2: 'om',\n dialCode: '+968',\n hasAreaCodes: false,\n },\n {\n name: 'Pakistan (پاکستان)',\n regions: ['asia'],\n iso2: 'pk',\n dialCode: '+92',\n hasAreaCodes: false,\n },\n {\n name: 'Palau',\n regions: ['oceania'],\n iso2: 'pw',\n dialCode: '+680',\n hasAreaCodes: false,\n },\n {\n name: 'Palestine (فلسطين)',\n regions: ['middle-east'],\n iso2: 'ps',\n dialCode: '+970',\n hasAreaCodes: false,\n },\n {\n name: 'Panama (Panamá)',\n regions: ['america', 'central-america'],\n iso2: 'pa',\n dialCode: '+507',\n hasAreaCodes: false,\n },\n {\n name: 'Papua New Guinea',\n regions: ['oceania'],\n iso2: 'pg',\n dialCode: '+675',\n\n hasAreaCodes: false,\n },\n {\n name: 'Paraguay',\n regions: ['america', 'south-america'],\n iso2: 'py',\n dialCode: '+595',\n hasAreaCodes: false,\n },\n {\n name: 'Peru (Perú)',\n regions: ['america', 'south-america'],\n iso2: 'pe',\n dialCode: '+51',\n hasAreaCodes: false,\n },\n {\n name: 'Philippines',\n regions: ['asia'],\n iso2: 'ph',\n dialCode: '+63',\n hasAreaCodes: false,\n },\n {\n name: 'Poland (Polska)',\n regions: ['europe', 'european-union'],\n iso2: 'pl',\n dialCode: '+48',\n hasAreaCodes: false,\n },\n {\n name: 'Portugal',\n regions: ['europe', 'european-union'],\n iso2: 'pt',\n dialCode: '+351',\n hasAreaCodes: false,\n },\n {\n name: 'Puerto Rico',\n regions: ['america', 'carribean'],\n iso2: 'pr',\n dialCode: '+1',\n hasAreaCodes: true,\n },\n {\n name: 'Puerto Rico',\n regions: ['america', 'carribean'],\n iso2: 'pr',\n dialCode: '+1787',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Puerto Rico',\n regions: ['america', 'carribean'],\n iso2: 'pr',\n dialCode: '+1939',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Qatar (قطر)',\n regions: ['middle-east'],\n iso2: 'qa',\n dialCode: '+974',\n hasAreaCodes: false,\n },\n {\n name: 'Réunion (La Réunion)',\n regions: ['africa'],\n iso2: 're',\n dialCode: '+262',\n hasAreaCodes: false,\n },\n {\n name: 'Romania (România)',\n regions: ['europe', 'european-union'],\n iso2: 'ro',\n dialCode: '+40',\n hasAreaCodes: false,\n },\n {\n name: 'Russia (Россия)',\n regions: ['europe', 'asia', 'ex-ussr'],\n iso2: 'ru',\n dialCode: '+7',\n hasAreaCodes: false,\n },\n {\n name: 'Rwanda',\n regions: ['africa'],\n iso2: 'rw',\n dialCode: '+250',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Barthélemy (Saint-Barthélemy)',\n regions: ['america', 'carribean'],\n iso2: 'bl',\n dialCode: '+590',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Helena',\n regions: ['africa'],\n iso2: 'sh',\n dialCode: '+290',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Kitts and Nevis',\n regions: ['america', 'carribean'],\n iso2: 'kn',\n dialCode: '+1869',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Lucia',\n regions: ['america', 'carribean'],\n iso2: 'lc',\n dialCode: '+1758',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Martin (Saint-Martin (partie française))',\n regions: ['america', 'carribean'],\n iso2: 'mf',\n dialCode: '+590',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\n regions: ['america', 'north-america'],\n iso2: 'pm',\n dialCode: '+508',\n hasAreaCodes: false,\n },\n {\n name: 'Saint Vincent and the Grenadines',\n regions: ['america', 'carribean'],\n iso2: 'vc',\n dialCode: '+1784',\n hasAreaCodes: false,\n },\n {\n name: 'Samoa',\n regions: ['oceania'],\n iso2: 'ws',\n dialCode: '+685',\n hasAreaCodes: false,\n },\n {\n name: 'San Marino',\n regions: ['europe'],\n iso2: 'sm',\n dialCode: '+378',\n hasAreaCodes: false,\n },\n {\n name: 'São Tomé and Príncipe (São Tomé e Príncipe)',\n regions: ['africa'],\n iso2: 'st',\n dialCode: '+239',\n hasAreaCodes: false,\n },\n {\n name: 'Saudi Arabia (المملكة العربية السعودية)',\n regions: ['middle-east'],\n iso2: 'sa',\n dialCode: '+966',\n hasAreaCodes: false,\n },\n {\n name: 'Senegal (Sénégal)',\n regions: ['africa'],\n iso2: 'sn',\n dialCode: '+221',\n hasAreaCodes: false,\n },\n {\n name: 'Serbia (Србија)',\n regions: ['europe'],\n iso2: 'rs',\n dialCode: '+381',\n hasAreaCodes: false,\n },\n {\n name: 'Seychelles',\n regions: ['africa'],\n iso2: 'sc',\n dialCode: '+248',\n hasAreaCodes: false,\n },\n {\n name: 'Sierra Leone',\n regions: ['africa'],\n iso2: 'sl',\n dialCode: '+232',\n hasAreaCodes: false,\n },\n {\n name: 'Singapore',\n regions: ['asia'],\n iso2: 'sg',\n dialCode: '+65',\n hasAreaCodes: false,\n },\n {\n name: 'Sint Maarten',\n regions: ['america', 'carribean'],\n iso2: 'sx',\n dialCode: '+1721',\n hasAreaCodes: false,\n },\n {\n name: 'Slovakia (Slovensko)',\n regions: ['europe', 'european-union'],\n iso2: 'sk',\n dialCode: '+421',\n hasAreaCodes: false,\n },\n {\n name: 'Slovenia (Slovenija)',\n regions: ['europe', 'european-union'],\n iso2: 'si',\n dialCode: '+386',\n hasAreaCodes: false,\n },\n {\n name: 'Solomon Islands',\n regions: ['oceania'],\n iso2: 'sb',\n dialCode: '+677',\n hasAreaCodes: false,\n },\n {\n name: 'Somalia (Soomaaliya)',\n regions: ['africa'],\n iso2: 'so',\n dialCode: '+252',\n hasAreaCodes: false,\n },\n {\n name: 'South Africa',\n regions: ['africa'],\n iso2: 'za',\n dialCode: '+27',\n hasAreaCodes: false,\n },\n {\n name: 'South Korea (대한민국)',\n regions: ['asia'],\n iso2: 'kr',\n dialCode: '+82',\n hasAreaCodes: false,\n },\n {\n name: 'South Sudan (جنوب السودان)',\n regions: ['africa', 'north-africa'],\n iso2: 'ss',\n dialCode: '+211',\n hasAreaCodes: false,\n },\n {\n name: 'Spain (España)',\n regions: ['europe', 'european-union'],\n iso2: 'es',\n dialCode: '+34',\n hasAreaCodes: false,\n },\n {\n name: 'Sri Lanka (ශ්රී ලංකාව)',\n regions: ['asia'],\n iso2: 'lk',\n dialCode: '+94',\n hasAreaCodes: false,\n },\n {\n name: 'Sudan (السودان)',\n regions: ['africa'],\n iso2: 'sd',\n dialCode: '+249',\n hasAreaCodes: false,\n },\n {\n name: 'Suriname',\n regions: ['america', 'south-america'],\n iso2: 'sr',\n dialCode: '+597',\n hasAreaCodes: false,\n },\n {\n name: 'Swaziland',\n regions: ['africa'],\n iso2: 'sz',\n dialCode: '+268',\n hasAreaCodes: false,\n },\n {\n name: 'Sweden (Sverige)',\n regions: ['europe', 'european-union'],\n iso2: 'se',\n dialCode: '+46',\n hasAreaCodes: false,\n },\n {\n name: 'Switzerland (Schweiz)',\n regions: ['europe'],\n iso2: 'ch',\n dialCode: '+41',\n hasAreaCodes: false,\n },\n {\n name: 'Syria (سوريا)',\n regions: ['middle-east'],\n iso2: 'sy',\n dialCode: '+963',\n hasAreaCodes: false,\n },\n {\n name: 'Taiwan (台灣)',\n regions: ['asia'],\n iso2: 'tw',\n dialCode: '+886',\n hasAreaCodes: false,\n },\n {\n name: 'Tajikistan',\n regions: ['asia', 'ex-ussr'],\n iso2: 'tj',\n dialCode: '+992',\n hasAreaCodes: false,\n },\n {\n name: 'Tanzania',\n regions: ['africa'],\n iso2: 'tz',\n dialCode: '+255',\n hasAreaCodes: false,\n },\n {\n name: 'Thailand (ไทย)',\n regions: ['asia'],\n iso2: 'th',\n dialCode: '+66',\n hasAreaCodes: false,\n },\n {\n name: 'Timor-Leste',\n regions: ['asia'],\n iso2: 'tl',\n dialCode: '+670',\n hasAreaCodes: false,\n },\n {\n name: 'Togo',\n regions: ['africa'],\n iso2: 'tg',\n dialCode: '+228',\n hasAreaCodes: false,\n },\n {\n name: 'Tokelau',\n regions: ['oceania'],\n iso2: 'tk',\n dialCode: '+690',\n hasAreaCodes: false,\n },\n {\n name: 'Tonga',\n regions: ['oceania'],\n iso2: 'to',\n dialCode: '+676',\n hasAreaCodes: false,\n },\n {\n name: 'Trinidad and Tobago',\n regions: ['america', 'carribean'],\n iso2: 'tt',\n dialCode: '+1868',\n hasAreaCodes: false,\n },\n {\n name: 'Tunisia (تونس)',\n regions: ['africa', 'north-africa'],\n iso2: 'tn',\n dialCode: '+216',\n hasAreaCodes: false,\n },\n {\n name: 'Turkey (Türkiye)',\n regions: ['europe'],\n iso2: 'tr',\n dialCode: '+90',\n hasAreaCodes: false,\n },\n {\n name: 'Turkmenistan',\n regions: ['asia', 'ex-ussr'],\n iso2: 'tm',\n dialCode: '+993',\n hasAreaCodes: false,\n },\n {\n name: 'Turks and Caicos Islands',\n regions: ['america', 'carribean'],\n iso2: 'tc',\n dialCode: '+1649',\n hasAreaCodes: false,\n },\n {\n name: 'Tuvalu',\n regions: ['asia'],\n iso2: 'tv',\n dialCode: '+688',\n hasAreaCodes: false,\n },\n {\n name: 'U.S. Virgin Islands',\n regions: ['america', 'carribean'],\n iso2: 'vi',\n dialCode: '+1340',\n hasAreaCodes: false,\n },\n {\n name: 'Uganda',\n regions: ['africa'],\n iso2: 'ug',\n dialCode: '+256',\n hasAreaCodes: false,\n },\n {\n name: 'Ukraine',\n regions: ['europe', 'ex-ussr'],\n iso2: 'ua',\n dialCode: '+380',\n hasAreaCodes: false,\n },\n {\n name: 'United Arab Emirates (الإمارات العربية المتحدة)',\n regions: ['middle-east'],\n iso2: 'ae',\n dialCode: '+971',\n hasAreaCodes: false,\n },\n {\n name: 'United Kingdom',\n regions: ['europe', 'european-union'],\n iso2: 'gb',\n dialCode: '+44',\n hasAreaCodes: false,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1',\n hasAreaCodes: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1907',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1205',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1251',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1256',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1334',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1479',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1501',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1870',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1480',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1520',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1602',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1623',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1928',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1209',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1213',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1310',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1323',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1408',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1415',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1510',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1530',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1559',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1562',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1619',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1626',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1650',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1661',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1707',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1714',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1760',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1805',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1818',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1831',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1858',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1909',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1916',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1925',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1949',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1951',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1303',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1719',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1970',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1203',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1860',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1202',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1302',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1239',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1305',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1321',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1352',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1386',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1407',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1561',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1727',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1772',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1813',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1850',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1863',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1904',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1941',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1954',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1229',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1404',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1478',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1706',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1770',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1912',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1808',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1319',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1515',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1563',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1641',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1712',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1208',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1217',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1309',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1312',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1618',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1630',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1708',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1773',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1815',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1847',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1219',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1260',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1317',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1574',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1765',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1812',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1316',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1620',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1785',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1913',\n\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1270',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1502',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1606',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1859',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1225',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1318',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1337',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1504',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1985',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1413',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1508',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1617',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1781',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1978',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1301',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1410',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1207',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1231',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1248',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1269',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1313',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1517',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1586',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1616',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1734',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1810',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1906',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1989',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1218',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1320',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1507',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1612',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1651',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1763',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1952',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1314',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1417',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1573',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1636',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1660',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1816',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1228',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1601',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1662',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1406',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1252',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1336',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1704',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1828',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1910',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1919',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1701',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1308',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1402',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1603',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1201',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1609',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1732',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1856',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1908',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1973',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1505',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1575',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1702',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1775',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1212',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1315',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1516',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1518',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1585',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1607',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1631',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1716',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1718',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1845',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1914',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1216',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1330',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1419',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1440',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1513',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1614',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1740',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1937',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1405',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1580',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1918',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1503',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1541',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1215',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1412',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1570',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1610',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1717',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1724',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1814',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1401',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1803',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1843',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1864',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1605',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1423',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1615',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1731',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1865',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1901',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1931',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1210',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1214',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1254',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1281',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1325',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1361',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1409',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1432',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1512',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1713',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1806',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1817',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1830',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1903',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1915',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1936',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1940',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1956',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1972',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1979',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1435',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1801',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1276',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1434',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1540',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1703',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1757',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1804',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1802',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1206',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1253',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1360',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1425',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1509',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1262',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1414',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1608',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1715',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1920',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1304',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'United States',\n regions: ['america', 'north-america'],\n iso2: 'us',\n dialCode: '+1307',\n hasAreaCodes: true,\n isAreaCode: true,\n },\n {\n name: 'Uruguay',\n regions: ['america', 'south-america'],\n iso2: 'uy',\n dialCode: '+598',\n hasAreaCodes: false,\n },\n {\n name: 'Uzbekistan (Oʻzbekiston)',\n regions: ['asia', 'ex-ussr'],\n iso2: 'uz',\n dialCode: '+998',\n hasAreaCodes: false,\n },\n {\n name: 'Vanuatu',\n regions: ['oceania'],\n iso2: 'vu',\n dialCode: '+678',\n hasAreaCodes: false,\n },\n {\n name: 'Vatican City (Città del Vaticano)',\n regions: ['europe'],\n iso2: 'va',\n dialCode: '+39',\n hasAreaCodes: false,\n },\n {\n name: 'Venezuela',\n regions: ['america', 'south-america'],\n iso2: 've',\n dialCode: '+58',\n hasAreaCodes: false,\n },\n {\n name: 'Vietnam (Việt Nam)',\n regions: ['asia'],\n iso2: 'vn',\n dialCode: '+84',\n hasAreaCodes: false,\n },\n {\n name: 'Wallis and Futuna',\n regions: ['oceania'],\n iso2: 'wf',\n dialCode: '+681',\n hasAreaCodes: false,\n },\n {\n name: 'Yemen (اليمن)',\n regions: ['middle-east'],\n iso2: 'ye',\n dialCode: '+967',\n hasAreaCodes: false,\n },\n {\n name: 'Zambia',\n regions: ['africa'],\n iso2: 'zm',\n dialCode: '+260',\n hasAreaCodes: false,\n },\n {\n name: 'Zimbabwe',\n regions: ['africa'],\n iso2: 'zw',\n dialCode: '+263',\n hasAreaCodes: false,\n },\n]\n\nexport default allCountries\n","import allCountries from './allCountries'\n\nexport const findCountryBy = (identifyer, item) => allCountries.find(country => country[identifyer] === item)\n\nexport const getCountry = phoneNumber => {\n const tel = phoneNumber.startsWith('+') ? phoneNumber.slice(1, 6) : phoneNumber.slice(0, 5)\n\n return allCountries.find(country => country.dialCode.startsWith(`+${tel.replace(' ', '')}`))\n}\n\nexport const getCountriesByRegions = regions => {\n if (typeof regions === 'string') {\n return allCountries.filter(country => country.regions.includes(regions.toLowerCase()))\n }\n\n return allCountries.filter(country => regions.map(region => country.regions.includes(region.toLowerCase())).some(el => el))\n}\n\nexport const getPreferredCountries = preferredCountries => preferredCountries.map(prefCountry => findCountryBy('iso2', prefCountry.toLowerCase()))\n\nexport const getInitialCountry = (defaultCountry, preferredCountries, regions) => (\n defaultCountry\n ? findCountryBy('iso2', defaultCountry.toLowerCase())\n : preferredCountries.length\n ? findCountryBy('iso2', preferredCountries[0].toLowerCase())\n : regions\n ? getCountriesByRegions(regions)[0]\n : findCountryBy('iso2', 'intl')\n)\n\nexport const getCountryList = (preferredCountries, regions) => (\n preferredCountries.length\n ? getPreferredCountries(preferredCountries)\n : regions\n ? getCountriesByRegions(regions)\n : allCountries\n)\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { Component, createRef } from 'react'\nimport PropTypes from 'prop-types'\nimport enhanceWithClickOutside from 'react-click-outside'\nimport { parsePhoneNumberFromString } from 'libphonenumber-js'\nimport cx from 'classnames'\nimport ReactCountryFlag from 'react-country-flag'\nimport omit from 'lodash.omit'\nimport { detectMobile } from '../../utils/detectMobile'\nimport globe from './globe.png'\n\nimport {\n findCountryBy,\n getCountry,\n getInitialCountry,\n getCountryList,\n} from '../../utils/countries-fn'\n\nimport './styles.scss'\n\nexport class PhoneInput extends Component {\n static propTypes = {\n /** Sets the default country (use iso alpha-2 country code e.g 'us', 'gb', 'fr') */\n defaultCountry: PropTypes.string,\n /** Lets you restrict the country dropdown to a specific list of countries (use iso alpha-2 country code e.g 'us', 'gb', 'fr') */\n preferredCountries: PropTypes.arrayOf(PropTypes.string),\n /** Lets you restrict the country dropdown to a list of countries in the specified regions */\n regions: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n /** Sets the format of the entered phone number, in case of 'NATIONAL' the defaultCountry must be set */\n format: PropTypes.oneOf(['INTERNATIONAL', 'NATIONAL']),\n /** Sets the Placeholder text */\n placeholder: PropTypes.string,\n /** Adds a custom class to the Phone Nr. Input Field */\n className: PropTypes.string,\n /** Disables the Phone Nr. Input Field */\n disabled: PropTypes.bool,\n /** The function/method that returns the entered Phone Nr. */\n onChange: PropTypes.func.isRequired,\n /**\n * changes the retuned value into an Object that contains the phone number and country meta information\n * eg.:\n {\n phoneNumber: \"+49 176 12345678\",\n country: {\n name: \"Germany (Deutschland)\"\n iso2: \"de\"\n }\n }\n */\n withCountryMeta: PropTypes.bool,\n /** Style object that overrides the styles of the Flag shown in the button */\n buttonFlagStyles: PropTypes.instanceOf(Object),\n /** Style object that overrides the styles of the Flag shown in the country dropdown */\n listFlagStyles: PropTypes.instanceOf(Object),\n /** Sets the initial Value of the Phone Number Input. This is usefull in case you need to set a phone number stored for example in a database */\n initialValue: PropTypes.string,\n }\n\n static defaultProps = {\n defaultCountry: null,\n preferredCountries: [],\n regions: null,\n format: 'INTERNATIONAL',\n placeholder: '+1 702 123 4567',\n className: null,\n disabled: false,\n withCountryMeta: false,\n buttonFlagStyles: null,\n listFlagStyles: null,\n initialValue: null,\n }\n\n constructor(props) {\n super(props)\n const {\n defaultCountry, preferredCountries, regions, format,\n } = props\n\n this.state = {\n country: getInitialCountry(defaultCountry, preferredCountries, regions),\n phoneNumber: format === 'INTERNATIONAL' ? getInitialCountry(defaultCountry, preferredCountries, regions).dialCode : '',\n showCountries: false,\n }\n\n this.phoneInput = createRef()\n this.countryList = createRef()\n this.activeCountry = createRef()\n }\n\n componentDidMount() {\n const { initialValue, format } = this.props\n\n if (initialValue) {\n const tel = initialValue.startsWith('+') ? initialValue.slice(1, 4) : initialValue.slice(0, 3)\n this.setState(prevState => ({\n country: (format === 'INTERNATIONAL' && getCountry(tel)) || prevState.country,\n phoneNumber: this.formatNumber(initialValue),\n }), () => this.handleReturnValue())\n }\n }\n\n handleReturnValue = () => {\n const { withCountryMeta, onChange } = this.props\n const { phoneNumber, country } = this.state\n const data = withCountryMeta\n ? { phoneNumber, country: omit(country, ['hasAreaCodes', 'isAreaCode', 'dialCode', 'regions']) }\n : phoneNumber\n\n onChange(data)\n }\n\n handleSelect = code => e => {\n const country = findCountryBy('iso2', code || e.target.value)\n\n this.setState({\n country,\n phoneNumber: country.dialCode,\n showCountries: false,\n }, () => this.handleReturnValue())\n\n this.phoneInput.current.focus()\n }\n\n scrollToCountry = () => {\n const { showCountries, country: { iso2 } } = this.state\n if (showCountries && iso2 !== 'intl') {\n this.countryList.current.scrollTop = (this.activeCountry.current?.offsetTop - 50)\n }\n }\n\n toggleList = () => {\n const { disabled } = this.props\n\n if (!disabled) {\n this.setState(prevState => ({\n showCountries: !prevState.showCountries,\n }), () => this.scrollToCountry())\n }\n }\n\n formatNumber = number => {\n const { format } = this.props\n const { country: { iso2 } } = this.state\n\n let phoneNumber = number\n\n if (format === 'INTERNATIONAL') {\n if (!phoneNumber.startsWith('+')) {\n phoneNumber = `+${phoneNumber}`\n }\n if (phoneNumber.startsWith('+00')) {\n phoneNumber = phoneNumber.replace('00', '')\n }\n }\n\n const parsedPhoneNumber = parsePhoneNumberFromString(phoneNumber, iso2.toUpperCase())\n\n try {\n phoneNumber = parsedPhoneNumber.format(format)\n } catch (e) {\n phoneNumber = phoneNumber.replace(/\\(+-()\\)/g, '')\n }\n\n return phoneNumber\n }\n\n handleChange = e => {\n const { value } = e.target\n const {\n defaultCountry, preferredCountries, regions, format,\n } = this.props\n\n if (!value.length) {\n this.setState({\n country: getInitialCountry(defaultCountry, preferredCountries, regions),\n phoneNumber: '',\n }, () => this.handleReturnValue())\n\n return\n }\n\n if (!(/^[\\d ()+-]+$/).test(value)) return\n\n this.setState(prevState => ({\n country: (format === 'INTERNATIONAL' && getCountry(value)) || prevState.country,\n phoneNumber: this.formatNumber(value),\n }), () => {\n this.scrollToCountry()\n this.handleReturnValue()\n })\n }\n\n handleFlag = iso2 => (\n iso2 === 'intl'\n ? <img src={globe} alt=\"globe\" />\n : (\n <ReactCountryFlag\n code={iso2 || ''}\n styleProps={{\n display: 'block',\n position: 'absolute',\n width: '20px',\n height: '15px',\n backgroundPosition: 'center center',\n zIndex: 7,\n ...this.props.buttonFlagStyles,\n }}\n svg\n />\n )\n )\n\n handleClickOutside() {\n this.setState({\n showCountries: false,\n })\n }\n\n render() {\n const { country: { iso2 }, phoneNumber, showCountries } = this.state\n const {\n placeholder, disabled, preferredCountries, regions, format, className, listFlagStyles,\n } = this.props\n const passableProps = omit(this.props, [\n 'format',\n 'regions',\n 'defaultCountry',\n 'preferredCountries',\n 'buttonFlagStyles',\n 'listFlagStyles',\n 'withCountryMeta',\n 'initialValue',\n ])\n const isMobile = detectMobile.any()\n const toggleList = !isMobile ? this.toggleList : undefined\n\n return (\n <div className=\"react-phonenr-input\">\n {\n format === 'INTERNATIONAL' && (\n <div\n onClick={toggleList}\n className=\"flag-wrapper\"\n role=\"none\"\n >\n {this.handleFlag(iso2)}\n {\n isMobile && (\n <select\n className={className}\n onChange={this.handleSelect()}\n disabled={disabled}\n >\n {\n getCountryList(preferredCountries, regions).map(c => {\n if (c.isAreaCode) {\n return null\n }\n\n return (\n <option key={c.iso2} value={c.iso2}>\n {c.name}\n </option>\n )\n })\n }\n </select>\n )\n }\n </div>\n )\n }\n <input\n {...passableProps}\n className={className}\n type=\"tel\"\n value={phoneNumber}\n onChange={this.handleChange}\n placeholder={placeholder}\n disabled={disabled}\n ref={this.phoneInput}\n maxLength=\"21\"\n />\n {\n showCountries && format === 'INTERNATIONAL' && !isMobile && (\n <ul className=\"country-list\" ref={this.countryList}>\n {\n getCountryList(preferredCountries, regions).map(c => {\n if (c.isAreaCode) {\n return null\n }\n\n return (\n <li\n key={c.iso2}\n onClick={this.handleSelect(c.iso2)}\n onKeyPress={this.handleSelect(c.iso2)}\n className={cx('country-list-item', { 'active-country': c.iso2 === iso2 })}\n ref={c.iso2 === iso2 ? this.activeCountry : null}\n >\n <ReactCountryFlag\n styleProps={{\n width: '20px',\n ...listFlagStyles,\n }}\n code={c.iso2}\n svg\n />\n {` ${c.name}`}\n </li>\n )\n })\n }\n </ul>\n )\n }\n </div>\n )\n }\n}\n\nexport default enhanceWithClickOutside(PhoneInput)\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","getOwnPropertySymbols","_extends","_createClass","_classCallCheck","_possibleConstructorReturn","_inherits","ReactDOM","hoistNonReactStatic","compare","formatNumber","parseNumber","_typeof","_slicedToArray","parsePhoneNumberFromString","parsePhoneNumberFromString_","VALID_PHONE_NUMBER","extractCountryCallingCode","_extractCountryCallingCode","parsePhoneNumberFromStringCustom","PhoneNumberSearch","PhoneNumberSearchCustom","PhoneNumberMatcher","PhoneNumberMatcherCustom","AsYouType","AsYouTypeCustom","PropTypes","MAX_SAFE_INTEGER","global","hasOwnProperty","Symbol","isObject","hasWindowObj","window","detectMobile","Android","navigator","userAgent","match","BlackBerry","iOS","Opera","Windows","any","allCountries","name","regions","iso2","dialCode","isAreaCode","hasAreaCodes","findCountryBy","identifyer","item","find","country","getCountry","phoneNumber","tel","startsWith","slice","replace","getCountriesByRegions","filter","includes","toLowerCase","map","region","some","el","getPreferredCountries","preferredCountries","prefCountry","getInitialCountry","defaultCountry","length","getCountryList","PhoneInput","props","withCountryMeta","onChange","state","data","omit","code","e","target","value","setState","showCountries","handleReturnValue","phoneInput","current","focus","countryList","scrollTop","activeCountry","offsetTop","disabled","prevState","scrollToCountry","number","format","parsedPhoneNumber","toUpperCase","test","globe","display","position","width","height","backgroundPosition","zIndex","buttonFlagStyles","createRef","initialValue","placeholder","className","listFlagStyles","passableProps","isMobile","toggleList","undefined","handleFlag","handleSelect","c","handleChange","cx","Component","enhanceWithClickOutside"],"mappings":"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AAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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"} |