{"version":3,"file":"e49a148a-c7017b9aaf25bbfc5d4f.js","mappings":"oHAAA,EAAQ,MAIC,SAAUA,GACjB,aAIA,IAAIC,EAAW,CACb,QAAW,EACX,sBAAyB,CACvB,EAAK,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACtJ,EAAK,CAAC,KAAM,MACZ,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,KAAM,MACb,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,KAAM,KAAM,KAAM,MACzB,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,KAAM,MACb,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,KAAM,KAAM,MACnB,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,GAAM,CAAC,MACP,IAAO,CAAC,MACR,IAAO,CAAC,KAAM,MACd,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,KAAM,MACd,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,KAAM,MACd,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,KAAM,MACd,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,IAAO,CAAC,MACR,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","sources":["webpack://lale-merkezi-website/./node_modules/yup-phone-lite/dist/yup-phone-lite.umd.js"],"sourcesContent":["require(\"core-js/modules/esnext.global-this.js\");\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('yup')) : typeof define === 'function' && define.amd ? define(['yup'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.yup));\n})(this, function (Yup) {\n 'use strict'; // 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\n\n var metadata = {\n \"version\": 4,\n \"country_calling_codes\": {\n \"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\"],\n \"7\": [\"RU\", \"KZ\"],\n \"20\": [\"EG\"],\n \"27\": [\"ZA\"],\n \"30\": [\"GR\"],\n \"31\": [\"NL\"],\n \"32\": [\"BE\"],\n \"33\": [\"FR\"],\n \"34\": [\"ES\"],\n \"36\": [\"HU\"],\n \"39\": [\"IT\", \"VA\"],\n \"40\": [\"RO\"],\n \"41\": [\"CH\"],\n \"43\": [\"AT\"],\n \"44\": [\"GB\", \"GG\", \"IM\", \"JE\"],\n \"45\": [\"DK\"],\n \"46\": [\"SE\"],\n \"47\": [\"NO\", \"SJ\"],\n \"48\": [\"PL\"],\n \"49\": [\"DE\"],\n \"51\": [\"PE\"],\n \"52\": [\"MX\"],\n \"53\": [\"CU\"],\n \"54\": [\"AR\"],\n \"55\": [\"BR\"],\n \"56\": [\"CL\"],\n \"57\": [\"CO\"],\n \"58\": [\"VE\"],\n \"60\": [\"MY\"],\n \"61\": [\"AU\", \"CC\", \"CX\"],\n \"62\": [\"ID\"],\n \"63\": [\"PH\"],\n \"64\": [\"NZ\"],\n \"65\": [\"SG\"],\n \"66\": [\"TH\"],\n \"81\": [\"JP\"],\n \"82\": [\"KR\"],\n \"84\": [\"VN\"],\n \"86\": [\"CN\"],\n \"90\": [\"TR\"],\n \"91\": [\"IN\"],\n \"92\": [\"PK\"],\n \"93\": [\"AF\"],\n \"94\": [\"LK\"],\n \"95\": [\"MM\"],\n \"98\": [\"IR\"],\n \"211\": [\"SS\"],\n \"212\": [\"MA\", \"EH\"],\n \"213\": [\"DZ\"],\n \"216\": [\"TN\"],\n \"218\": [\"LY\"],\n \"220\": [\"GM\"],\n \"221\": [\"SN\"],\n \"222\": [\"MR\"],\n \"223\": [\"ML\"],\n \"224\": [\"GN\"],\n \"225\": [\"CI\"],\n \"226\": [\"BF\"],\n \"227\": [\"NE\"],\n \"228\": [\"TG\"],\n \"229\": [\"BJ\"],\n \"230\": [\"MU\"],\n \"231\": [\"LR\"],\n \"232\": [\"SL\"],\n \"233\": [\"GH\"],\n \"234\": [\"NG\"],\n \"235\": [\"TD\"],\n \"236\": [\"CF\"],\n \"237\": [\"CM\"],\n \"238\": [\"CV\"],\n \"239\": [\"ST\"],\n \"240\": [\"GQ\"],\n \"241\": [\"GA\"],\n \"242\": [\"CG\"],\n \"243\": [\"CD\"],\n \"244\": [\"AO\"],\n \"245\": [\"GW\"],\n \"246\": [\"IO\"],\n \"247\": [\"AC\"],\n \"248\": [\"SC\"],\n \"249\": [\"SD\"],\n \"250\": [\"RW\"],\n \"251\": [\"ET\"],\n \"252\": [\"SO\"],\n \"253\": [\"DJ\"],\n \"254\": [\"KE\"],\n \"255\": [\"TZ\"],\n \"256\": [\"UG\"],\n \"257\": [\"BI\"],\n \"258\": [\"MZ\"],\n \"260\": [\"ZM\"],\n \"261\": [\"MG\"],\n \"262\": [\"RE\", \"YT\"],\n \"263\": [\"ZW\"],\n \"264\": [\"NA\"],\n \"265\": [\"MW\"],\n \"266\": [\"LS\"],\n \"267\": [\"BW\"],\n \"268\": [\"SZ\"],\n \"269\": [\"KM\"],\n \"290\": [\"SH\", \"TA\"],\n \"291\": [\"ER\"],\n \"297\": [\"AW\"],\n \"298\": [\"FO\"],\n \"299\": [\"GL\"],\n \"350\": [\"GI\"],\n \"351\": [\"PT\"],\n \"352\": [\"LU\"],\n \"353\": [\"IE\"],\n \"354\": [\"IS\"],\n \"355\": [\"AL\"],\n \"356\": [\"MT\"],\n \"357\": [\"CY\"],\n \"358\": [\"FI\", \"AX\"],\n \"359\": [\"BG\"],\n \"370\": [\"LT\"],\n \"371\": [\"LV\"],\n \"372\": [\"EE\"],\n \"373\": [\"MD\"],\n \"374\": [\"AM\"],\n \"375\": [\"BY\"],\n \"376\": [\"AD\"],\n \"377\": [\"MC\"],\n \"378\": [\"SM\"],\n \"380\": [\"UA\"],\n \"381\": [\"RS\"],\n \"382\": [\"ME\"],\n \"383\": [\"XK\"],\n \"385\": [\"HR\"],\n \"386\": [\"SI\"],\n \"387\": [\"BA\"],\n \"389\": [\"MK\"],\n \"420\": [\"CZ\"],\n \"421\": [\"SK\"],\n \"423\": [\"LI\"],\n \"500\": [\"FK\"],\n \"501\": [\"BZ\"],\n \"502\": [\"GT\"],\n \"503\": [\"SV\"],\n \"504\": [\"HN\"],\n \"505\": [\"NI\"],\n \"506\": [\"CR\"],\n \"507\": [\"PA\"],\n \"508\": [\"PM\"],\n \"509\": [\"HT\"],\n \"590\": [\"GP\", \"BL\", \"MF\"],\n \"591\": [\"BO\"],\n \"592\": [\"GY\"],\n \"593\": [\"EC\"],\n \"594\": [\"GF\"],\n \"595\": [\"PY\"],\n \"596\": [\"MQ\"],\n \"597\": [\"SR\"],\n \"598\": [\"UY\"],\n \"599\": [\"CW\", \"BQ\"],\n \"670\": [\"TL\"],\n \"672\": [\"NF\"],\n \"673\": [\"BN\"],\n \"674\": [\"NR\"],\n \"675\": [\"PG\"],\n \"676\": [\"TO\"],\n \"677\": [\"SB\"],\n \"678\": [\"VU\"],\n \"679\": [\"FJ\"],\n \"680\": [\"PW\"],\n \"681\": [\"WF\"],\n \"682\": [\"CK\"],\n \"683\": [\"NU\"],\n \"685\": [\"WS\"],\n \"686\": [\"KI\"],\n \"687\": [\"NC\"],\n \"688\": [\"TV\"],\n \"689\": [\"PF\"],\n \"690\": [\"TK\"],\n \"691\": [\"FM\"],\n \"692\": [\"MH\"],\n \"850\": [\"KP\"],\n \"852\": [\"HK\"],\n \"853\": [\"MO\"],\n \"855\": [\"KH\"],\n \"856\": [\"LA\"],\n \"880\": [\"BD\"],\n \"886\": [\"TW\"],\n \"960\": [\"MV\"],\n \"961\": [\"LB\"],\n \"962\": [\"JO\"],\n \"963\": [\"SY\"],\n \"964\": [\"IQ\"],\n \"965\": [\"KW\"],\n \"966\": [\"SA\"],\n \"967\": [\"YE\"],\n \"968\": [\"OM\"],\n \"970\": [\"PS\"],\n \"971\": [\"AE\"],\n \"972\": [\"IL\"],\n \"973\": [\"BH\"],\n \"974\": [\"QA\"],\n \"975\": [\"BT\"],\n \"976\": [\"MN\"],\n \"977\": [\"NP\"],\n \"992\": [\"TJ\"],\n \"993\": [\"TM\"],\n \"994\": [\"AZ\"],\n \"995\": [\"GE\"],\n \"996\": [\"KG\"],\n \"998\": [\"UZ\"]\n },\n \"countries\": {\n \"AC\": [\"247\", \"00\", \"(?:[01589]\\\\d|[46])\\\\d{4}\", [5, 6]],\n \"AD\": [\"376\", \"00\", \"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\", [6, 8, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"[135-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]]],\n \"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\"],\n \"AF\": [\"93\", \"00\", \"[2-7]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"]], \"0\"],\n \"AG\": [\"1\", \"011\", \"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([457]\\\\d{6})$\", \"268$1\", 0, \"268\"],\n \"AI\": [\"1\", \"011\", \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2457]\\\\d{6})$\", \"264$1\", 0, \"264\"],\n \"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\"],\n \"AM\": [\"374\", \"00\", \"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]0\"], \"0 $1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2|3[12]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"1|47\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[3-9]\"], \"0$1\"]], \"0\"],\n \"AO\": [\"244\", \"00\", \"[29]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[29]\"]]]],\n \"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[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"1\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[23]\"], \"0$1\", 1], [\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9(?:2[2-469]|3[3-578])\", \"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\", \"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 15-$3-$4\", [\"91\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d)(\\\\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\"],\n \"AS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([267]\\\\d{6})$\", \"684$1\", 0, \"684\"],\n \"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\"],\n \"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{8}|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|4\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[2378]\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:30|[89])\"]]], \"0\", 0, \"0|(183[12])\", 0, 0, 0, [[\"8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-7]|3[2-4]|[4-6]\\\\d))|91(?:[0-57-9]\\\\d|6[0135-9])\\\\d)\\\\d{3}|(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8])|8(?:6[0-8]|[78]\\\\d|9[02-9]))\\\\d{6}\", [9]], [\"4(?:83[0-38]|93[0-4])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, [\"163\\\\d{2,6}\", [5, 6, 7, 8, 9]], [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\", [6, 8, 10]]], \"0011\"],\n \"AW\": [\"297\", \"00\", \"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[25-9]\"]]]],\n \"AX\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\", [5, 6, 7, 8, 9, 10, 11, 12], 0, \"0\", 0, 0, 0, 0, \"18\", 0, \"00\"],\n \"AZ\": [\"994\", \"00\", \"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[28]|2|365|46\", \"1[28]|2|365|46\", \"1[28]|2|365(?:[0-46-9]|5[0-35-9])|46\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[13-9]\"], \"0$1\"]], \"0\"],\n \"BA\": [\"387\", \"00\", \"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[1-3]|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2-$3\", [\"[3-5]|6[56]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"6\"], \"0$1\"]], \"0\"],\n \"BB\": [\"1\", \"011\", \"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"246$1\", 0, \"246\"],\n \"BD\": [\"880\", \"00\", \"1\\\\d{9}|2\\\\d{7,8}|88\\\\d{4,6}|(?:8[0-79]|9\\\\d)\\\\d{4,8}|(?:[346]\\\\d|[57])\\\\d{5,8}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1-$2\", [\"31[5-8]|[459]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1-$2\", [\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?: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\"],\n \"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\"],\n \"BF\": [\"226\", \"00\", \"[025-7]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[025-7]\"]]]],\n \"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\"],\n \"BH\": [\"973\", \"00\", \"[136-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[13679]|8[047]\"]]]],\n \"BI\": [\"257\", \"00\", \"(?:[267]\\\\d|31)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2367]\"]]]],\n \"BJ\": [\"229\", \"00\", \"(?:[2689]\\\\d|51)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[25689]\"]]]],\n \"BL\": [\"590\", \"00\", \"(?:590|69\\\\d|976)\\\\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}\"], 0, 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]],\n \"BM\": [\"1\", \"011\", \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"441$1\", 0, \"441\"],\n \"BN\": [\"673\", \"00\", \"[2-578]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-578]\"]]]],\n \"BO\": [\"591\", \"00(?:1\\\\d)?\", \"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\", [8, 9], [[\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"[23]|4[46]\"]], [\"(\\\\d{8})\", \"$1\", [\"[67]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\", 0, \"0(1\\\\d)?\"],\n \"BQ\": [\"599\", \"00\", \"(?:[34]1|7\\\\d)\\\\d{5}\", [7], 0, 0, 0, 0, 0, 0, \"[347]\"],\n \"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|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\", \"$2\"],\n \"BS\": [\"1\", \"011\", \"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-8]\\\\d{6})$\", \"242$1\", 0, \"242\"],\n \"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\"]]]],\n \"BW\": [\"267\", \"00\", \"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[24-6]|3[15-79]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]],\n \"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\"],\n \"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\"]]]],\n \"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|6[57])|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|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}\"], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[12]|33|44|66|77|88)|622)[2-9]\\\\d{6}\"], 0, 0, 0, [\"600[2-9]\\\\d{6}\"]]],\n \"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{8}|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|89)|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(?:83[0-38]|93[0-4])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\", [6, 8, 10]]], \"0011\"],\n \"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\"],\n \"CF\": [\"236\", \"00\", \"(?:[27]\\\\d{3}|8776)\\\\d{4}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[278]\"]]]],\n \"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]\"]]]],\n \"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\"],\n \"CI\": [\"225\", \"00\", \"[02]\\\\d{9}|[02-9]\\\\d{7}\", [8, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[03-9]|2(?:[02-4]|1[023578])\", \"[03-9]|2(?:[02-4]|1(?:[02357]|80))\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\", \"$1 $2 $3 $4\", [\"2\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"0\"]]]],\n \"CK\": [\"682\", \"00\", \"[2-578]\\\\d{4}\", [5], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"[2-578]\"]]]],\n \"CL\": [\"56\", \"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\", \"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\", [9, 10, 11], [[\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"219\", \"2196\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[1-3]\"], \"($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\"]]]],\n \"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]\"]]]],\n \"CN\": [\"86\", \"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\", \"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5,6})\", \"$1 $2\", [\"(?:10|2[0-57-9])[19]\", \"(?:10|2[0-57-9])(?:10|9[56])\", \"(?:10|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)\\\\d\\\\d)\", 0, 0, 0, 0, \"00\"],\n \"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\", [\"[14][2-9]|[25-8]\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"3\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{7})\", \"$1-$2-$3\", [\"1\"], \"0$1\", 0, \"$1 $2 $3\"]], \"0\", 0, \"0([3579]|4(?:[14]4|56))?\"],\n \"CR\": [\"506\", \"00\", \"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\", [8, 10], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[3-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[89]\"]]], 0, 0, \"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\n \"CU\": [\"53\", \"119\", \"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\", [6, 7, 8, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"2[1-4]|[34]\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{6,7})\", \"$1 $2\", [\"7\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"8\"], \"0$1\"]], \"0\"],\n \"CV\": [\"238\", \"0\", \"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2-589]\"]]]],\n \"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]\"],\n \"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{8}|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|88)|1(?:17|46|75)|235)|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(?:83[0-38]|93[0-4])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{3}|45[0-4])\\\\d{3}|13\\\\d{4}\", [6, 8, 10]]], \"0011\"],\n \"CY\": [\"357\", \"00\", \"(?:[279]\\\\d|[58]0)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[257-9]\"]]]],\n \"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\"]]]],\n \"DE\": [\"49\", \"00\", \"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:[12]\\\\d|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[05]\\\\d|31|[46][1-8])\\\\d{1,9}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [[\"(\\\\d{2})(\\\\d{3,13})\", \"$1 $2\", [\"3[02]|40|[68]9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,12})\", \"$1 $2\", [\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\", \"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2,11})\", \"$1 $2\", [\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\", \"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"138\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{2,10})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,11})\", \"$1 $2\", [\"181\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\", \"$1 $2 $3\", [\"1(?:3|80)|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"1[67]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,12})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"185\", \"1850\", \"18500\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"18[68]\"], \"0$1\"], [\"(\\\\d{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\"],\n \"DJ\": [\"253\", \"00\", \"(?:2\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[27]\"]]]],\n \"DK\": [\"45\", \"00\", \"[2-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-9]\"]]]],\n \"DM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"767$1\", 0, \"767\"],\n \"DO\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"8001|8[024]9\"],\n \"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\"],\n \"EC\": [\"593\", \"00\", \"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[2-7]\"], \"(0$1)\", 0, \"$1-$2-$3\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1\"]]], \"0\"],\n \"EE\": [\"372\", \"00\", \"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\", \"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]], [\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[45]|8(?:00|[1-49])\", \"[45]|8(?:00[1-9]|[1-49])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]],\n \"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\"],\n \"EH\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], 0, \"0\", 0, 0, 0, 0, \"528[89]\"],\n \"ER\": [\"291\", \"00\", \"[178]\\\\d{6}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[178]\"], \"0$1\"]], \"0\"],\n \"ES\": [\"34\", \"00\", \"[5-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]00\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-9]\"]]]],\n \"ET\": [\"251\", \"00\", \"(?:11|[2-59]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-59]\"], \"0$1\"]], \"0\"],\n \"FI\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d)(\\\\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]00|[368]|70[07-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,8})\", \"$1 $2\", [\"[1245]|7[135]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,10})\", \"$1 $2\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"1[03-79]|[2-9]\", 0, \"00\"],\n \"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\"],\n \"FK\": [\"500\", \"00\", \"[2-7]\\\\d{4}\", [5]],\n \"FM\": [\"691\", \"00\", \"(?:[39]\\\\d\\\\d|820)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[389]\"]]]],\n \"FO\": [\"298\", \"00\", \"[2-9]\\\\d{5}\", [6], [[\"(\\\\d{6})\", \"$1\", [\"[2-9]\"]]], 0, 0, \"(10(?:01|[12]0|88))\"],\n \"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\"],\n \"GA\": [\"241\", \"00\", \"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"11|[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]]], 0, 0, \"0(11\\\\d{6}|6[256]\\\\d{6}|7[47]\\\\d{6})\", \"$1\"],\n \"GB\": [\"44\", \"00\", \"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\", [7, 9, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"800\", \"8001\", \"80011\", \"800111\", \"8001111\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"845\", \"8454\", \"84546\", \"845464\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"1(?:38|5[23]|69|76|94)\", \"1(?:(?:38|69)7|5(?:24|39)|768|946)\", \"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"1(?:[2-69][02-9]|[78])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[25]|7(?:0|6[02-9])\", \"[25]|7(?:0|6(?:[03-9]|2[356]))\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1389]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[03])|4(?:[0-5]\\\\d\\\\d|69[7-9])|(?:5[0-26-9]|6[0-4]|[78][0-49])\\\\d\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[02]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\", [9, 10]], [\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]], 0, \" x\"],\n \"GD\": [\"1\", \"011\", \"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"473$1\", 0, \"473\"],\n \"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\"],\n \"GF\": [\"594\", \"00\", \"(?:[56]94|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"]], \"0\"],\n \"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(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]]],\n \"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\"],\n \"GI\": [\"350\", \"00\", \"(?:[25]\\\\d\\\\d|606)\\\\d{5}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2\"]]]],\n \"GL\": [\"299\", \"00\", \"(?:19|[2-689]\\\\d)\\\\d{4}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"19|[2-689]\"]]]],\n \"GM\": [\"220\", \"00\", \"[2-9]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]],\n \"GN\": [\"224\", \"00\", \"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"3\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[67]\"]]]],\n \"GP\": [\"590\", \"00\", \"(?:590|69\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"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}\"], 0, 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]],\n \"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]\"]]]],\n \"GR\": [\"30\", \"00\", \"5005000\\\\d{3}|8\\\\d{9,10}|(?:[269]\\\\d|70)\\\\d{8}\", [10, 11], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"21|7\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2689]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"8\"]]]],\n \"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\"]]]],\n \"GU\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-9]\\\\d{6})$\", \"671$1\", 0, \"671\"],\n \"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]\"]]]],\n \"GY\": [\"592\", \"001\", \"(?:862\\\\d|9008)\\\\d{3}|(?:[2-46]\\\\d|77)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46-9]\"]]]],\n \"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\"],\n \"HN\": [\"504\", \"00\", \"8\\\\d{10}|[237-9]\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[237-9]\"]]]],\n \"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\"],\n \"HT\": [\"509\", \"00\", \"[2-489]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-489]\"]]]],\n \"HU\": [\"36\", \"00\", \"[235-7]\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"06 $1\"]], \"06\"],\n \"ID\": [\"62\", \"00[89]\", \"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\", [7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"15\"]], [\"(\\\\d{2})(\\\\d{5,9})\", \"$1 $2\", [\"2[124]|[36]1\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,7})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,8})\", \"$1 $2\", [\"[2-79]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\", \"$1-$2-$3\", [\"8[1-35-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6,8})\", \"$1 $2\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"804\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"80\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"]], \"0\"],\n \"IE\": [\"353\", \"00\", \"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"2[24-9]|47|58|6[237-9]|9[35-9]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[45]0\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2569]|4[1-69]|7[14]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"81\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"],\n \"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\"],\n \"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\"],\n \"IN\": [\"91\", \"00\", \"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\", [8, 9, 10, 11, 12, 13], [[\"(\\\\d{8})\", \"$1\", [\"5(?:0|2[23]|3[03]|[67]1|88)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"], 0, 1], [\"(\\\\d{4})(\\\\d{4,5})\", \"$1 $2\", [\"180\", \"1800\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"140\"], 0, 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\", \"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\", \"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\", \"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\", \"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"[6-9]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:6|8[06])\", \"1(?:6|8[06]0)\"], 0, 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"18\"], 0, 1]], \"0\"],\n \"IO\": [\"246\", \"00\", \"3\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"3\"]]]],\n \"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\"],\n \"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\"],\n \"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\"],\n \"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]]]],\n \"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(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\\\d{6}\"], [\"56\\\\d{8}\"]]],\n \"JM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"658|876\"],\n \"JO\": [\"962\", \"00\", \"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2356]|87\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"70\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"],\n \"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[7-9]|96)|477|51[2-9]|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[7-9]|96[2457-9])|477|51[2-9]|636[457-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[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|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|51|6(?:[0-24]|36|5[0-3589]|72|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]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|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]|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|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|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]|(?:25[0468]|422|838)[01]|(?: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]|[289][2-9]|5[3-9]|7[2-4679]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"800\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[257-9]\"], \"0$1\"]], \"0\"],\n \"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\"],\n \"KG\": [\"996\", \"00\", \"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{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]|88\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"],\n \"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\"],\n \"KI\": [\"686\", \"00\", \"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\", [5, 8], 0, \"0\"],\n \"KM\": [\"269\", \"00\", \"[3478]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[3478]\"]]]],\n \"KN\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"869$1\", 0, \"869\"],\n \"KP\": [\"850\", \"00|99\", \"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\", [8, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"]], \"0\"],\n \"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))?\"],\n \"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]\"]]]],\n \"KY\": [\"1\", \"011\", \"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"345$1\", 0, \"345\"],\n \"KZ\": [\"7\", \"810\", \"33622\\\\d{5}|(?:7\\\\d|80)\\\\d{8}\", [10], 0, \"8\", 0, 0, 0, 0, \"33|7\", 0, \"8~10\"],\n \"LA\": [\"856\", \"00\", \"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2[13]|3[14]|[4-8]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"30[013-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\"],\n \"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\"],\n \"LC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"758$1\", 0, \"758\"],\n \"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|(1001)\"],\n \"LK\": [\"94\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[1-689]\"], \"0$1\"]], \"0\"],\n \"LR\": [\"231\", \"00\", \"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[4-6]\"], \"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\"],\n \"LS\": [\"266\", \"00\", \"(?:[256]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2568]\"]]]],\n \"LT\": [\"370\", \"00\", \"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"52[0-7]\"], \"(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]\"],\n \"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)\"],\n \"LV\": [\"371\", \"00\", \"(?:[268]\\\\d|90)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[269]|8[01]\"]]]],\n \"LY\": [\"218\", \"00\", \"[2-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"[2-9]\"], \"0$1\"]], \"0\"],\n \"MA\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], [[\"(\\\\d{5})(\\\\d{4})\", \"$1-$2\", [\"5(?:29|38)\", \"5(?:29|38)[89]\", \"5(?:29|38)[89]0\"], \"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\", \"5(?:2(?:[2-49]|8[235-9])|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(?:[189][05]|2[29]|3[01])|38[89][05])\\\\d{4}|5(?:2(?:[015-7]\\\\d|2[02-9]|3[0-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|80|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"], [\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:0[0-8]|6[1267]|7[0-37]))\\\\d{6}\"], [\"80\\\\d{7}\"], [\"89\\\\d{7}\"], 0, 0, 0, 0, [\"592(?:4[0-2]|93)\\\\d{4}\"]]],\n \"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\"],\n \"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\"],\n \"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\"],\n \"MF\": [\"590\", \"00\", \"(?:590|69\\\\d|976)\\\\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}\"], 0, 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]],\n \"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\"],\n \"MH\": [\"692\", \"011\", \"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-6]\"]]], \"1\"],\n \"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\"],\n \"ML\": [\"223\", \"00\", \"[24-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-9]\"]]]],\n \"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\"],\n \"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\"],\n \"MO\": [\"853\", \"00\", \"(?:28|[68]\\\\d)\\\\d{6}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[268]\"]]]],\n \"MP\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"670$1\", 0, \"670\"],\n \"MQ\": [\"596\", \"00\", \"69\\\\d{7}|(?:59|97)6\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"]], \"0\"],\n \"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]\"]]]],\n \"MS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([34]\\\\d{6})$\", \"664$1\", 0, \"664\"],\n \"MT\": [\"356\", \"00\", \"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2357-9]\"]]]],\n \"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\"],\n \"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[13-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"],\n \"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{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[137-9]\"], \"0$1\"]], \"0\"],\n \"MX\": [\"52\", \"0[09]\", \"(?:1(?:[01467]\\\\d|[2359][1-9]|8[1-79])|[2-9]\\\\d)\\\\d{8}\", [10, 11], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"33|5[56]|81\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-9]\"], 0, 1], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 $3 $4\", [\"1(?:33|5[56]|81)\"], 0, 1], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 $3 $4\", [\"1\"], 0, 1]], \"01\", 0, \"0(?:[12]|4[45])|1\", 0, 0, 0, 0, \"00\"],\n \"MY\": [\"60\", \"00\", \"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"[4-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1-$2 $3\", [\"1(?:[02469]|[378][1-9])|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\"],\n \"MZ\": [\"258\", \"00\", \"(?:2|8\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2|8[2-79]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]],\n \"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\"],\n \"NC\": [\"687\", \"00\", \"[2-57-9]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1.$2.$3\", [\"[2-57-9]\"]]]],\n \"NE\": [\"227\", \"00\", \"[027-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"08\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[089]|2[013]|7[04]\"]]]],\n \"NF\": [\"672\", \"00\", \"[13]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"1[0-3]\"]], [\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"[13]\"]]], 0, 0, \"([0-258]\\\\d{4})$\", \"3$1\"],\n \"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\"],\n \"NI\": [\"505\", \"00\", \"(?:1800|[25-8]\\\\d{3})\\\\d{4}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[125-8]\"]]]],\n \"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\"],\n \"NO\": [\"47\", \"00\", \"(?:0|[2-9]\\\\d{3})\\\\d{4}\", [5, 8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[489]|5[89]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[235-7]\"]]], 0, 0, 0, 0, 0, \"[02-689]|7[0-8]\"],\n \"NP\": [\"977\", \"00\", \"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d)(\\\\d{7})\", \"$1-$2\", [\"1[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1-$2\", [\"1[01]|[2-8]|9(?:[1-579]|6[2-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"9\"]]], \"0\"],\n \"NR\": [\"674\", \"00\", \"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-68]\"]]]],\n \"NU\": [\"683\", \"00\", \"(?:[47]|888\\\\d)\\\\d{3}\", [4, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"8\"]]]],\n \"NZ\": [\"64\", \"0(?:0|161)\", \"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,8})\", \"$1 $2\", [\"8[1-579]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"50[036-8]|[89]0\", \"50(?:[0367]|88)|[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\", [\"1|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\"],\n \"OM\": [\"968\", \"00\", \"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4,6})\", \"$1 $2\", [\"[58]\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[179]\"]]]],\n \"PA\": [\"507\", \"00\", \"8\\\\d{9}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[1-57-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[68]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]]],\n \"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 \"],\n \"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]\"]]]],\n \"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\"],\n \"PH\": [\"63\", \"00\", \"1800\\\\d{7,9}|(?:2|[89]\\\\d{4})\\\\d{5}|[2-8]\\\\d{8}|[28]\\\\d{7}\", [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)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|8[2-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"1\"]]], \"0\"],\n \"PK\": [\"92\", \"00\", \"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\", [8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\", \"$1 $2 $3\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{6,7})\", \"$1 $2\", [\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\", \"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{7,8})\", \"$1 $2\", [\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"58\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[24-9]\"], \"(0$1)\"]], \"0\"],\n \"PL\": [\"48\", \"00\", \"6\\\\d{5}(?:\\\\d{2})?|8\\\\d{9}|[1-9]\\\\d{6}(?:\\\\d{2})?\", [6, 7, 8, 9, 10], [[\"(\\\\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(?:0[14]|8)\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[2-8]|[2-7]|8[1-79]|9[145]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"8\"]]]],\n \"PM\": [\"508\", \"00\", \"[45]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[45]\"], \"0$1\"]], \"0\"],\n \"PR\": [\"1\", \"011\", \"(?:[589]\\\\d\\\\d|787)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"787|939\"],\n \"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\"],\n \"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]\"]]]],\n \"PW\": [\"680\", \"01[12]\", \"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]],\n \"PY\": [\"595\", \"00\", \"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"[2-9]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{4,5})\", \"$1 $2\", [\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"87\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"9(?:[5-79]|8[1-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"]]], \"0\"],\n \"QA\": [\"974\", \"00\", \"[2-7]\\\\d{7}|(?:2\\\\d\\\\d|800)\\\\d{4}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"2[126]|8\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]]]],\n \"RE\": [\"262\", \"00\", \"9769\\\\d{5}|(?:26|[68]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2689]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"26[23]|69|[89]\"],\n \"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 \"],\n \"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\"],\n \"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\"],\n \"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\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"]]], \"0\"],\n \"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\"],\n \"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])\"]]]],\n \"SC\": [\"248\", \"010|0[0-2]\", \"8000\\\\d{3}|(?:[249]\\\\d|64)\\\\d{5}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[246]|9[57]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"],\n \"SD\": [\"249\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"],\n \"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[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"10|7\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1-$2 $3 $4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4 $5\", [\"[26]\"], \"0$1\", 0, \"$1 $2 $3 $4 $5\"]], \"0\"],\n \"SG\": [\"65\", \"0[0-3]\\\\d\", \"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[369]|8(?:0[1-3]|[1-9])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]],\n \"SH\": [\"290\", \"00\", \"(?:[256]\\\\d|8)\\\\d{3}\", [4, 5], 0, 0, 0, 0, 0, 0, \"[256]\"],\n \"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\"],\n \"SJ\": [\"47\", \"00\", \"0\\\\d{4}|(?:[4589]\\\\d|79)\\\\d{6}\", [5, 8], 0, 0, 0, 0, 0, 0, \"79\"],\n \"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\"],\n \"SL\": [\"232\", \"00\", \"(?:[2378]\\\\d|66|99)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[236-9]\"], \"(0$1)\"]], \"0\"],\n \"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\"],\n \"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]\"]]]],\n \"SO\": [\"252\", \"00\", \"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"8[125]\"]], [\"(\\\\d{6})\", \"$1\", [\"[134]\"]], [\"(\\\\d)(\\\\d{6})\", \"$1 $2\", [\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"24|[67]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3478]|64|90\"]], [\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"1|28|6[1-35-9]|9[2-9]\"]]], \"0\"],\n \"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]\"]]]],\n \"SS\": [\"211\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"],\n \"ST\": [\"239\", \"00\", \"(?:22|9\\\\d)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[29]\"]]]],\n \"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]\"]]]],\n \"SX\": [\"1\", \"011\", \"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|(5\\\\d{6})$\", \"721$1\", 0, \"721\"],\n \"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\"],\n \"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\"]]]],\n \"TA\": [\"290\", \"00\", \"8\\\\d{3}\", [4], 0, 0, 0, 0, 0, 0, \"8\"],\n \"TC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-479]\\\\d{6})$\", \"649$1\", 0, \"649\"],\n \"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\"],\n \"TG\": [\"228\", \"00\", \"[279]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[279]\"]]]],\n \"TH\": [\"66\", \"00[1-9]\", \"1\\\\d{9}|[1689]\\\\d{8}|[1-57]\\\\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\", [\"[13-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"],\n \"TJ\": [\"992\", \"810\", \"(?:[02]0|11|[3-57-9]\\\\d)\\\\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\", [\"[02457-9]|11\"], 0, 1]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"],\n \"TK\": [\"690\", \"00\", \"[2-47]\\\\d{3,6}\", [4, 5, 6, 7]],\n \"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\"]]]],\n \"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\"],\n \"TN\": [\"216\", \"00\", \"[2-57-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-57-9]\"]]]],\n \"TO\": [\"676\", \"00\", \"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1-$2\", [\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]], [\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]]]],\n \"TR\": [\"90\", \"00\", \"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\", [7, 10, 12, 13], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"512|8[01589]|90\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5(?:[0-59]|61)\", \"5(?:[0-59]|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], [\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1]], \"0\"],\n \"TT\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-46-8]\\\\d{6})$\", \"868$1\", 0, \"868\"],\n \"TV\": [\"688\", \"00\", \"(?:2|7\\\\d\\\\d|90)\\\\d{4}\", [5, 6, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]],\n \"TW\": [\"886\", \"0(?:0[25-79]|19)\", \"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\", [7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"202\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[258]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\", \"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \"#\"],\n \"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\"],\n \"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\"],\n \"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\"],\n \"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[01356]|3[0-24679]|4[167]|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[0179]|6[0-279]|78|8[0-29])|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-289]|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}\"], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[12]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\n \"UY\": [\"598\", \"0(?:0|1[3-9]\\\\d)\", \"4\\\\d{9}|[249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"405|8|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[24]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" int. \"],\n \"UZ\": [\"998\", \"810\", \"55501\\\\d{4}|(?:33|[679]\\\\d|88)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[35-9]\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"],\n \"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\"],\n \"VC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"784$1\", 0, \"784\"],\n \"VE\": [\"58\", \"00\", \"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\", [10], [[\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"[24-689]\"], \"0$1\"]], \"0\"],\n \"VG\": [\"1\", \"011\", \"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-578]\\\\d{6})$\", \"284$1\", 0, \"284\"],\n \"VI\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"340$1\", 0, \"340\"],\n \"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\"],\n \"VU\": [\"678\", \"00\", \"[48]8\\\\d{3}|(?:[23]|[579]\\\\d\\\\d)\\\\d{4}\", [5, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[579]\"]]]],\n \"WF\": [\"681\", \"00\", \"(?:[45]0|68|72|8\\\\d)\\\\d{4}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[4-8]\"]]]],\n \"WS\": [\"685\", \"0\", \"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\", [5, 6, 7, 10], [[\"(\\\\d{5})\", \"$1\", [\"[2-5]|6[1-9]\"]], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[68]\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]],\n \"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\"],\n \"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\"],\n \"YT\": [\"262\", \"00\", \"80\\\\d{7}|(?:26|63)9\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, \"269|63\"],\n \"ZA\": [\"27\", \"00\", \"[1-79]\\\\d{8}|8\\\\d{4,9}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"860\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"],\n \"ZM\": [\"260\", \"00\", \"(?:63|80)0\\\\d{6}|(?:21|[79]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[28]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[79]\"], \"0$1\"]], \"0\"],\n \"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\"]\n },\n \"nonGeographic\": {\n \"800\": [\"800\", 0, \"[1-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[1-9]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, [\"[1-9]\\\\d{7}\"]]],\n \"808\": [\"808\", 0, \"[1-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[1-9]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, [\"[1-9]\\\\d{7}\"]]],\n \"870\": [\"870\", 0, \"7\\\\d{11}|[35-7]\\\\d{8}\", [9, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[35-7]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\n \"878\": [\"878\", 0, \"10\\\\d{10}\", [12], [[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\", \"$1 $2 $3\", [\"1\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"10\\\\d{10}\"]]],\n \"881\": [\"881\", 0, \"[0-36-9]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"[0-36-9]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"[0-36-9]\\\\d{8}\"]]],\n \"882\": [\"882\", 0, \"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|[19]\\\\d{7}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"16|342\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"3[23]\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34[57]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34\"]], [\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\", \"$1 $2 $3\", [\"[1-3]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"3(?:37\\\\d\\\\d|42)\\\\d{4}|3(?:2|47|7\\\\d{3})\\\\d{7}\", [7, 9, 10, 12]], 0, 0, 0, 0, 0, 0, [\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:(?:285\\\\d\\\\d|3(?:45|[69]\\\\d{3}))\\\\d|9[89])\\\\d{6}\"]]],\n \"883\": [\"883\", 0, \"51\\\\d{7}(?:\\\\d{3})?\", [9, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"510\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"510\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"51[013]0\\\\d{8}|5100\\\\d{5}\"]]],\n \"888\": [\"888\", 0, \"\\\\d{11}\", [11], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, [\"\\\\d{11}\"]]],\n \"979\": [\"979\", 0, \"[1359]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1359]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, [\"[1359]\\\\d{8}\"]]]\n }\n }; // Importing from `.json.js` a workaround for a bug in web browsers' \"native\"\n\n function withMetadata(func, _arguments) {\n var args = Array.prototype.slice.call(_arguments);\n args.push(metadata);\n return func.apply(this, args);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n } // https://stackoverflow.com/a/46971044/970769\n\n\n var 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\n ParseError.prototype = Object.create(Error.prototype);\n ParseError.prototype.constructor = ParseError; // The minimum length of the national significant number.\n\n var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n // but one can find longer numbers in Germany.\n\n var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\n var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n // (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\n var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\n var DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\n var SLASHES = \"\\uFF0F/\";\n var DOTS = \"\\uFF0E.\";\n var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\n var BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\n var TILDES = \"~\\u2053\\u223C\\uFF5E\"; // 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.\n\n var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\n var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n // 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.\n //\n // Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n // https://github.com/catamphetamine/libphonenumber-js/issues/381\n\n function compare(a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\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\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n }\n\n function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\n var V4 = '1.7.35';\n var DEFAULT_EXT_PREFIX = ' ext. ';\n var CALLING_CODE_REG_EXP = /^\\d+$/;\n /**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck$1(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n }();\n\n var NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck$1(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n }();\n\n var Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck$1(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n }();\n /**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\n var FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\n var Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck$1(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n }();\n\n function getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n }\n\n function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!is_object(metadata) || !is_object(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata, \".\"));\n }\n } // Babel transforms `typeof` into some \"branches\"\n // so istanbul will show this as \"branch not covered\".\n\n /* istanbul ignore next */\n\n\n var is_object = function is_object(_) {\n return _typeof(_) === 'object';\n }; // Babel transforms `typeof` into some \"branches\"\n // so istanbul will show this as \"branch not covered\".\n\n /* istanbul ignore next */\n\n\n var type_of = function type_of(_) {\n return _typeof(_);\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 */\n\n\n function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n }\n\n function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries[country] !== undefined;\n }\n\n function setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n } // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n // function isCountryCode(countryCode) {\n // \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n // }\n\n\n var RFC3966_EXTN_PREFIX = ';ext=';\n /**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\n var getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n };\n /**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\n function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\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 //\n\n\n var MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n // And this is the second reg-exp:\n // (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n //\n\n var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n '(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n //\n\n var VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n '^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n '^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // 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 //\n\n function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n } // 1 or more valid digits, for use when parsing.\n\n\n var EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // 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.\n\n function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n } // 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 //\n\n\n var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n };\n\n function parseDigit(character) {\n return DIGITS[character];\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 * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\n\n function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = string.split(''), _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 character = _ref;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n }\n /**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\n\n\n function parsePhoneNumberCharacter(character, prevParsedCharacters) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n }\n /**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\n\n\n function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = b, _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 element = _ref;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n }\n\n function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n } // Checks whether a number is possible for the country based on its length.\n // Should only be called for the \"new\" metadata which has \"possible lengths\".\n\n\n function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n }\n\n function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n }\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n }\n\n function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n /**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\n function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = text.split(';'), _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 part = _ref;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n }\n /**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\n\n function formatRFC3966(_ref2) {\n var number = _ref2.number,\n ext = _ref2.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n }\n /**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\n\n\n function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n }\n\n var NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\n function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returned `{}`\n // meaning that the phone number is not a valid one.\n\n if (!input.country) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // v1 metadata.\n // Legacy.\n // Deprecated.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _i = 0, _NON_FIXED_LINE_PHONE = NON_FIXED_LINE_PHONE_TYPES; _i < _NON_FIXED_LINE_PHONE.length; _i++) {\n var type = _NON_FIXED_LINE_PHONE[_i];\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n }\n\n function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\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 */\n\n\n function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // This is just to support `isValidNumber({})`\n // for cases when `parseNumber()` returns `{}`.\n\n if (!input.country) {\n return false;\n }\n\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata.nationalNumberPattern());\n } //\n // E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n //\n // For some reason Google's metadata contains ``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 `` 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 //\n\n\n function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\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.\n\n\n var FIRST_GROUP_PATTERN = /(\\$\\d)/;\n\n function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix;\n _ref.carrierCode;\n _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\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 */\n\n\n var SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n // a preferred IDD prefix is returned.\n\n function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n\n return countryMetadata.defaultIDDPrefix();\n }\n\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n } // This is a port of Google Android `libphonenumber`'s\n\n\n var DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n } // Formats a phone number\n //\n // Example use cases:\n //\n // ```js\n // formatNumber('8005553535', 'RU', 'INTERNATIONAL')\n // formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)\n // formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')\n // formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)\n // formatNumber('+78005553535', 'NATIONAL')\n // formatNumber('+78005553535', 'NATIONAL', metadata)\n // ```\n //\n\n };\n\n function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread({}, DEFAULT_OPTIONS, options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n }\n\n function formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n }\n\n function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = availableFormats, _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 format = _ref; // Validate leading digits\n\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n }\n\n function addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n }\n\n function formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n }\n\n function _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty$1(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _classCallCheck$2(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties$1(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 function _createClass$1(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties$1(Constructor, staticProps);\n return Constructor;\n }\n\n var PhoneNumber = /*#__PURE__*/function () {\n function PhoneNumber(countryCallingCode, nationalNumber, metadata) {\n _classCallCheck$2(this, PhoneNumber);\n\n if (!countryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n var _metadata = new Metadata(metadata); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n\n if (isCountryCode(countryCallingCode)) {\n this.country = countryCallingCode;\n\n _metadata.country(countryCallingCode);\n\n countryCallingCode = _metadata.countryCallingCode();\n }\n\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber;\n this.metadata = metadata;\n }\n\n _createClass$1(PhoneNumber, [{\n key: \"isPossible\",\n value: function isPossible() {\n return isPossiblePhoneNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.metadata);\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // // Is just an alias for `this.isValid() && this.country === country`.\n // // https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\n // isValidForRegion(country) {\n // \treturn isValidNumberForRegion(this, country, { v2: true }, this.metadata)\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread$1({}, options, {\n v2: true\n }) : {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n }();\n\n var isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n };\n\n var CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\n\n function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n }\n /**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`.\r\n */\n\n\n function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n }\n /**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\n\n function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (!shouldExtractNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // If a national prefix has been extracted, check to see\n // if the resultant number isn't too short.\n // Same code in Google's `libphonenumber`:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3291-L3302\n // For some reason, they do this check right after the `national_number_pattern` check\n // this library does in `shouldExtractNationalPrefix()` function.\n // Why is there a second \"resultant\" number validity check?\n // They don't provide an explanation.\n // This library just copies the behavior.\n\n\n if (number.length !== nationalNumber.length + (carrierCode ? carrierCode.length : 0)) {\n // If not using legacy generated metadata (before version `1.0.18`)\n // then it has \"possible lengths\", so use those to validate the number length.\n if (metadata.possibleLengths()) {\n // \"We require that the NSN remaining after stripping the national prefix and\n // carrier code be long enough to be a possible length for the region.\n // Otherwise, we don't do the stripping, since the original number could be\n // a valid short number.\"\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n } // In some countries, the same digit could be a national prefix\n // or a leading digit of a valid phone number.\n // For example, in Russia, national prefix is `8`,\n // and also `800 555 35 35` is a valid number\n // in which `8` is not a national prefix, but the first digit\n // of a national (significant) number.\n // Same's with Belarus:\n // `82004910060` is a valid national (significant) number,\n // but `2004910060` is not.\n // To support such cases (to prevent the code from always stripping\n // national prefix), a condition is imposed: a national prefix\n // is not extracted when the original number is \"viable\" and the\n // resultant number is not, a \"viable\" national number being the one\n // that matches `national_number_pattern`.\n\n\n function shouldExtractNationalPrefix(number, nationalSignificantNumber, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(number, metadata.nationalNumberPattern()) && !matchesEntirely(nationalSignificantNumber, metadata.nationalNumberPattern())) {\n return false;\n } // Just \"possible\" number check would be more relaxed, so it's not used.\n // if (isPossibleNumber(number, metadata) &&\n // \t!isPossibleNumber(numberWithNationalPrefixExtracted, metadata)) {\n // \treturn false\n // }\n\n\n return true;\n }\n /**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\n\n function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n }\n /**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\n\n function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n } // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n }\n\n function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata.metadata);\n }\n\n function selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata) {\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n\n for (var _iterator = possibleCountries, _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 country = _ref;\n metadata.country(country); // Leading digits check would be the simplest one\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n return country;\n }\n }\n } // This is a port of Google Android `libphonenumber`'s\n // This prevents malicious input from consuming CPU.\n\n\n var MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\n var PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n // A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n // Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\n var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$'); //\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 //\n\n function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n }\n /**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\n\n function extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n }\n /**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\n function parseInput(text, v2, extract) {\n // Parse RFC 3966 phone number URI.\n if (text && text.indexOf('tel:') === 0) {\n return parseRFC3966(text);\n }\n\n var number = extractFormattedPhoneNumber(text, extract, v2); // If the phone number is not viable, then abort.\n\n if (!number || !isViablePhoneNumber(number)) {\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n }\n /**\r\n * Creates `parse()` result object.\r\n */\n\n\n function result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n }\n /**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\n function parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is in \"national\" format\n // then `number` is defined and `countryCallingCode` isn't.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata);\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') ;else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n }\n\n function _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty$2(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty$2(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function parsePhoneNumber$1(text, options, metadata) {\n return parse(text, _objectSpread$2({}, options, {\n v2: true\n }), metadata);\n }\n\n function _typeof$1(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof$1 = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof$1 = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof$1(obj);\n }\n\n function _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty$3(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty$3(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _slicedToArray$1(arr, i) {\n return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _nonIterableRest$1();\n }\n\n function _nonIterableRest$1() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n function _iterableToArrayLimit$1(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles$1(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray$1(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread$3({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n } // Otherwise istanbul would show this as \"branch not covered\".\n\n /* istanbul ignore next */\n\n\n var isObject = function isObject(_) {\n return _typeof$1(_) === 'object';\n };\n\n function _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty$4(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty$4(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function parsePhoneNumberFromString(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread$4({}, options, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumber$1(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) ;else {\n throw error;\n }\n }\n }\n\n function _objectSpread$5(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty$5(target, key, source[key]);\n });\n }\n\n return target;\n }\n\n function _defineProperty$5(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function isValidPhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n options = _objectSpread$5({}, options, {\n extract: false\n });\n var phoneNumber = parsePhoneNumberFromString(text, options, metadata);\n return phoneNumber && phoneNumber.isValid() || false;\n }\n\n function isValidPhoneNumber$1() {\n return withMetadata(isValidPhoneNumber, arguments);\n }\n\n var YUP_PHONE_METHOD = \"phone\";\n var CLDR_REGION_CODE_SIZE = 2;\n\n var isValidCountryCode = function isValidCountryCode(countryCode) {\n return typeof countryCode === \"string\" && countryCode.length === CLDR_REGION_CODE_SIZE;\n };\n\n Yup.addMethod(Yup.string, YUP_PHONE_METHOD, function yupPhoneLite(countryCode, errorMessage) {\n if (errorMessage === void 0) {\n errorMessage = \"\";\n }\n\n if (!isValidCountryCode(countryCode)) {\n // if not valid countryCode, then set default country to United States (US)\n countryCode = \"US\";\n }\n\n var errMsg = typeof errorMessage === \"string\" && errorMessage ? errorMessage : \"${path} must be a valid phone number for region \" + countryCode; // @ts-ignore\n\n return this.test(YUP_PHONE_METHOD, errMsg, function (value) {\n try {\n if (value === undefined || value === \"\") {\n return true;\n }\n /* check if the countryCode provided should be used as\n default country code or strictly followed\n */\n\n\n return isValidPhoneNumber$1(value, countryCode);\n } catch (_unused) {\n return false;\n }\n });\n });\n});"],"names":["Yup","metadata","withMetadata","func","_arguments","args","Array","prototype","slice","call","push","apply","this","_classCallCheck","instance","Constructor","TypeError","ParseError","code","name","constructor","message","stack","Error","Object","create","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","concat","PLUS_CHARS","compare","a","b","split","pa","pb","i","na","Number","nb","isNaN","_typeof","obj","Symbol","iterator","_classCallCheck$1","_defineProperties","target","props","length","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","validateMetadata","setVersion","value","keys","countries","filter","_","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","undefined","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","test","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_this","_getFormats","getDefaultCountryMetadataForRegion","map","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","is_object","join","type_of","getCountryCallingCode","countryCallingCode","isSupportedCountry","version","v4","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_PATTERN","RegExp","isViablePhoneNumber","number","EXTN_PATTERN","extractExtension","start","search","numberWithoutExtension","matches","match","DIGITS","parseDigit","character","parseIncompletePhoneNumber","string","result","_iterator","_isArray","isArray","_i","_ref","next","done","parsePhoneNumberCharacter","prevParsedCharacters","mergeArrays","merged","element","indexOf","sort","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","actual_length","minimum_length","isPossiblePhoneNumber","input","options","phone","isPossibleNumber","isNonGeographicCallingCode","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","err","parseRFC3966","text","replace","_part$split2","formatRFC3966","_ref2","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","pattern","_NON_FIXED_LINE_PHONE","isValidNumber","applyInternationalSeparatorStyle","formattedNumber","trim","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","_objectSpread","arguments","source","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","forEach","_defineProperty","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","addExtension","formatNationalNumber","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","iddPrefix","_objectSpread$1","_defineProperty$1","_classCallCheck$2","_defineProperties$1","_createClass$1","PhoneNumber","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumber","_extractNationalNumbe","shouldExtractNationalPrefix","nationalSignificantNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCode","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","defaultCountry","_parseInput","parseInput","extract","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber","defaultCallingCode","hasSelectedNumberingPlan","valid","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","_objectSpread$2","_defineProperty$2","parsePhoneNumber$1","_typeof$1","_objectSpread$3","_defineProperty$3","_slicedToArray$1","_arrayWithHoles$1","_iterableToArrayLimit$1","_nonIterableRest$1","normalizeArguments","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","isObject","_objectSpread$4","_defineProperty$4","parsePhoneNumberFromString","error","_objectSpread$5","_defineProperty$5","isValidPhoneNumber","_normalizeArguments","isValid","isValidPhoneNumber$1","YUP_PHONE_METHOD","CLDR_REGION_CODE_SIZE","isValidCountryCode","addMethod","errorMessage","errMsg","_unused","factory"],"sourceRoot":""}