{"version":3,"sources":["webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/PhoneNumberVerification.vue?ed5b","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/PhoneNumberConfirmation.vue?0bf2","webpack:///./node_modules/libphonenumber-js/metadata.min.json.js","webpack:///./node_modules/libphonenumber-js/min/metadata.js","webpack:///./node_modules/libphonenumber-js/es6/constants.js","webpack:///./node_modules/libphonenumber-js/es6/ParseError.js","webpack:///./node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack:///./node_modules/libphonenumber-js/es6/metadata.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack:///./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack:///./node_modules/libphonenumber-js/es6/isPossibleNumber_.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack:///./node_modules/libphonenumber-js/es6/validate_.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack:///./node_modules/libphonenumber-js/es6/format_.js","webpack:///./node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack:///./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack:///./node_modules/libphonenumber-js/es6/parse_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/min/exports/parsePhoneNumberWithError.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumberFromString_.js","webpack:///./node_modules/libphonenumber-js/es6/parsePhoneNumberFromString.js","webpack:///./node_modules/libphonenumber-js/min/exports/parsePhoneNumberFromString.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/LRUCache.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/RegExpCache.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/util.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/utf-8.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/Leniency.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/parsePreCandidate.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/isValidPreCandidate.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers/isValidCandidate.js","webpack:///./node_modules/libphonenumber-js/es6/PhoneNumberMatcher.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers_.js","webpack:///./node_modules/libphonenumber-js/es6/findNumbers.js","webpack:///./node_modules/libphonenumber-js/min/exports/findNumbers.js","webpack:///./node_modules/libphonenumber-js/es6/searchNumbers.js","webpack:///./node_modules/libphonenumber-js/min/exports/searchNumbers.js","webpack:///./node_modules/libphonenumber-js/es6/findPhoneNumbersInText.js","webpack:///./node_modules/libphonenumber-js/min/exports/findPhoneNumbersInText.js","webpack:///./node_modules/libphonenumber-js/es6/searchPhoneNumbersInText.js","webpack:///./node_modules/libphonenumber-js/min/exports/searchPhoneNumbersInText.js","webpack:///./node_modules/libphonenumber-js/min/exports/PhoneNumberMatcher.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeState.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouTypeParser.js","webpack:///./node_modules/libphonenumber-js/es6/AsYouType.js","webpack:///./node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack:///./node_modules/libphonenumber-js/min/exports/isSupportedCountry.js","webpack:///./node_modules/libphonenumber-js/es6/getCountries.js","webpack:///./node_modules/libphonenumber-js/min/exports/getCountries.js","webpack:///./node_modules/libphonenumber-js/min/exports/getCountryCallingCode.js","webpack:///./node_modules/libphonenumber-js/min/exports/getExtPrefix.js","webpack:///./node_modules/libphonenumber-js/min/exports/Metadata.js","webpack:///./node_modules/libphonenumber-js/es6/getExampleNumber.js","webpack:///./node_modules/libphonenumber-js/min/exports/getExampleNumber.js","webpack:///./node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/min/exports/formatIncompletePhoneNumber.js","webpack:///./node_modules/libphonenumber-js/es6/parse.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/parse.js","webpack:///./node_modules/libphonenumber-js/es6/format.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/format.js","webpack:///./node_modules/libphonenumber-js/es6/getNumberType.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/getNumberType.js","webpack:///./node_modules/libphonenumber-js/es6/isPossibleNumber.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/isPossibleNumber.js","webpack:///./node_modules/libphonenumber-js/es6/validate.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/isValidNumber.js","webpack:///./node_modules/libphonenumber-js/es6/isValidNumberForRegion_.js","webpack:///./node_modules/libphonenumber-js/es6/isValidNumberForRegion.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/isValidNumberForRegion.js","webpack:///./node_modules/libphonenumber-js/es6/findPhoneNumbers_.js","webpack:///./node_modules/libphonenumber-js/es6/findPhoneNumbers.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/findPhoneNumbers.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/searchPhoneNumbers.js","webpack:///./node_modules/libphonenumber-js/index.es6.exports/PhoneNumberSearch.js","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/PhoneNumberVerificationDialog.vue?4c9d","webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/PhoneNumberVerification.vue?08ba","webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/PhoneNumberVerification.vue","webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/PhoneNumberVerification.vue?7ac3","webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/PhoneNumberVerification.vue?2776","webpack:///./src/renderer/modules/member/components/PhoneNumberVerification/index.ts","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/PhoneNumberConfirmation.vue?1f50","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/PhoneNumberConfirmation.vue","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/PhoneNumberConfirmation.vue?8d3f","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/PhoneNumberConfirmation.vue?d1f2","webpack:///./src/renderer/modules/member/components/PhoneNumberConfirmation/index.ts","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/PhoneNumberVerificationDialog.vue","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/PhoneNumberVerificationDialog.vue?f8d9","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/PhoneNumberVerificationDialog.vue?7811","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/index.ts","webpack:///./node_modules/maz-ui/lib/maz-phone-number-input.js","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/JoinTournamentSetDiscordIdDialog.vue?9bd5","webpack:///./src/renderer/assets/discord-white.svg","webpack:///./src/renderer/modules/member/components/PhoneNumberVerificationDialog/PhoneNumberVerificationDialog.vue?866f","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/JoinTournamentSetDiscordIdDialog.vue?1496","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/JoinTournamentSetDiscordIdDialog.vue","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/JoinTournamentSetDiscordIdDialog.vue?1cd3","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/JoinTournamentSetDiscordIdDialog.vue?9069","webpack:///./src/renderer/modules/member/components/JoinTournamentSetDiscordIdDialog/index.ts"],"names":["withMetadata","func","_arguments","args","Array","prototype","slice","call","push","apply","this","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","concat","PLUS_CHARS","_classCallCheck","instance","Constructor","TypeError","ParseError","code","name","constructor","message","stack","Error","Object","create","a","split","b","pa","pb","i","na","Number","nb","isNaN","_typeof","obj","Symbol","iterator","_defineProperties","target","props","length","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","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","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","is_object","join","type_of","getExtPrefix","getCountryCallingCode","countryCallingCode","isSupportedCountry","version","v4","RFC3966_EXTN_PREFIX","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","RegExp","isViablePhoneNumber","number","EXTN_PATTERN","extractExtension","start","search","numberWithoutExtension","matches","match","DIGITS","parseDigit","character","parseDigits","string","result","_iterator","_isArray","isArray","_i","_ref","next","done","digit","parseIncompletePhoneNumber","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","_part$split","_part$split2","formatRFC3966","_ref2","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","pattern","_NON_FIXED_LINE_PHONE","isValidNumber","national_number","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","formatNationalNumber","addExtension","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","fromCountryCallingCode","iddPrefix","USE_NON_GEOGRAPHIC_COUNTRY_CODE","PhoneNumber","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldExtractNationalPrefix","nationalSignificantNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","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","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber","defaultCallingCode","hasSelectedNumberingPlan","valid","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","_normalizeArguments","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","isObject","parsePhoneNumberWithError","parsePhoneNumberFromString","error","Node","prev","LRUCache","limit","size","head","tail","cache","ensureLimit","node","remove","put","console","log","RegExpCache","regExp","get","lower","upper","trimAfterFirstMatch","regexp","index","startsWith","substring","endsWith","_pZ","pZ","PZ","_pN","_pNd","pNd","_pL","pL","pL_regexp","_pSc","pSc","pSc_regexp","_pMn","pMn","pMn_regexp","_InBasic_Latin","_InLatin_1_Supplement","_InLatin_Extended_A","_InLatin_Extended_Additional","_InLatin_Extended_B","_InCombining_Diacritical_Marks","latinLetterRegexp","isLatinLetter","letter","isInvalidPunctuationSymbol","POSSIBLE","candidate","VALID","containsOnlyValidXChars","toString","STRICT_GROUPING","regExpCache","candidateString","containsMoreThanOneSlashInNationalNumber","isNationalPrefixPresentIfRequired","checkNumberGroupingIsValid","allNumberGroupsRemainGrouped","EXACT_GROUPING","allNumberGroupsAreExactlyPresent","charAtIndex","charAt","charAtNextIndex","util","isNumberMatch","MatchType","NSN_MATCH","getCountryCodeSource","phoneNumberRegion","getRegionCodeForCountryCode","getCountryCode","getMetadataForRegion","getNationalSignificantNumber","formatRule","chooseFormattingPatternForNumber","numberFormats","getNationalPrefixFormattingRule","getNationalPrefixOptionalWhenFormatting","PhoneNumberUtil","formattingRuleHasFirstGroupOnly","rawInputCopy","normalizeDigitsOnly","getRawInput","maybeStripNationalPrefixAndCarrierCode","firstSlashInBodyIndex","secondSlashInBodyIndex","candidateHasCountryCode","CountryCodeSource","FROM_NUMBER_WITH_PLUS_SIGN","FROM_NUMBER_WITHOUT_PLUS_SIGN","String","checkGroups","normalizedCandidate","normalizeDigits","formattedNumberGroups","getNationalNumberGroups","alternateFormats","MetadataManager","getAlternateFormatsForCountry","alternateFormat","leadingDigitsRegExp","getPatternForRegExp","formattingPattern","formatNsnUsingPattern","rfc3966Format","formatNumber","endIndex","startIndex","candidateGroups","NON_DIGITS_PATTERN","candidateNumberGroupIndex","hasExtension","contains","formattedNumberGroupIndex","fromIndex","FROM_DEFAULT_COUNTRY","region","getNddPrefixForRegion","Character","isDigit","getExtension","SECOND_NUMBER_START_PATTERN","parsePreCandidate","SLASH_SEPARATED_DATES","TIME_STAMPS","TIME_STAMPS_SUFFIX_LEADING","isValidPreCandidate","offset","followingText","OPENING_PARENS","CLOSING_PARENS","NON_PARENS","LEAD_CLASS","LEAD_CLASS_LEADING","BRACKET_PAIR_LIMIT","MATCHING_BRACKETS_ENTIRE","PUB_PAGES","isValidCandidate","leniency","previousChar","lastCharIndex","nextChar","EXTN_PATTERNS_FOR_MATCHING","INNER_MATCHES","leadLimit","punctuationLimit","digitBlockLimit","blockLimit","punctuation","digitSequence","PATTERN","UNWANTED_END_CHAR_PATTERN","MAX_SAFE_INTEGER","Math","pow","PhoneNumberMatcher","maxTries","Leniency","parseAndVerify","extractInnerMatch","endsAt","_INNER_MATCHES","innerMatchPattern","isFirstMatch","candidateMatch","innerMatchRegExp","_candidate","_match","candidateIndexGuess","state","lastMatch","find","hasNext","findNumbers","matcher","results","searchNumbers","findPhoneNumbersInText","getArguments","searchPhoneNumbersInText","AsYouTypeState","onCountryChange","onCallingCodeChange","properties","_Object$keys","international","missingPlus","digits","resetNationalSignificantNumber","initCountryAndCallingCode","getNationalDigits","nationalSignificantNumberMatchesInput","complexPrefixBeforeNationalSignificantNumber","setCountry","setCallingCode","nextDigits","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","repeat","times","cutAndStripNonPairedParens","cutBeforeIndex","stripNonPairedParens","dangling_braces","pop","cleared_string","_i2","_dangling_braces","populateTemplateWithDigits","template","position","_iterator2","_isArray2","_i3","formatCompleteNumber","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","canFormatCompleteNumber","useNationalPrefixFormattingRule","_ref3","formattedNationalNumber","isValidFormattedNationalNumber","DUMMY_DIGIT","LONGEST_NATIONAL_PHONE_NUMBER_LENGTH","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","SUPPORT_LEGACY_FORMATTING_PATTERNS","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","MIN_LEADING_DIGITS_LENGTH","AsYouTypeFormatter","isNANP","resetFormat","chosenFormat","nationalNumberTemplate","populatedNationalNumberTemplate","populatedNationalNumberTemplatePosition","matchingFormats","narrowDownMatchingFormats","_this2","formattedCompleteNumber","setNationalNumberTemplate","lastIndexOf","formatNationalNumberWithNextDigits","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","_ref4","_this3","leadingDigitsPatternIndex","formatSuits","formatMatches","nationalPrefixIsMandatoryWhenFormattingInNationalFormat","leadingDigitsPatternsCount","min","leadingDigitsPattern","_this4","_loop2","_ref5","getFormatFormat","createTemplateForFormat","_loop","_ret","getTemplateForFormat","_ref6","spacing","internationalPrefix","getInternationalPrefixBeforeCountryCallingCode","getDigitsWithoutInternationalPrefix","_ref7","strictPattern","nationalNumberDummyDigits","nationalPrefixIncludedInTemplate","numberFormat","numberFormatWithNationalPrefix","VALID_FORMATTED_PHONE_NUMBER_PART","VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","justLeadingPlus","_extractFormattedDigi","extractFormattedDigitsAndPlus","_extractFormattedDigi2","formattedDigits","hasPlus","startInternationalNumber","inputDigits","hasReceivedThreeLeadingDigits","appendDigits","extractIddPrefix","isWaitingForCountryCallingCode","extractCountryCallingCode","appendNationalSignificantNumberDigits","hasExtractedNationalSignificantNumber","extractNationalSignificantNumber","update","couldPossiblyExtractAnotherNationalSignificantNumber","nationalDigits","setState","onExtractedNationalNumber","prevNationalSignificantNumber","nationalSignificantNumberIndex","extractAnotherNationalSignificantNumber","fixMissingPlus","extractCallingCodeAndNationalSignificantNumber","_extractCountryCallin2","newCallingCode","_extractFormattedDigitsAndPlus","extractedNumber","_extractFormattedDigi3","_extractFormattedDigi4","AsYouType","optionsOrDefaultCountry","_this$getCountryAndCa","getCountryAndCallingCode","_this$getCountryAndCa2","reset","_this$parser$input","parser","formattedOutput","determineTheCountryIfNeeded","formatter","reExtractNationalSignificantNumber","getFullNumber","getNonFormattedNumber","getCallingCode","_this$state","isCountryCallingCodeAmbiguous","determineTheCountry","isInternational","prefix","_this$state2","getNonFormattedNationalNumberWithPrefix","_this$state3","getCountry","getNumber","isPossible","isValid","getTemplate","getNonFormattedTemplate","getCountries","getExampleNumber","examples","formatIncompletePhoneNumber","parseNumber","arg_5","isValidNumberForRegion","WHITESPACE_IN_THE_BEGINNING_PATTERN","PUNCTUATION_IN_THE_END_PATTERN","findPhoneNumbers","phones","searchPhoneNumbers","PhoneNumberSearch","parseCandidate","last_match","_normalizeArguments2","render","_vm","_h","$createElement","_c","_self","attrs","$vuetify","breakpoint","mobile","model","callback","$$v","isPhoneVerificationVisible","expression","staticClass","on","closePhoneDialog","_v","phoneVerificationStep","phoneVerificationHandler","phoneConfirmationHandler","staticRenderFns","$t","countryListVSelect","countryCodeList","xs","onPhoneNumberUpdated","isLoading","onConfirm","sharedModule","$store","isMobile","event","$toast","addAccountPhoneNumber","verifyResult","status","confirm","applicationRegions","countryList","ri","idd","components","MazPhoneNumberInput","component","VBtn","VCardActions","VCard","VCardText","VCardTitle","VIcon","VSelect","VSpacer","verificationCodeRules","verificationCode","v","confirmAccountPhoneNumberRequest","confirmationResult","info","default","VCol","VForm","VRow","VTextField","memberModule","tournamentModule","phoneVerificationSteps","then","setIsPhoneVerificationVisible","isVisible","onPhoneVerificationSuccess","selectedTournament","PhoneNumberVerification","PhoneNumberConfirmation","VDialog","VWindow","VWindowItem","module","exports","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","r","toStringTag","t","mode","__esModule","ns","bind","n","object","property","hasOwnProperty","p","s","__webpack_exports__","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","data","uniqueId","mounted","id","$attrs","_uid","componentType","_b","tag","class","classes","loading","isLink","disabled","isDisabled","click","$event","handleClick","mouseenter","emitMouseEnter","mouseleave","emitMouseLeave","focus","emitFocus","blur","emitBlur","hasLeftIcon","hasMainIcon","fab","hasSlotDefault","_t","leftIconName","iconName","textClasses","hasRightIcon","rightIconName","color","_withStripped","MazSpinner","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","from","iter","len","arr2","_mainvue_type_script_lang_js_","mixins","inheritAttrs","Boolean","outline","rounded","active","block","noShadow","justifyStart","justifyEnd","computed","_this$$attrs","href","to","hasIcon","methods","$slots","e","$emit","MazBtn_mainvue_type_script_lang_js_","componentNormalizer","__file","_main","install","Vue","dark","fillColorClass","staticStyle","width","height","xmlns","x","y","viewBox","MazSpinner_mainvue_type_script_lang_js_","debounce","pascalCaseToKebabCase","delay","debounceTimer","clearTimeout","setTimeout","toLowerCase","ref","isFocus","success","textarea","warning","hint","hasLabel","leftNumberIcon","focusInput","getType","directives","rawName","inputValue","placeholder","placeholderValue","required","readonly","domProps","keydown","keyDown","keyup","keyUp","onFocus","onBlur","paste","onPaste","change","onChange","composing","hasClearBtn","hasPasswordBtn","checked","_q","$$a","$$el","$$c","$$i","for","tabindex","hintValue","title","stopPropagation","clear","showPassword","utils","DEBOUNCE","validator","prop","includes","clearable","noLabel","noRequiredSymbol","set","valueToEmit","hasNumberType","parseInt","emitValue","array","debounceValue","$refs","MazInput","MazInput_mainvue_type_script_lang_js_","hasOpenList","closeList","multiple","_l","selectedOptions","option","preventDefault","removeOption","config","valueKey","labelKey","valueShown","hasNoLabel","placeholderShown","emitValues","keyboardNav","openList","slot","mlns","fill","listTransition","hasPositionTop","hasPositionRight","style","itemListSize","searchQuery","searchPlaceholder","autocomplete","searchInOptions","_k","keyCode","optionsShown","selected","values","tmpValue","optionHeight","updateValue","assign","isSelected","regenerator","regenerator_default","MazBtn","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","Promise","_asyncToGenerator","fn","self","itemHeight","listHeight","listWidth","open","searchKey","listIsOpen","query","filteredOptions","flex","isInteger","maxHeight","maxWidth","tmpValueIndex","findIndex","selectedValueIndex","valueSelected","optionsSelected","watch","handler","scrollTags","immediate","mark","_callee","_SelectedTagsContaine","_SelectedTagsContaine2","_this$$refs","SelectedTags","SelectedTagsContainer","wrap","_context","$nextTick","scrollLeft","$el","clientWidth","stop","leftValues","valueToReturn","relatedTarget","selectFirstValue","focusSearchInput","scrollToSelectedOnFocus","clearSearch","_callee2","_context2","abrupt","_callee3","SearchInput","_context3","querySelector","noReset","_callee4","_context4","arrayIndex","_this5","_callee5","_context5","optionsList","scrollTop","searching","_this6","queryTimer","q","fromCharCode","resultIndex","MazSelect_mainvue_type_script_lang_js_","noCountrySelector","noFlags","countriesSorted","countrySelectorLabel","countrySelectorSearchPlaceholder","countriesHeight","shouldChooseCountry","countrySelectorError","noValidation","setCountryCode","scopedSlots","_u","iso2","showCodeOnList","dialCode","focusCountrySelector","asYouTypeNumber","phoneNumberLabel","lastKeyPressed","buildResults","external_libphonenumber_js_","allCountries","countriesIso","toUpperCase","priority","areaCodes","enumerableOnly","symbols","getOwnPropertyDescriptors","defineProperties","browserLocale","window","navigator","userLanguage","language","locale","substr","isCountryAvailable","t0","_x","utils_getResultsFromPhoneNumber","parsing","formatInternational","formatNational","uri","getURI","e164","utils_getAsYouTypeFormat","fetchCountryCode","response","responseText","fetch","sent","examples_mobile_json_","examples_mobile_json_default","locales","example","MazSelect","_mainvue_type_script_lang_js_asyncGeneratorStep","_mainvue_type_script_lang_js_asyncToGenerator","_mainvue_type_script_lang_js_ownKeys","_mainvue_type_script_lang_js_objectSpread","_mainvue_type_script_lang_js_defineProperty","defaultPhoneNumber","defaultCountryCode","preferredCountries","onlyCountries","ignoredCountries","translations","noExample","noUseBrowserLocale","fetchCountry","getDialCode","hasEmptyPhone","phoneNumberExample","countriesList","item","countriesFiltered","otherCountries","oldPhoneNumber","newValue","oldValue","t1","t2","noAutoUpdateCountryCode","backSpacePressed","lastCharacOfPhoneNumber","_this6$results","focusPhoneNumberInput","_this7","countryAvailable","_this8","CountrySelector","_this9","PhoneNumberInput","MazPhoneNumberInput_mainvue_type_script_lang_js_","submit","validate","discordIdRules","discordId","userModule","setAccountDiscordId","fetchAccountInfo","getMessage","isDiscordIdDialogVisible","setIsDiscordIdDialogVisible"],"mappings":"qHAAA,yBAAutB,EAAG,G,oCCA1tB,yBAAutB,EAAG,G,y1ECG3sB,OAAC,QAAU,EAAE,sBAAwB,CAAC,EAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAI,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,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","file":"js/app-layout~invite.7adb4ca9.js","sourcesContent":["import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerification.vue?vue&type=style&index=0&id=00d6a7d0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerification.vue?vue&type=style&index=0&id=00d6a7d0&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberConfirmation.vue?vue&type=style&index=0&id=5ea6cdb4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberConfirmation.vue?vue&type=style&index=0&id=5ea6cdb4&lang=scss&scoped=true&\"","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"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\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([457]\\\\d{6})$\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2457]\\\\d{6})$\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"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\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"11\\\\d{8}|(?:[2368]|9\\\\d)\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[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\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([267]\\\\d{6})$\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7,8}|8[0-24-9]\\\\d{7})|[2-478]\\\\d{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\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|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\"],\"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\"],\"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\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"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\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[047]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"(?:[2689]\\\\d|51)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[25689]\"]]]],\"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}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-8]\\\\d{6})$\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\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)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-24679]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-8]\\\\d{6})$\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?: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\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}\",[10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|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}\"]]],\"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\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"801\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\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\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"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\"]]]],\"CM\":[\"237\",\"00\",\"(?:[26]\\\\d\\\\d|88)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\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\"],\"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))?\"],\"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))\"],\"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\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d|8[0-24-9])\\\\d{7}|[148]\\\\d{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\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[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\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"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\"],\"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\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[189]\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[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]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-59]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-59]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[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\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[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\"],\"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\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"(?:[56]94|976)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"0|([25-9]\\\\d{5})$\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?: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]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d\\\\d|606)\\\\d{5}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-689]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"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]\"]]]],\"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}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"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\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([3-9]\\\\d{6})$\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:862\\\\d|9008)\\\\d{3}|(?:[2-46]\\\\d|77)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4}(?:\\\\d(?:\\\\d(?:\\\\d{4})?)?)?|(?:[235-79]\\\\d|46)\\\\d{6}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"[2-489]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-489]\"]]]],\"HU\":[\"36\",\"00\",\"[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\"],\"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\"],\"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\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"0|([5-8]\\\\d{5})$\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?: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\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[245])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1[4679]|[38]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d\\\\d|89(?:2|4[5-9]\\\\d))\\\\d{3}|89[45][0-4]\\\\d\\\\d|(?:1(?:44|6[346])|89(?:5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"0|([0-24-8]\\\\d{5})$\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?: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}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"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\"],\"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\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"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\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-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\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"(?:18|[2569]\\\\d\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[25]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"33622\\\\d{5}|(?:7\\\\d|80)\\\\d{8}\",[10],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[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\"],\"LB\":[\"961\",\"00\",\"[7-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-8]\\\\d{6})$\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"90\\\\d{5}|(?:[2378]|6\\\\d\\\\d)\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[237-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"0|(1001)\"],\"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\"],\"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\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-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]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"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}\"]]],\"MC\":[\"377\",\"00\",\"870\\\\d{5}|(?:[349]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[39]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"(?:590|69\\\\d|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}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"0|([24-9]\\\\d{6})$\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[57-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"(?:28|[68]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"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\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([34]\\\\d{6})$\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[2-468]|5\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"5\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[3467]|9[13-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"1\\\\d{6}(?:\\\\d{2})?|(?:[23]1|77|88|99)\\\\d{7}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"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\"],\"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\"],\"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\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"[2-57-9]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[2-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[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]\"]]]],\"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\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|[89]\\\\d{6,9}|1\\\\d{4,5}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-57-9]\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[489]|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]\"],\"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\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"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\"],\"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]\"]]]],\"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\"]]]],\"PE\":[\"51\",\"19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,0,\" Anexo \"],\"PF\":[\"689\",\"00\",\"[48]\\\\d{7}|4\\\\d{5}\",[6,8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[48]\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"1800\\\\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\"],\"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\"],\"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\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"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\"],\"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]\"]]]],\"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]\"],\"RO\":[\"40\",\"00\",\"(?:[237]\\\\d|[89]0)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[237-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"[347-9]\\\\d{9}\",[10],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[3489]\"],\"8 ($1)\",1]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"8000\\\\d{3}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[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\"],\"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\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[4589]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[2378]\\\\d|66|99)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d{4}|93330)\\\\d{4}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-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\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|(5\\\\d{6})$\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-479]\\\\d{6})$\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"1\\\\d{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\"],\"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\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"[1-6]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"6\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\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]\"]]]],\"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\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-46-8]\\\\d{6})$\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[26-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\",\"4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[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}\"]]],\"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. \"],\"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\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-7]\\\\d{6})$\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"1|([2-578]\\\\d{6})$\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"1|([2-9]\\\\d{6})$\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[69]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[48]8\\\\d{3}|(?:[23]|[579]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[579]\"]]]],\"WF\":[\"681\",\"00\",\"(?:[45]0|68|72|8\\\\d)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[4-8]\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|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\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23]\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7[24-68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"80\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,\"269|63\"],\"ZA\":[\"27\",\"00\",\"[1-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\"],\"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\"],\"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\"]},\"nonGeographic\":{\"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}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"[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}\"]]],\"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}\"]]],\"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}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Importing from `.json.js` a workaround for a bug in web browsers' \"native\"\r\n// ES6 importing system which is uncapable of importing \"*.json\" files.\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\r\nimport metadata from '../metadata.min.json.js'\r\nexport default metadata\r\n\r\nexport function withMetadata(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","// The minimum length of the national significant number.\nexport 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\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport 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\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar 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\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// https://stackoverflow.com/a/46971044/970769\nvar ParseError = function ParseError(code) {\n _classCallCheck(this, ParseError);\n\n this.name = this.constructor.name;\n this.message = code;\n this.stack = new Error(code).stack;\n};\n\nexport { ParseError as default };\nParseError.prototype = Object.create(Error.prototype);\nParseError.prototype.constructor = ParseError;\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\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\nexport default function (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//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport compare from './tools/semver-compare'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\n function Metadata(metadata) {\n _classCallCheck(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\nexport { Metadata as default };\n\nvar NumberingPlan =\n/*#__PURE__*/\nfunction () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(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\nvar Format =\n/*#__PURE__*/\nfunction () {\n function Format(format, metadata) {\n _classCallCheck(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\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type =\n/*#__PURE__*/\nfunction () {\n function Type(type, metadata) {\n _classCallCheck(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\nfunction 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\nexport 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\nvar 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\nvar type_of = function type_of(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\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\nexport 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}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries[country] !== undefined;\n}\n\nfunction 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//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants'; // The RFC 3966 format for extensions.\n\nvar 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\nvar 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\nexport default 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}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants';\nimport createExtensionPattern from './extension/createExtensionPattern'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar 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\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar 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\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar 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\nexport default 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}\n//# sourceMappingURL=extractExtension.js.map","// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '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};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(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 var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","import { parseDigit } from './helpers/parseDigits';\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\nexport default 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\nexport 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//# sourceMappingURL=parseIncompletePhoneNumber.js.map","/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default 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//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays';\nexport default 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\nexport 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//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata';\nimport checkNumberLength from './helpers/checkNumberLength';\nexport default 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}\nexport 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//# sourceMappingURL=isPossibleNumber_.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport 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\nexport 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//# sourceMappingURL=RFC3966.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default 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//# sourceMappingURL=matchesEntirely.js.map","import Metadata from '../metadata';\nimport matchesEntirely from './matchesEntirely';\nvar 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\nexport default 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}\nexport 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//# sourceMappingURL=getNumberType.js.map","import Metadata from './metadata';\nimport matchesEntirely from './helpers/matchesEntirely';\nimport getNumberType from './helpers/getNumberType';\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\nexport default 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//# sourceMappingURL=validate_.js.map","import { VALID_PUNCTUATION } from '../constants'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``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\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _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//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata';\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\nvar 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\nexport default 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//# sourceMappingURL=getIddPrefix.js.map","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat';\nimport Metadata, { getCountryCallingCode } from './metadata';\nimport getIddPrefix from './helpers/getIddPrefix';\nimport { formatRFC3966 } from './helpers/RFC3966';\nvar 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};\nexport default 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\nfunction 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\nfunction 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;\n\n // Validate leading digits\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\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction 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//# sourceMappingURL=format_.js.map","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport Metadata from './metadata';\nimport isPossibleNumber from './isPossibleNumber_';\nimport isValidNumber from './validate_';\nimport isValidNumberForRegion from './isValidNumberForRegion_';\nimport getNumberType from './helpers/getNumberType';\nimport formatNumber from './format_';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber =\n/*#__PURE__*/\nfunction () {\n function PhoneNumber(countryCallingCode, nationalNumber, metadata) {\n _classCallCheck(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 } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (_metadata.isNonGeographicCallingCode(countryCallingCode)) {\n this.country = '001';\n }\n }\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(PhoneNumber, [{\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(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({}, 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\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata';\nimport { VALID_DIGITS } from '../constants';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default 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//# sourceMappingURL=stripIddPrefix.js.map","/**\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 */\nexport default 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//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber';\nimport matchesEntirely from './matchesEntirely';\nimport checkNumberLength from './checkNumberLength';\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\nexport default 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\nfunction 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//# sourceMappingURL=extractNationalNumber.js.map","import Metadata from '../metadata';\nimport matchesEntirely from './matchesEntirely';\nimport extractNationalNumber from './extractNationalNumber';\nimport checkNumberLength from './checkNumberLength';\nimport getCountryCallingCode from '../getCountryCallingCode';\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\nexport default 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//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","import stripIddPrefix from './stripIddPrefix';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';\nimport Metadata from '../metadata';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants';\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\nexport default 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//# sourceMappingURL=extractCountryCallingCode.js.map","import Metadata from '../metadata';\nimport getNumberType from './getNumberType';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n } // Is always non-empty, because `callingCode` is always valid\n\n\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\nfunction 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}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants';\nimport ParseError from './ParseError';\nimport Metadata from './metadata';\nimport isViablePhoneNumber from './helpers/isViablePhoneNumber';\nimport extractExtension from './helpers/extension/extractExtension';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber';\nimport getCountryCallingCode from './getCountryCallingCode';\nimport { isPossibleNumber } from './isPossibleNumber_';\nimport { parseRFC3966 } from './helpers/RFC3966';\nimport PhoneNumber from './PhoneNumber';\nimport matchesEntirely from './helpers/matchesEntirely';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';\nimport extractNationalNumber from './helpers/extractNationalNumber';\nimport stripIddPrefix from './helpers/stripIddPrefix';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar 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\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // `options`:\n// {\n// country:\n// {\n// restrict - (a two-letter country code)\n// the phone number must be in this country\n//\n// default - (a two-letter country code)\n// default country to use for phone number parsing and validation\n// (if no country code could be derived from the phone number)\n// }\n// }\n//\n// Returns `{ country, number }`\n//\n// Example use cases:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\nexport default 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),\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} 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\nexport function extractFormattedPhoneNumber(text, 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 } // 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 * @return {object} `{ ?number, ?ext }`.\r\n */\n\nfunction parseInput(text, v2) {\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, 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\nfunction 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\nfunction 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 } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\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') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } 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//# sourceMappingURL=parse_.js.map","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parseNumber from './parse_';\nexport default function parsePhoneNumber(text, options, metadata) {\n return parseNumber(text, _objectSpread({}, options, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport parsePhoneNumber_ from './parsePhoneNumber_';\nexport default function parsePhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumber_(text, options, metadata);\n}\nexport function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_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({\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\nvar isObject = function isObject(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=parsePhoneNumber.js.map","import { withMetadata } from '../metadata'\r\nimport { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index'\r\n\r\nexport function parsePhoneNumberWithError() {\r\n\treturn withMetadata(_parsePhoneNumberWithError, arguments)\r\n}\r\n","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumber from './parsePhoneNumber_';\nimport ParseError from './ParseError';\nimport { isSupportedCountry } from './metadata';\nexport default function parsePhoneNumberFromString(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread({}, options, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumber(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumberFromString_.js.map","import { normalizeArguments } from './parsePhoneNumber';\nimport parsePhoneNumberFromString_ from './parsePhoneNumberFromString_';\nexport default function parsePhoneNumberFromString() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumberFromString_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumberFromString.js.map","import { withMetadata } from '../metadata'\r\nimport { parsePhoneNumberFromString as _parsePhoneNumberFromString } from '../../core/index'\r\n\r\nexport function parsePhoneNumberFromString() {\r\n\treturn withMetadata(_parsePhoneNumberFromString, arguments)\r\n}","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// https://medium.com/dsinjs/implementing-lru-cache-in-javascript-94ba6755cda9\nvar Node = function Node(key, value) {\n var next = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var prev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n _classCallCheck(this, Node);\n\n this.key = key;\n this.value = value;\n this.next = next;\n this.prev = prev;\n};\n\nvar LRUCache =\n/*#__PURE__*/\nfunction () {\n //set default limit of 10 if limit is not passed.\n function LRUCache() {\n var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\n _classCallCheck(this, LRUCache);\n\n this.size = 0;\n this.limit = limit;\n this.head = null;\n this.tail = null;\n this.cache = {};\n } // Write Node to head of LinkedList\n // update cache with Node key and Node reference\n\n\n _createClass(LRUCache, [{\n key: \"put\",\n value: function put(key, value) {\n this.ensureLimit();\n\n if (!this.head) {\n this.head = this.tail = new Node(key, value);\n } else {\n var node = new Node(key, value, this.head);\n this.head.prev = node;\n this.head = node;\n } //Update the cache map\n\n\n this.cache[key] = this.head;\n this.size++;\n } // Read from cache map and make that node as new Head of LinkedList\n\n }, {\n key: \"get\",\n value: function get(key) {\n if (this.cache[key]) {\n var value = this.cache[key].value; // node removed from it's position and cache\n\n this.remove(key); // write node again to the head of LinkedList to make it most recently used\n\n this.put(key, value);\n return value;\n }\n\n console.log(\"Item not available in cache for key \".concat(key));\n }\n }, {\n key: \"ensureLimit\",\n value: function ensureLimit() {\n if (this.size === this.limit) {\n this.remove(this.tail.key);\n }\n }\n }, {\n key: \"remove\",\n value: function remove(key) {\n var node = this.cache[key];\n\n if (node.prev !== null) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n\n if (node.next !== null) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n\n delete this.cache[key];\n this.size--;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = null;\n this.tail = null;\n this.size = 0;\n this.cache = {};\n } // // Invokes the callback function with every node of the chain and the index of the node.\n // forEach(fn) {\n // let node = this.head;\n // let counter = 0;\n // while (node) {\n // fn(node, counter);\n // node = node.next;\n // counter++;\n // }\n // }\n // // To iterate over LRU with a 'for...of' loop\n // *[Symbol.iterator]() {\n // let node = this.head;\n // while (node) {\n // yield node;\n // node = node.next;\n // }\n // }\n\n }]);\n\n return LRUCache;\n}();\n\nexport { LRUCache as default };\n//# sourceMappingURL=LRUCache.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport LRUCache from './LRUCache'; // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\n// countries being used for the same doc with ~10 patterns for each country. Some pages will have\n// a lot more countries in use, but typically fewer numbers for each so expanding the cache for\n// that use-case won't have a lot of benefit.\n\nvar RegExpCache =\n/*#__PURE__*/\nfunction () {\n function RegExpCache(size) {\n _classCallCheck(this, RegExpCache);\n\n this.cache = new LRUCache(size);\n }\n\n _createClass(RegExpCache, [{\n key: \"getPatternForRegExp\",\n value: function getPatternForRegExp(pattern) {\n var regExp = this.cache.get(pattern);\n\n if (!regExp) {\n regExp = new RegExp('^' + pattern);\n this.cache.put(pattern, regExp);\n }\n\n return regExp;\n }\n }]);\n\n return RegExpCache;\n}();\n\nexport { RegExpCache as default };\n//# sourceMappingURL=RegExpCache.js.map","/** Returns a regular expression quantifier with an upper and lower limit. */\nexport function limit(lower, upper) {\n if (lower < 0 || upper <= 0 || upper < lower) {\n throw new TypeError();\n }\n\n return \"{\".concat(lower, \",\").concat(upper, \"}\");\n}\n/**\r\n * Trims away any characters after the first match of {@code pattern} in {@code candidate},\r\n * returning the trimmed version.\r\n */\n\nexport function trimAfterFirstMatch(regexp, string) {\n var index = string.search(regexp);\n\n if (index >= 0) {\n return string.slice(0, index);\n }\n\n return string;\n}\nexport function startsWith(string, substring) {\n return string.indexOf(substring) === 0;\n}\nexport function endsWith(string, substring) {\n return string.indexOf(substring, string.length - substring.length) === string.length - substring.length;\n}\n//# sourceMappingURL=util.js.map","// Javascript doesn't support UTF-8 regular expressions.\n// So mimicking them here.\n// Copy-pasted from `PhoneNumberMatcher.js`.\n\n/**\r\n * \"\\p{Z}\" is any kind of whitespace or invisible separator (\"Separator\").\r\n * http://www.regular-expressions.info/unicode.html\r\n * \"\\P{Z}\" is the reverse of \"\\p{Z}\".\r\n * \"\\p{N}\" is any kind of numeric character in any script (\"Number\").\r\n * \"\\p{Nd}\" is a digit zero through nine in any script except \"ideographic scripts\" (\"Decimal_Digit_Number\").\r\n * \"\\p{Sc}\" is a currency symbol (\"Currency_Symbol\").\r\n * \"\\p{L}\" is any kind of letter from any language (\"Letter\").\r\n * \"\\p{Mn}\" is \"non-spacing mark\".\r\n *\r\n * Javascript doesn't support Unicode Regular Expressions\r\n * so substituting it with this explicit set of characters.\r\n *\r\n * https://stackoverflow.com/questions/13210194/javascript-regex-equivalent-of-a-za-z-using-pl\r\n * https://github.com/danielberndt/babel-plugin-utf-8-regex/blob/master/src/transformer.js\r\n */\nvar _pZ = \" \\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\";\nexport var pZ = \"[\".concat(_pZ, \"]\");\nexport var PZ = \"[^\".concat(_pZ, \"]\");\nexport var _pN = \"0-9\\xB2\\xB3\\xB9\\xBC-\\xBE\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u09F4-\\u09F9\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0B72-\\u0B77\\u0BE6-\\u0BF2\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0CE6-\\u0CEF\\u0D66-\\u0D75\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F33\\u1040-\\u1049\\u1090-\\u1099\\u1369-\\u137C\\u16EE-\\u16F0\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19DA\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u2182\\u2185-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3007\\u3021-\\u3029\\u3038-\\u303A\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA620-\\uA629\\uA6E6-\\uA6EF\\uA830-\\uA835\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\"; // const pN = `[${_pN}]`\n\nvar _pNd = \"0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19\";\nexport var pNd = \"[\".concat(_pNd, \"]\");\nexport var _pL = \"A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\";\nvar pL = \"[\".concat(_pL, \"]\");\nvar pL_regexp = new RegExp(pL);\nvar _pSc = \"$\\xA2-\\xA5\\u058F\\u060B\\u09F2\\u09F3\\u09FB\\u0AF1\\u0BF9\\u0E3F\\u17DB\\u20A0-\\u20B9\\uA838\\uFDFC\\uFE69\\uFF04\\uFFE0\\uFFE1\\uFFE5\\uFFE6\";\nvar pSc = \"[\".concat(_pSc, \"]\");\nvar pSc_regexp = new RegExp(pSc);\nvar _pMn = \"\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u08FE\\u0900-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1DC0-\\u1DE6\\u1DFC-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE26\";\nvar pMn = \"[\".concat(_pMn, \"]\");\nvar pMn_regexp = new RegExp(pMn);\nvar _InBasic_Latin = \"\\0-\\x7F\";\nvar _InLatin_1_Supplement = \"\\x80-\\xFF\";\nvar _InLatin_Extended_A = \"\\u0100-\\u017F\";\nvar _InLatin_Extended_Additional = \"\\u1E00-\\u1EFF\";\nvar _InLatin_Extended_B = \"\\u0180-\\u024F\";\nvar _InCombining_Diacritical_Marks = \"\\u0300-\\u036F\";\nvar latinLetterRegexp = new RegExp('[' + _InBasic_Latin + _InLatin_1_Supplement + _InLatin_Extended_A + _InLatin_Extended_Additional + _InLatin_Extended_B + _InCombining_Diacritical_Marks + ']');\n/**\r\n * Helper method to determine if a character is a Latin-script letter or not.\r\n * For our purposes, combining marks should also return true since we assume\r\n * they have been added to a preceding Latin character.\r\n */\n\nexport function isLatinLetter(letter) {\n // Combining marks are a subset of non-spacing-mark.\n if (!pL_regexp.test(letter) && !pMn_regexp.test(letter)) {\n return false;\n }\n\n return latinLetterRegexp.test(letter);\n}\nexport function isInvalidPunctuationSymbol(character) {\n return character === '%' || pSc_regexp.test(character);\n}\n//# sourceMappingURL=utf-8.js.map","import isValidNumber from '../validate_';\nimport parseDigits from '../helpers/parseDigits';\nimport { startsWith, endsWith } from './util';\n/**\r\n * Leniency when finding potential phone numbers in text segments\r\n * The levels here are ordered in increasing strictness.\r\n */\n\nexport default {\n /**\r\n * Phone numbers accepted are \"possible\", but not necessarily \"valid\".\r\n */\n POSSIBLE: function POSSIBLE(number, candidate, metadata) {\n return true;\n },\n\n /**\r\n * Phone numbers accepted are \"possible\" and \"valid\".\r\n * Numbers written in national format must have their national-prefix\r\n * present if it is usually written for a number of this type.\r\n */\n VALID: function VALID(number, candidate, metadata) {\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidate.toString(), metadata)) {\n return false;\n } // Skipped for simplicity.\n // return isNationalPrefixPresentIfRequired(number, metadata)\n\n\n return true;\n },\n\n /**\r\n * Phone numbers accepted are \"valid\" and\r\n * are grouped in a possible way for this locale. For example, a US number written as\r\n * \"65 02 53 00 00\" and \"650253 0000\" are not accepted at this leniency level, whereas\r\n * \"650 253 0000\", \"650 2530000\" or \"6502530000\" are.\r\n * Numbers with more than one '/' symbol in the national significant number\r\n * are also dropped at this level.\r\n *\r\n * Warning: This level might result in lower coverage especially for regions outside of\r\n * country code \"+1\". If you are not sure about which level to use,\r\n * email the discussion group libphonenumber-discuss@googlegroups.com.\r\n */\n STRICT_GROUPING: function STRICT_GROUPING(number, candidate, metadata, regExpCache) {\n var candidateString = candidate.toString();\n\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidateString, metadata) || containsMoreThanOneSlashInNationalNumber(number, candidateString) || !isNationalPrefixPresentIfRequired(number, metadata)) {\n return false;\n }\n\n return checkNumberGroupingIsValid(number, candidate, metadata, allNumberGroupsRemainGrouped, regExpCache);\n },\n\n /**\r\n * Phone numbers accepted are {@linkplain PhoneNumberUtil#isValidNumber(PhoneNumber) valid} and\r\n * are grouped in the same way that we would have formatted it, or as a single block. For\r\n * example, a US number written as \"650 2530000\" is not accepted at this leniency level, whereas\r\n * \"650 253 0000\" or \"6502530000\" are.\r\n * Numbers with more than one '/' symbol are also dropped at this level.\r\n *

\r\n * Warning: This level might result in lower coverage especially for regions outside of country\r\n * code \"+1\". If you are not sure about which level to use, email the discussion group\r\n * libphonenumber-discuss@googlegroups.com.\r\n */\n EXACT_GROUPING: function EXACT_GROUPING(number, candidate, metadata, regExpCache) {\n var candidateString = candidate.toString();\n\n if (!isValidNumber(number, undefined, metadata) || !containsOnlyValidXChars(number, candidateString, metadata) || containsMoreThanOneSlashInNationalNumber(number, candidateString) || !isNationalPrefixPresentIfRequired(number, metadata)) {\n return false;\n }\n\n return checkNumberGroupingIsValid(number, candidate, metadata, allNumberGroupsAreExactlyPresent, regExpCache);\n }\n};\n\nfunction containsOnlyValidXChars(number, candidate, metadata) {\n // The characters 'x' and 'X' can be (1) a carrier code, in which case they always precede the\n // national significant number or (2) an extension sign, in which case they always precede the\n // extension number. We assume a carrier code is more than 1 digit, so the first case has to\n // have more than 1 consecutive 'x' or 'X', whereas the second case can only have exactly 1 'x'\n // or 'X'. We ignore the character if it appears as the last character of the string.\n for (var index = 0; index < candidate.length - 1; index++) {\n var charAtIndex = candidate.charAt(index);\n\n if (charAtIndex === 'x' || charAtIndex === 'X') {\n var charAtNextIndex = candidate.charAt(index + 1);\n\n if (charAtNextIndex === 'x' || charAtNextIndex === 'X') {\n // This is the carrier code case, in which the 'X's always precede the national\n // significant number.\n index++;\n\n if (util.isNumberMatch(number, candidate.substring(index)) != MatchType.NSN_MATCH) {\n return false;\n } // This is the extension sign case, in which the 'x' or 'X' should always precede the\n // extension number.\n\n } else if (parseDigits(candidate.substring(index)) !== number.ext) {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction isNationalPrefixPresentIfRequired(number, _metadata) {\n // First, check how we deduced the country code. If it was written in international format, then\n // the national prefix is not required.\n if (number.getCountryCodeSource() != 'FROM_DEFAULT_COUNTRY') {\n return true;\n }\n\n var phoneNumberRegion = util.getRegionCodeForCountryCode(number.getCountryCode());\n var metadata = util.getMetadataForRegion(phoneNumberRegion);\n\n if (metadata == null) {\n return true;\n } // Check if a national prefix should be present when formatting this number.\n\n\n var nationalNumber = util.getNationalSignificantNumber(number);\n var formatRule = util.chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber); // To do this, we check that a national prefix formatting rule was present\n // and that it wasn't just the first-group symbol ($1) with punctuation.\n\n if (formatRule && formatRule.getNationalPrefixFormattingRule().length > 0) {\n if (formatRule.getNationalPrefixOptionalWhenFormatting()) {\n // The national-prefix is optional in these cases, so we don't need to check if it was\n // present.\n return true;\n }\n\n if (PhoneNumberUtil.formattingRuleHasFirstGroupOnly(formatRule.getNationalPrefixFormattingRule())) {\n // National Prefix not needed for this number.\n return true;\n } // Normalize the remainder.\n\n\n var rawInputCopy = PhoneNumberUtil.normalizeDigitsOnly(number.getRawInput()); // Check if we found a national prefix and/or carrier code at the start of the raw input, and\n // return the result.\n\n return util.maybeStripNationalPrefixAndCarrierCode(rawInputCopy, metadata, null);\n }\n\n return true;\n}\n\nexport function containsMoreThanOneSlashInNationalNumber(number, candidate) {\n var firstSlashInBodyIndex = candidate.indexOf('/');\n\n if (firstSlashInBodyIndex < 0) {\n // No slashes, this is okay.\n return false;\n } // Now look for a second one.\n\n\n var secondSlashInBodyIndex = candidate.indexOf('/', firstSlashInBodyIndex + 1);\n\n if (secondSlashInBodyIndex < 0) {\n // Only one slash, this is okay.\n return false;\n } // If the first slash is after the country calling code, this is permitted.\n\n\n var candidateHasCountryCode = number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN || number.getCountryCodeSource() === CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN;\n\n if (candidateHasCountryCode && PhoneNumberUtil.normalizeDigitsOnly(candidate.substring(0, firstSlashInBodyIndex)) === String(number.getCountryCode())) {\n // Any more slashes and this is illegal.\n return candidate.slice(secondSlashInBodyIndex + 1).indexOf('/') >= 0;\n }\n\n return true;\n}\n\nfunction checkNumberGroupingIsValid(number, candidate, metadata, checkGroups, regExpCache) {\n var normalizedCandidate = normalizeDigits(candidate, true\n /* keep non-digits */\n );\n var formattedNumberGroups = getNationalNumberGroups(metadata, number, null);\n\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\n return true;\n } // If this didn't pass, see if there are any alternate formats that match, and try them instead.\n\n\n var alternateFormats = MetadataManager.getAlternateFormatsForCountry(number.getCountryCode());\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n\n if (alternateFormats) {\n for (var _iterator = alternateFormats.numberFormats(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var alternateFormat = _ref;\n\n if (alternateFormat.leadingDigitsPatterns().length > 0) {\n // There is only one leading digits pattern for alternate formats.\n var leadingDigitsRegExp = regExpCache.getPatternForRegExp('^' + alternateFormat.leadingDigitsPatterns()[0]);\n\n if (!leadingDigitsRegExp.test(nationalSignificantNumber)) {\n // Leading digits don't match; try another one.\n continue;\n }\n }\n\n formattedNumberGroups = getNationalNumberGroups(metadata, number, alternateFormat);\n\n if (checkGroups(metadata, number, normalizedCandidate, formattedNumberGroups)) {\n return true;\n }\n }\n }\n\n return false;\n}\n/**\r\n * Helper method to get the national-number part of a number, formatted without any national\r\n * prefix, and return it as a set of digit blocks that would be formatted together following\r\n * standard formatting rules.\r\n */\n\n\nfunction getNationalNumberGroups(metadata, number, formattingPattern) {\n if (formattingPattern) {\n // We format the NSN only, and split that according to the separator.\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n return util.formatNsnUsingPattern(nationalSignificantNumber, formattingPattern, 'RFC3966', metadata).split('-');\n } // This will be in the format +CC-DG1-DG2-DGX;ext=EXT where DG1..DGX represents groups of digits.\n\n\n var rfc3966Format = formatNumber(number, 'RFC3966', metadata); // We remove the extension part from the formatted string before splitting it into different\n // groups.\n\n var endIndex = rfc3966Format.indexOf(';');\n\n if (endIndex < 0) {\n endIndex = rfc3966Format.length;\n } // The country-code will have a '-' following it.\n\n\n var startIndex = rfc3966Format.indexOf('-') + 1;\n return rfc3966Format.slice(startIndex, endIndex).split('-');\n}\n\nfunction allNumberGroupsAreExactlyPresent(metadata, number, normalizedCandidate, formattedNumberGroups) {\n var candidateGroups = normalizedCandidate.split(NON_DIGITS_PATTERN); // Set this to the last group, skipping it if the number has an extension.\n\n var candidateNumberGroupIndex = number.hasExtension() ? candidateGroups.length - 2 : candidateGroups.length - 1; // First we check if the national significant number is formatted as a block.\n // We use contains and not equals, since the national significant number may be present with\n // a prefix such as a national number prefix, or the country code itself.\n\n if (candidateGroups.length == 1 || candidateGroups[candidateNumberGroupIndex].contains(util.getNationalSignificantNumber(number))) {\n return true;\n } // Starting from the end, go through in reverse, excluding the first group, and check the\n // candidate and number groups are the same.\n\n\n var formattedNumberGroupIndex = formattedNumberGroups.length - 1;\n\n while (formattedNumberGroupIndex > 0 && candidateNumberGroupIndex >= 0) {\n if (candidateGroups[candidateNumberGroupIndex] !== formattedNumberGroups[formattedNumberGroupIndex]) {\n return false;\n }\n\n formattedNumberGroupIndex--;\n candidateNumberGroupIndex--;\n } // Now check the first group. There may be a national prefix at the start, so we only check\n // that the candidate group ends with the formatted number group.\n\n\n return candidateNumberGroupIndex >= 0 && endsWith(candidateGroups[candidateNumberGroupIndex], formattedNumberGroups[0]);\n}\n\nfunction allNumberGroupsRemainGrouped(metadata, number, normalizedCandidate, formattedNumberGroups) {\n var fromIndex = 0;\n\n if (number.getCountryCodeSource() !== CountryCodeSource.FROM_DEFAULT_COUNTRY) {\n // First skip the country code if the normalized candidate contained it.\n var countryCode = String(number.getCountryCode());\n fromIndex = normalizedCandidate.indexOf(countryCode) + countryCode.length();\n } // Check each group of consecutive digits are not broken into separate groupings in the\n // {@code normalizedCandidate} string.\n\n\n for (var i = 0; i < formattedNumberGroups.length; i++) {\n // Fails if the substring of {@code normalizedCandidate} starting from {@code fromIndex}\n // doesn't contain the consecutive digits in formattedNumberGroups[i].\n fromIndex = normalizedCandidate.indexOf(formattedNumberGroups[i], fromIndex);\n\n if (fromIndex < 0) {\n return false;\n } // Moves {@code fromIndex} forward.\n\n\n fromIndex += formattedNumberGroups[i].length();\n\n if (i == 0 && fromIndex < normalizedCandidate.length()) {\n // We are at the position right after the NDC. We get the region used for formatting\n // information based on the country code in the phone number, rather than the number itself,\n // as we do not need to distinguish between different countries with the same country\n // calling code and this is faster.\n var region = util.getRegionCodeForCountryCode(number.getCountryCode());\n\n if (util.getNddPrefixForRegion(region, true) != null && Character.isDigit(normalizedCandidate.charAt(fromIndex))) {\n // This means there is no formatting symbol after the NDC. In this case, we only\n // accept the number if there is no formatting symbol at all in the number, except\n // for extensions. This is only important for countries with national prefixes.\n var nationalSignificantNumber = util.getNationalSignificantNumber(number);\n return startsWith(normalizedCandidate.slice(fromIndex - formattedNumberGroups[i].length), nationalSignificantNumber);\n }\n }\n } // The check here makes sure that we haven't mistakenly already used the extension to\n // match the last group of the subscriber number. Note the extension cannot have\n // formatting in-between digits.\n\n\n return normalizedCandidate.slice(fromIndex).contains(number.getExtension());\n}\n//# sourceMappingURL=Leniency.js.map","import { trimAfterFirstMatch } from './util'; // Regular expression of characters typically used to start a second phone number for the purposes\n// of parsing. This allows us to strip off parts of the number that are actually the start of\n// another number, such as for: (530) 583-6985 x302/x2303 -> the second extension here makes this\n// actually two phone numbers, (530) 583-6985 x302 and (530) 583-6985 x2303. We remove the second\n// extension so that the first number is parsed correctly.\n//\n// Matches a slash (\\ or /) followed by a space followed by an `x`.\n//\n\nvar SECOND_NUMBER_START_PATTERN = /[\\\\/] *x/;\nexport default function parsePreCandidate(candidate) {\n // Check for extra numbers at the end.\n // TODO: This is the place to start when trying to support extraction of multiple phone number\n // from split notations (+41 79 123 45 67 / 68).\n return trimAfterFirstMatch(SECOND_NUMBER_START_PATTERN, candidate);\n}\n//# sourceMappingURL=parsePreCandidate.js.map","// Matches strings that look like dates using \"/\" as a separator.\n// Examples: 3/10/2011, 31/10/96 or 08/31/95.\nvar SLASH_SEPARATED_DATES = /(?:(?:[0-3]?\\d\\/[01]?\\d)|(?:[01]?\\d\\/[0-3]?\\d))\\/(?:[12]\\d)?\\d{2}/; // Matches timestamps.\n// Examples: \"2012-01-02 08:00\".\n// Note that the reg-ex does not include the\n// trailing \":\\d\\d\" -- that is covered by TIME_STAMPS_SUFFIX.\n\nvar TIME_STAMPS = /[12]\\d{3}[-/]?[01]\\d[-/]?[0-3]\\d +[0-2]\\d$/;\nvar TIME_STAMPS_SUFFIX_LEADING = /^:[0-5]\\d/;\nexport default function isValidPreCandidate(candidate, offset, text) {\n // Skip a match that is more likely to be a date.\n if (SLASH_SEPARATED_DATES.test(candidate)) {\n return false;\n } // Skip potential time-stamps.\n\n\n if (TIME_STAMPS.test(candidate)) {\n var followingText = text.slice(offset + candidate.length);\n\n if (TIME_STAMPS_SUFFIX_LEADING.test(followingText)) {\n return false;\n }\n }\n\n return true;\n}\n//# sourceMappingURL=isValidPreCandidate.js.map","// Copy-pasted from `PhoneNumberMatcher.js`.\nimport { PLUS_CHARS } from '../constants';\nimport { limit } from './util';\nimport { isLatinLetter, isInvalidPunctuationSymbol } from './utf-8';\nvar OPENING_PARENS = \"(\\\\[\\uFF08\\uFF3B\";\nvar CLOSING_PARENS = \")\\\\]\\uFF09\\uFF3D\";\nvar NON_PARENS = \"[^\".concat(OPENING_PARENS).concat(CLOSING_PARENS, \"]\");\nexport var LEAD_CLASS = \"[\".concat(OPENING_PARENS).concat(PLUS_CHARS, \"]\"); // Punctuation that may be at the start of a phone number - brackets and plus signs.\n\nvar LEAD_CLASS_LEADING = new RegExp('^' + LEAD_CLASS); // Limit on the number of pairs of brackets in a phone number.\n\nvar BRACKET_PAIR_LIMIT = limit(0, 3);\n/**\r\n * Pattern to check that brackets match. Opening brackets should be closed within a phone number.\r\n * This also checks that there is something inside the brackets. Having no brackets at all is also\r\n * fine.\r\n *\r\n * An opening bracket at the beginning may not be closed, but subsequent ones should be. It's\r\n * also possible that the leading bracket was dropped, so we shouldn't be surprised if we see a\r\n * closing bracket first. We limit the sets of brackets in a phone number to four.\r\n */\n\nvar MATCHING_BRACKETS_ENTIRE = new RegExp('^' + \"(?:[\" + OPENING_PARENS + \"])?\" + \"(?:\" + NON_PARENS + \"+\" + \"[\" + CLOSING_PARENS + \"])?\" + NON_PARENS + \"+\" + \"(?:[\" + OPENING_PARENS + \"]\" + NON_PARENS + \"+[\" + CLOSING_PARENS + \"])\" + BRACKET_PAIR_LIMIT + NON_PARENS + \"*\" + '$');\n/**\r\n * Matches strings that look like publication pages. Example:\r\n *

Computing Complete Answers to Queries in the Presence of Limited Access Patterns.\r\n * Chen Li. VLDB J. 12(3): 211-227 (2003).
\r\n *\r\n * The string \"211-227 (2003)\" is not a telephone number.\r\n */\n\nvar PUB_PAGES = /\\d{1,5}-+\\d{1,5}\\s{0,4}\\(\\d{1,4}/;\nexport default function isValidCandidate(candidate, offset, text, leniency) {\n // Check the candidate doesn't contain any formatting\n // which would indicate that it really isn't a phone number.\n if (!MATCHING_BRACKETS_ENTIRE.test(candidate) || PUB_PAGES.test(candidate)) {\n return;\n } // If leniency is set to VALID or stricter, we also want to skip numbers that are surrounded\n // by Latin alphabetic characters, to skip cases like abc8005001234 or 8005001234def.\n\n\n if (leniency !== 'POSSIBLE') {\n // If the candidate is not at the start of the text,\n // and does not start with phone-number punctuation,\n // check the previous character.\n if (offset > 0 && !LEAD_CLASS_LEADING.test(candidate)) {\n var previousChar = text[offset - 1]; // We return null if it is a latin letter or an invalid punctuation symbol.\n\n if (isInvalidPunctuationSymbol(previousChar) || isLatinLetter(previousChar)) {\n return false;\n }\n }\n\n var lastCharIndex = offset + candidate.length;\n\n if (lastCharIndex < text.length) {\n var nextChar = text[lastCharIndex];\n\n if (isInvalidPunctuationSymbol(nextChar) || isLatinLetter(nextChar)) {\n return false;\n }\n }\n }\n\n return true;\n}\n//# sourceMappingURL=isValidCandidate.js.map","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\r\n * A port of Google's `PhoneNumberMatcher.java`.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java\r\n * Date: 08.03.2018.\r\n */\nimport PhoneNumber from './PhoneNumber';\nimport { MAX_LENGTH_FOR_NSN, MAX_LENGTH_COUNTRY_CODE, VALID_PUNCTUATION } from './constants';\nimport createExtensionPattern from './helpers/extension/createExtensionPattern';\nimport RegExpCache from './findNumbers/RegExpCache';\nimport { limit, trimAfterFirstMatch } from './findNumbers/util';\nimport { _pL, _pN, pZ, PZ, pNd } from './findNumbers/utf-8';\nimport Leniency from './findNumbers/Leniency';\nimport parsePreCandidate from './findNumbers/parsePreCandidate';\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate';\nimport isValidCandidate, { LEAD_CLASS } from './findNumbers/isValidCandidate';\nimport { isSupportedCountry } from './metadata';\nimport parseNumber from './parse_';\nvar EXTN_PATTERNS_FOR_MATCHING = createExtensionPattern('matching');\n/**\r\n * Patterns used to extract phone numbers from a larger phone-number-like pattern. These are\r\n * ordered according to specificity. For example, white-space is last since that is frequently\r\n * used in numbers, not just to separate two numbers. We have separate patterns since we don't\r\n * want to break up the phone-number-like text on more than one different kind of symbol at one\r\n * time, although symbols of the same type (e.g. space) can be safely grouped together.\r\n *\r\n * Note that if there is a match, we will always check any text found up to the first match as\r\n * well.\r\n */\n\nvar INNER_MATCHES = [// Breaks on the slash - e.g. \"651-234-2345/332-445-1234\"\n'\\\\/+(.*)/', // Note that the bracket here is inside the capturing group, since we consider it part of the\n// phone number. Will match a pattern like \"(650) 223 3345 (754) 223 3321\".\n'(\\\\([^(]*)', // Breaks on a hyphen - e.g. \"12345 - 332-445-1234 is my number.\"\n// We require a space on either side of the hyphen for it to be considered a separator.\n\"(?:\".concat(pZ, \"-|-\").concat(pZ, \")\").concat(pZ, \"*(.+)\"), // Various types of wide hyphens. Note we have decided not to enforce a space here, since it's\n// possible that it's supposed to be used to break two numbers without spaces, and we haven't\n// seen many instances of it used within a number.\n\"[\\u2012-\\u2015\\uFF0D]\".concat(pZ, \"*(.+)\"), // Breaks on a full stop - e.g. \"12345. 332-445-1234 is my number.\"\n\"\\\\.+\".concat(pZ, \"*([^.]+)\"), // Breaks on space - e.g. \"3324451234 8002341234\"\n\"\".concat(pZ, \"+(\").concat(PZ, \"+)\")]; // Limit on the number of leading (plus) characters.\n\nvar leadLimit = limit(0, 2); // Limit on the number of consecutive punctuation characters.\n\nvar punctuationLimit = limit(0, 4);\n/* The maximum number of digits allowed in a digit-separated block. As we allow all digits in a\r\n * single block, set high enough to accommodate the entire national number and the international\r\n * country code. */\n\nvar digitBlockLimit = MAX_LENGTH_FOR_NSN + MAX_LENGTH_COUNTRY_CODE; // Limit on the number of blocks separated by punctuation.\n// Uses digitBlockLimit since some formats use spaces to separate each digit.\n\nvar blockLimit = limit(0, digitBlockLimit);\n/* A punctuation sequence allowing white space. */\n\nvar punctuation = \"[\".concat(VALID_PUNCTUATION, \"]\") + punctuationLimit; // A digits block without punctuation.\n\nvar digitSequence = pNd + limit(1, digitBlockLimit);\n/**\r\n * Phone number pattern allowing optional punctuation.\r\n * The phone number pattern used by `find()`, similar to\r\n * VALID_PHONE_NUMBER, but with the following differences:\r\n *
    \r\n *
  • All captures are limited in order to place an upper bound to the text matched by the\r\n * pattern.\r\n *
      \r\n *
    • Leading punctuation / plus signs are limited.\r\n *
    • Consecutive occurrences of punctuation are limited.\r\n *
    • Number of digits is limited.\r\n *
    \r\n *
  • No whitespace is allowed at the start or end.\r\n *
  • No alpha digits (vanity numbers such as 1-800-SIX-FLAGS) are currently supported.\r\n *
\r\n */\n\nvar PATTERN = '(?:' + LEAD_CLASS + punctuation + ')' + leadLimit + digitSequence + '(?:' + punctuation + digitSequence + ')' + blockLimit + '(?:' + EXTN_PATTERNS_FOR_MATCHING + ')?'; // Regular expression of trailing characters that we want to remove.\n// We remove all characters that are not alpha or numerical characters.\n// The hash character is retained here, as it may signify\n// the previous block was an extension.\n//\n// // Don't know what does '&&' mean here.\n// const UNWANTED_END_CHAR_PATTERN = new RegExp(`[[\\\\P{N}&&\\\\P{L}]&&[^#]]+$`)\n//\n\nvar UNWANTED_END_CHAR_PATTERN = new RegExp(\"[^\".concat(_pN).concat(_pL, \"#]+$\"));\nvar NON_DIGITS_PATTERN = /(\\D+)/;\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n/**\r\n * A stateful class that finds and extracts telephone numbers from {@linkplain CharSequence text}.\r\n * Instances can be created using the {@linkplain PhoneNumberUtil#findNumbers factory methods} in\r\n * {@link PhoneNumberUtil}.\r\n *\r\n *

Vanity numbers (phone numbers using alphabetic digits such as 1-800-SIX-FLAGS are\r\n * not found.\r\n *\r\n *

This class is not thread-safe.\r\n */\n\nvar PhoneNumberMatcher =\n/*#__PURE__*/\nfunction () {\n /** The iteration tristate. */\n\n /** The next index to start searching at. Undefined in {@link State#DONE}. */\n // A cache for frequently used country-specific regular expressions. Set to 32 to cover ~2-3\n // countries being used for the same doc with ~10 patterns for each country. Some pages will have\n // a lot more countries in use, but typically fewer numbers for each so expanding the cache for\n // that use-case won't have a lot of benefit.\n\n /**\r\n * Creates a new instance. See the factory methods in {@link PhoneNumberUtil} on how to obtain a\r\n * new instance.\r\n *\r\n * @param util the phone number util to use\r\n * @param text the character sequence that we will search, null for no text\r\n * @param country the country to assume for phone numbers not written in international format\r\n * (with a leading plus, or with the international dialing prefix of the specified region).\r\n * May be null or \"ZZ\" if only numbers with a leading plus should be\r\n * considered.\r\n * @param leniency the leniency to use when evaluating candidate phone numbers\r\n * @param maxTries the maximum number of invalid numbers to try before giving up on the text.\r\n * This is to cover degenerate cases where the text has a lot of false positives in it. Must\r\n * be {@code >= 0}.\r\n */\n function PhoneNumberMatcher() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var metadata = arguments.length > 2 ? arguments[2] : undefined;\n\n _classCallCheck(this, PhoneNumberMatcher);\n\n _defineProperty(this, \"state\", 'NOT_READY');\n\n _defineProperty(this, \"searchIndex\", 0);\n\n _defineProperty(this, \"regExpCache\", new RegExpCache(32));\n\n options = _objectSpread({}, options, {\n defaultCallingCode: options.defaultCallingCode,\n defaultCountry: options.defaultCountry && isSupportedCountry(options.defaultCountry, metadata) ? options.defaultCountry : undefined,\n leniency: options.leniency || options.extended ? 'POSSIBLE' : 'VALID',\n maxTries: options.maxTries || MAX_SAFE_INTEGER\n });\n\n if (!options.leniency) {\n throw new TypeError('`Leniency` not supplied');\n }\n\n if (options.maxTries < 0) {\n throw new TypeError('`maxTries` not supplied');\n }\n\n this.text = text;\n this.options = options;\n this.metadata = metadata;\n /** The degree of validation requested. */\n\n this.leniency = Leniency[options.leniency];\n\n if (!this.leniency) {\n throw new TypeError(\"Unknown leniency: \".concat(options.leniency, \".\"));\n }\n /** The maximum number of retries after matching an invalid number. */\n\n\n this.maxTries = options.maxTries;\n this.PATTERN = new RegExp(PATTERN, 'ig');\n }\n /**\r\n * Attempts to find the next subsequence in the searched sequence on or after {@code searchIndex}\r\n * that represents a phone number. Returns the next match, null if none was found.\r\n *\r\n * @param index the search index to start searching at\r\n * @return the phone number match found, null if none can be found\r\n */\n\n\n _createClass(PhoneNumberMatcher, [{\n key: \"find\",\n value: function find() {\n // // Reset the regular expression.\n // this.PATTERN.lastIndex = index\n var matches;\n\n while (this.maxTries > 0 && (matches = this.PATTERN.exec(this.text)) !== null) {\n var candidate = matches[0];\n var offset = matches.index;\n candidate = parsePreCandidate(candidate);\n\n if (isValidPreCandidate(candidate, offset, this.text)) {\n var match = // Try to come up with a valid match given the entire candidate.\n this.parseAndVerify(candidate, offset, this.text) // If that failed, try to find an \"inner match\" -\n // there might be a phone number within this candidate.\n || this.extractInnerMatch(candidate, offset, this.text);\n\n if (match) {\n if (this.options.v2) {\n var phoneNumber = new PhoneNumber(match.country || match.countryCallingCode, match.phone, this.metadata);\n\n if (match.ext) {\n phoneNumber.ext = match.ext;\n }\n\n return {\n startsAt: match.startsAt,\n endsAt: match.endsAt,\n number: phoneNumber\n };\n }\n\n return match;\n }\n }\n\n this.maxTries--;\n }\n }\n /**\r\n * Attempts to extract a match from `substring`\r\n * if the substring itself does not qualify as a match.\r\n */\n\n }, {\n key: \"extractInnerMatch\",\n value: function extractInnerMatch(substring, offset, text) {\n for (var _i = 0, _INNER_MATCHES = INNER_MATCHES; _i < _INNER_MATCHES.length; _i++) {\n var innerMatchPattern = _INNER_MATCHES[_i];\n var isFirstMatch = true;\n var candidateMatch = void 0;\n var innerMatchRegExp = new RegExp(innerMatchPattern, 'g');\n\n while (this.maxTries > 0 && (candidateMatch = innerMatchRegExp.exec(substring)) !== null) {\n if (isFirstMatch) {\n // We should handle any group before this one too.\n var _candidate = trimAfterFirstMatch(UNWANTED_END_CHAR_PATTERN, substring.slice(0, candidateMatch.index));\n\n var _match = this.parseAndVerify(_candidate, offset, text);\n\n if (_match) {\n return _match;\n }\n\n this.maxTries--;\n isFirstMatch = false;\n }\n\n var candidate = trimAfterFirstMatch(UNWANTED_END_CHAR_PATTERN, candidateMatch[1]); // Java code does `groupMatcher.start(1)` here,\n // but there's no way in javascript to get a `candidate` start index,\n // therefore resort to using this kind of an approximation.\n // (`groupMatcher` is called `candidateInSubstringMatch` in this javascript port)\n // https://stackoverflow.com/questions/15934353/get-index-of-each-capture-in-a-javascript-regex\n\n var candidateIndexGuess = substring.indexOf(candidate, candidateMatch.index);\n var match = this.parseAndVerify(candidate, offset + candidateIndexGuess, text);\n\n if (match) {\n return match;\n }\n\n this.maxTries--;\n }\n }\n }\n /**\r\n * Parses a phone number from the `candidate` using `parseNumber` and\r\n * verifies it matches the requested `leniency`. If parsing and verification succeed,\r\n * a corresponding `PhoneNumberMatch` is returned, otherwise this method returns `null`.\r\n *\r\n * @param candidate the candidate match\r\n * @param offset the offset of {@code candidate} within {@link #text}\r\n * @return the parsed and validated phone number match, or null\r\n */\n\n }, {\n key: \"parseAndVerify\",\n value: function parseAndVerify(candidate, offset, text) {\n if (!isValidCandidate(candidate, offset, text, this.options.leniency)) {\n return;\n }\n\n var number = parseNumber(candidate, {\n extended: true,\n defaultCountry: this.options.defaultCountry,\n defaultCallingCode: this.options.defaultCallingCode\n }, this.metadata);\n\n if (!number.possible) {\n return;\n }\n\n if (this.leniency(number, candidate, this.metadata, this.regExpCache)) {\n // // We used parseAndKeepRawInput to create this number,\n // // but for now we don't return the extra values parsed.\n // // TODO: stop clearing all values here and switch all users over\n // // to using rawInput() rather than the rawString() of PhoneNumberMatch.\n // number.clearCountryCodeSource()\n // number.clearRawInput()\n // number.clearPreferredDomesticCarrierCode()\n var result = {\n startsAt: offset,\n endsAt: offset + candidate.length,\n phone: number.phone\n };\n\n if (number.country && number.country !== '001') {\n result.country = number.country;\n } else {\n result.countryCallingCode = number.countryCallingCode;\n }\n\n if (number.ext) {\n result.ext = number.ext;\n }\n\n return result;\n }\n }\n }, {\n key: \"hasNext\",\n value: function hasNext() {\n if (this.state === 'NOT_READY') {\n this.lastMatch = this.find(); // (this.searchIndex)\n\n if (this.lastMatch) {\n // this.searchIndex = this.lastMatch.endsAt\n this.state = 'READY';\n } else {\n this.state = 'DONE';\n }\n }\n\n return this.state === 'READY';\n }\n }, {\n key: \"next\",\n value: function next() {\n // Check the state and find the next match as a side-effect if necessary.\n if (!this.hasNext()) {\n throw new Error('No next element');\n } // Don't retain that memory any longer than necessary.\n\n\n var result = this.lastMatch;\n this.lastMatch = null;\n this.state = 'NOT_READY';\n return result;\n }\n }]);\n\n return PhoneNumberMatcher;\n}();\n\nexport { PhoneNumberMatcher as default };\n//# sourceMappingURL=PhoneNumberMatcher.js.map","import PhoneNumberMatcher from './PhoneNumberMatcher';\nexport default function findNumbers(text, options, metadata) {\n var matcher = new PhoneNumberMatcher(text, options, metadata);\n var results = [];\n\n while (matcher.hasNext()) {\n results.push(matcher.next());\n }\n\n return results;\n}\n//# sourceMappingURL=findNumbers_.js.map","import _findNumbers from './findNumbers_';\nimport { normalizeArguments } from './parsePhoneNumber';\nexport default function findNumbers() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _findNumbers(text, options, metadata);\n}\n//# sourceMappingURL=findNumbers.js.map","import { withMetadata } from '../metadata'\r\nimport { findNumbers as _findNumbers } from '../../core/index'\r\n\r\nexport function findNumbers() {\r\n\treturn withMetadata(_findNumbers, arguments)\r\n}","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { normalizeArguments } from './parsePhoneNumber';\nimport PhoneNumberMatcher from './PhoneNumberMatcher';\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\n\nexport default function searchNumbers() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n var matcher = new PhoneNumberMatcher(text, options, metadata);\n return _defineProperty({}, Symbol.iterator, function () {\n return {\n next: function next() {\n if (matcher.hasNext()) {\n return {\n done: false,\n value: matcher.next()\n };\n }\n\n return {\n done: true\n };\n }\n };\n });\n}\n//# sourceMappingURL=searchNumbers.js.map","import { withMetadata } from '../metadata'\r\nimport { searchNumbers as _searchNumbers } from '../../core/index'\r\n\r\nexport function searchNumbers() {\r\n\treturn withMetadata(_searchNumbers, arguments)\r\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport findNumbers from './findNumbers';\nexport default function findPhoneNumbersInText(text, defaultCountry, options, metadata) {\n var args = getArguments(defaultCountry, options, metadata);\n return findNumbers(text, args.options, args.metadata);\n}\nexport function getArguments(defaultCountry, options, metadata) {\n if (metadata) {\n if (defaultCountry) {\n options = _objectSpread({}, options, {\n defaultCountry: defaultCountry\n });\n }\n } else {\n if (options) {\n metadata = options;\n\n if (defaultCountry) {\n if (is_object(defaultCountry)) {\n options = defaultCountry;\n } else {\n options = {\n defaultCountry: defaultCountry\n };\n }\n } else {\n options = undefined;\n }\n } else {\n metadata = defaultCountry;\n options = undefined;\n }\n }\n\n return {\n options: _objectSpread({}, options, {\n v2: true\n }),\n 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\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=findPhoneNumbersInText.js.map","import { withMetadata } from '../metadata'\r\nimport { findPhoneNumbersInText as _findPhoneNumbersInText } from '../../core/index'\r\n\r\nexport function findPhoneNumbersInText() {\r\n\treturn withMetadata(_findPhoneNumbersInText, arguments)\r\n}","import searchNumbers from './searchNumbers';\nimport { getArguments } from './findPhoneNumbersInText';\nexport default function searchPhoneNumbersInText(text, defaultCountry, options, metadata) {\n var args = getArguments(defaultCountry, options, metadata);\n return searchNumbers(text, args.options, args.metadata);\n}\n//# sourceMappingURL=searchPhoneNumbersInText.js.map","import { withMetadata } from '../metadata'\r\nimport { searchPhoneNumbersInText as _searchPhoneNumbersInText } from '../../core/index'\r\n\r\nexport function searchPhoneNumbersInText() {\r\n\treturn withMetadata(_searchPhoneNumbersInText, arguments)\r\n}","import metadata from '../metadata'\r\nimport { PhoneNumberMatcher as _PhoneNumberMatcher } from '../../core/index'\r\n\r\nexport function PhoneNumberMatcher(text, options) {\r\n\treturn _PhoneNumberMatcher.call(this, text, options, metadata)\r\n}\r\nPhoneNumberMatcher.prototype = Object.create(_PhoneNumberMatcher.prototype, {})\r\nPhoneNumberMatcher.prototype.constructor = PhoneNumberMatcher\r\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar AsYouTypeState =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeState(_ref) {\n var _this = this;\n\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n _defineProperty(this, \"update\", function (properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n _this[key] = properties[key];\n }\n });\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(defaultCountry, defaultCallingCode) {\n this.international = false;\n this.IDDPrefix = undefined;\n this.missingPlus = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(defaultCountry, defaultCallingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n return this.onCallingCodeChange(this.country, callingCode);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber() {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode();\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\n\nexport function countOccurences(symbol, string) {\n var count = 0; // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for counting brackets it is safe.\n // for (const character of string)\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\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n} // Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nexport function repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nexport function closeNonPairedParens(template, cut_before) {\n var retained_template = template.slice(0, cut_before);\n var opening_braces = countOccurences('(', retained_template);\n var closing_braces = countOccurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return template.slice(0, cut_before);\n}\nexport function stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i2 = 0, _dangling_braces = dangling_braces; _i2 < _dangling_braces.length; _i2++) {\n var index = _dangling_braces[_i2];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nexport function populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = digits.split(''), _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n var _ref2;\n\n if (_isArray2) {\n if (_i3 >= _iterator2.length) break;\n _ref2 = _iterator2[_i3++];\n } else {\n _i3 = _iterator2.next();\n if (_i3.done) break;\n _ref2 = _i3.value;\n }\n\n var digit = _ref2;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map","import checkNumberLength from './helpers/checkNumberLength';\nimport parseDigits from './helpers/parseDigits';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat';\nexport default function formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n var nationalSignificantNumber = state.nationalSignificantNumber,\n international = state.international,\n nationalPrefix = state.nationalPrefix,\n carrierCode = state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete';\nimport parseDigits from './helpers/parseDigits';\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat';\nimport { VALID_PUNCTUATION } from './constants';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'; // Used in phone number format template creation.\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\n\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true; // A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('^' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeFormatter(_ref) {\n var _this = this;\n\n var state = _ref.state,\n metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n _defineProperty(this, \"getSeparatorAfterNationalPrefix\", function (format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (_this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n });\n\n _defineProperty(this, \"shouldTryNationalPrefixFormattingRule\", function (format, _ref2) {\n var international = _ref2.international,\n nationalPrefix = _ref2.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n });\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this2 = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = this.matchingFormats, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref3;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref3 = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref3 = _i.value;\n }\n\n var format = _ref3;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this2.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref4) {\n var _this3 = this;\n\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n nationalPrefix = _ref4.nationalPrefix,\n international = _ref4.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this3.formatSuits(format, international, nationalPrefix) && _this3.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 ``\n // and yielding another format for 4 `` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n return true;\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are available\n // then format matching starts narrowing down the list of possible formats\n // (only previously matched formats are considered for next digits).\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Brackets are required for `^` to be applied to\n // all or-ed (`|`) parts, not just the first one.\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this4 = this;\n\n var _loop2 = function _loop2() {\n if (_isArray2) {\n if (_i2 >= _iterator2.length) return \"break\";\n _ref5 = _iterator2[_i2++];\n } else {\n _i2 = _iterator2.next();\n if (_i2.done) return \"break\";\n _ref5 = _i2.value;\n }\n\n var format = _ref5;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this4.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this4.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this4.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this4.matchingFormats = _this4.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this4.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n _loop: for (var _iterator2 = this.matchingFormats.slice(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {\n var _ref5;\n\n var _ret = _loop2();\n\n switch (_ret) {\n case \"break\":\n break _loop;\n\n case \"continue\":\n continue;\n }\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref6, options) {\n var IDDPrefix = _ref6.IDDPrefix,\n missingPlus = _ref6.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref7) {\n var nationalSignificantNumber = _ref7.nationalSignificantNumber,\n international = _ref7.international,\n nationalPrefix = _ref7.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref7.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport _extractCountryCallingCode from './helpers/extractCountryCallingCode';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber';\nimport stripIddPrefix from './helpers/stripIddPrefix';\nimport parseDigits from './helpers/parseDigits';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants';\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_PART + '$', 'i');\nvar VALID_PHONE_NUMBER = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser =\n/*#__PURE__*/\nfunction () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, state.update)) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state);\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode,\n number = _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state);\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state) {\n state.startInternationalNumber(); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), state.update);\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\n\n\nexport { AsYouTypeParser as default };\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_PHONE_NUMBER);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport Metadata from './metadata';\nimport PhoneNumber from './PhoneNumber';\nimport AsYouTypeState from './AsYouTypeState';\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter';\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar AsYouType =\n/*#__PURE__*/\nfunction () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1];\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (_typeof(optionsOrDefaultCountry) === 'object') {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n if (defaultCallingCode) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n defaultCountry = '001';\n }\n }\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(country, callingCode) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset(this.defaultCountry, this.defaultCallingCode);\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"country calling code\" part of the phone number.\r\n * Returns `undefined` if the number is not being input in international format.\r\n * Returns \"country calling code\" for \"non-geographic\" phone numbering plans too.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n return this.state.callingCode;\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var _this$state = this.state,\n digits = _this$state.digits,\n country = _this$state.country; // If no digits have been input yet,\n // then `this.country` is the `defaultCountry`.\n // Won't return the `defaultCountry` in such case.\n\n if (!digits) {\n return;\n }\n\n var countryCode = country;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n // `AsYouType.getCountry()` returns `undefined`\n // for \"non-geographic\" phone numbering plans.\n if (countryCode === '001') {\n countryCode = undefined;\n }\n }\n\n return countryCode;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state2 = this.state,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state2.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state2.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, this.state.nationalSignificantNumber, this.metadata));\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode;\n\n if (this.isInternational()) {\n if (!this.state.callingCode) {\n return;\n }\n } else {\n if (!this.state.country && !this.defaultCallingCode) {\n return;\n }\n }\n\n if (!nationalSignificantNumber) {\n return;\n }\n\n var countryCode = this.getCountry();\n var callingCode = this.getCountryCallingCode() || this.defaultCallingCode;\n var phoneNumber = new PhoneNumber(countryCode || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map","import metadata from '../metadata'\r\nimport { AsYouType as _AsYouType } from '../../core/index'\r\n\r\nexport function AsYouType(country) {\r\n\treturn _AsYouType.call(this, country, metadata)\r\n}\r\n\r\nAsYouType.prototype = Object.create(_AsYouType.prototype, {})\r\nAsYouType.prototype.constructor = AsYouType","import { withMetadata } from '../metadata'\r\nimport { isSupportedCountry as _isSupportedCountry } from '../../core/index'\r\n\r\nexport function isSupportedCountry() {\r\n\treturn withMetadata(_isSupportedCountry, arguments)\r\n}","import Metadata from './metadata';\nexport default function getCountries(metadata) {\n return new Metadata(metadata).getCountries();\n}\n//# sourceMappingURL=getCountries.js.map","import { withMetadata } from '../metadata'\r\nimport { getCountries as _getCountries } from '../../core/index'\r\n\r\nexport function getCountries() {\r\n\treturn withMetadata(_getCountries, arguments)\r\n}","import { withMetadata } from '../metadata'\r\nimport { getCountryCallingCode as _getCountryCallingCode } from '../../core/index'\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn withMetadata(_getCountryCallingCode, arguments)\r\n}","import { withMetadata } from '../metadata'\r\nimport { getExtPrefix as _getExtPrefix } from '../../core/index'\r\n\r\nexport function getExtPrefix() {\r\n\treturn withMetadata(_getExtPrefix, arguments)\r\n}","import metadata from '../metadata'\r\nimport { Metadata as _Metadata } from '../../core/index'\r\n\r\nexport function Metadata() {\r\n\treturn _Metadata.call(this, metadata)\r\n}\r\n\r\nMetadata.prototype = Object.create(_Metadata.prototype, {})\r\nMetadata.prototype.constructor = Metadata","import PhoneNumber from './PhoneNumber';\nexport default function getExampleNumber(country, examples, metadata) {\n if (examples[country]) {\n return new PhoneNumber(country, examples[country], metadata);\n }\n}\n//# sourceMappingURL=getExampleNumber.js.map","import { withMetadata } from '../metadata'\r\nimport { getExampleNumber as _getExampleNumber } from '../../core/index'\r\n\r\nexport function getExampleNumber() {\r\n\treturn withMetadata(_getExampleNumber, arguments)\r\n}","import AsYouType from './AsYouType';\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string?} country - Two-letter (\"ISO 3166-1 alpha-2\") country code.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\n\nexport default function formatIncompletePhoneNumber(value, country, metadata) {\n if (!metadata) {\n metadata = country;\n country = undefined;\n }\n\n return new AsYouType(country, metadata).input(value);\n}\n//# sourceMappingURL=formatIncompletePhoneNumber.js.map","import { withMetadata } from '../metadata'\r\nimport { formatIncompletePhoneNumber as _formatIncompletePhoneNumber } from '../../core/index'\r\n\r\nexport function formatIncompletePhoneNumber() {\r\n\treturn withMetadata(_formatIncompletePhoneNumber, arguments)\r\n}","import _parseNumber from './parse_';\nimport { normalizeArguments } from './parsePhoneNumber'; // `options`:\n// {\n// country:\n// {\n// restrict - (a two-letter country code)\n// the phone number must be in this country\n//\n// default - (a two-letter country code)\n// default country to use for phone number parsing and validation\n// (if no country code could be derived from the phone number)\n// }\n// }\n//\n// Returns `{ country, number }`\n//\n// Example use cases:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\nexport default function parseNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _parseNumber(text, options, metadata);\n}\n//# sourceMappingURL=parse.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _parse from '../es6/parse'\r\n\r\nexport function parse() {\r\n\treturn withMetadata(_parse, arguments)\r\n}\r\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport _formatNumber from './format_';\nimport parse from './parse_';\nexport default function formatNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n input = _normalizeArguments.input,\n format = _normalizeArguments.format,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _formatNumber(input, format, options, metadata);\n} // Sort out arguments\n\nfunction normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 5),\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 arg_5 = _Array$prototype$slic2[4];\n\n var input;\n var format;\n var options;\n var metadata; // Sort out arguments.\n // If the phone number is passed as a string.\n // `format('8005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n // If country code is supplied.\n // `format('8005553535', 'RU', 'NATIONAL', [options], metadata)`.\n if (typeof arg_3 === 'string') {\n format = arg_3;\n\n if (arg_5) {\n options = arg_4;\n metadata = arg_5;\n } else {\n metadata = arg_4;\n }\n\n input = parse(arg_1, {\n defaultCountry: arg_2,\n extended: true\n }, metadata);\n } // Just an international phone number is supplied\n // `format('+78005553535', 'NATIONAL', [options], metadata)`.\n else {\n if (typeof arg_2 !== 'string') {\n throw new Error('`format` argument not passed to `formatNumber(number, format)`');\n }\n\n format = arg_2;\n\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n metadata = arg_3;\n }\n\n input = parse(arg_1, {\n extended: true\n }, metadata);\n }\n } // If the phone number is passed as a parsed number object.\n // `format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', [options], metadata)`.\n else if (is_object(arg_1)) {\n input = arg_1;\n format = arg_2;\n\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n metadata = arg_3;\n }\n } else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.'); // Legacy lowercase formats.\n\n\n if (format === 'International') {\n format = 'INTERNATIONAL';\n } else if (format === 'National') {\n format = 'NATIONAL';\n }\n\n return {\n input: input,\n format: format,\n options: options,\n 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\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=format.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _format from '../es6/format'\r\n\r\nexport function format() {\r\n\treturn withMetadata(_format, arguments)\r\n}\r\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isViablePhoneNumber from './helpers/isViablePhoneNumber';\nimport _getNumberType from './helpers/getNumberType';\nimport parse from './parse_'; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType() {\n var _normalizeArguments = normalizeArguments(arguments),\n input = _normalizeArguments.input,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _getNumberType(input, options, metadata);\n} // Sort out arguments\n\nexport function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_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 input;\n var options = {};\n var metadata; // If the phone number is passed as a string.\n // `getNumberType('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n // If \"default country\" argument is being passed\n // then convert it to an `options` object.\n // `getNumberType('88005553535', 'RU', metadata)`.\n if (_typeof(arg_2) !== 'object') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n metadata = arg_3;\n } // `parse` extracts phone numbers from raw text,\n // therefore it will cut off all \"garbage\" characters,\n // while this `validate` function needs to verify\n // that the phone number contains no \"garbage\"\n // therefore the explicit `isViablePhoneNumber` check.\n\n\n if (isViablePhoneNumber(arg_1)) {\n input = parse(arg_1, {\n defaultCountry: arg_2\n }, metadata);\n } else {\n input = {};\n }\n } // No \"resrict country\" argument is being passed.\n // International phone number is passed.\n // `getNumberType('+78005553535', metadata)`.\n else {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n } // `parse` extracts phone numbers from raw text,\n // therefore it will cut off all \"garbage\" characters,\n // while this `validate` function needs to verify\n // that the phone number contains no \"garbage\"\n // therefore the explicit `isViablePhoneNumber` check.\n\n\n if (isViablePhoneNumber(arg_1)) {\n input = parse(arg_1, undefined, metadata);\n } else {\n input = {};\n }\n }\n } // If the phone number is passed as a parsed phone number.\n // `getNumberType({ phone: '88005553535', country: 'RU' }, ...)`.\n else if (is_object(arg_1)) {\n input = arg_1;\n\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new TypeError('A phone number must either be a string or an object of shape { phone, [country] }.');\n\n return {\n input: input,\n options: options,\n 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\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=getNumberType.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _getNumberType from '../es6/getNumberType'\r\n\r\nexport function getNumberType() {\r\n\treturn withMetadata(_getNumberType, arguments)\r\n}\r\n","import { normalizeArguments } from './getNumberType';\nimport _isPossibleNumber from './isPossibleNumber_';\n/**\r\n * Checks if a given phone number is possible.\r\n * Which means it only checks phone number length\r\n * and doesn't test any regular expressions.\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isPossibleNumber('+78005553535', metadata)\r\n * isPossibleNumber('8005553535', 'RU', metadata)\r\n * isPossibleNumber('88005553535', 'RU', metadata)\r\n * isPossibleNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isPossibleNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n input = _normalizeArguments.input,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _isPossibleNumber(input, options, metadata);\n}\n//# sourceMappingURL=isPossibleNumber.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _isPossibleNumber from '../es6/isPossibleNumber'\r\n\r\nexport function isPossibleNumber() {\r\n\treturn withMetadata(_isPossibleNumber, arguments)\r\n}\r\n","import _isValidNumber from './validate_';\nimport { normalizeArguments } from './getNumberType'; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function isValidNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n input = _normalizeArguments.input,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _isValidNumber(input, options, metadata);\n}\n//# sourceMappingURL=validate.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _isValidNumber from '../es6/validate'\r\n\r\nexport function isValidNumber() {\r\n\treturn withMetadata(_isValidNumber, arguments)\r\n}\r\n","import isValidNumber from './validate_';\n/**\r\n * Checks if a given phone number is valid within a given region.\r\n * Is just an alias for `phoneNumber.isValid() && phoneNumber.country === country`.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n */\n\nexport default function isValidNumberForRegion(input, country, 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 return input.country === country && isValidNumber(input, options, metadata);\n}\n//# sourceMappingURL=isValidNumberForRegion_.js.map","import isViablePhoneNumber from './helpers/isViablePhoneNumber';\nimport parseNumber from './parse_';\nimport _isValidNumberForRegion from './isValidNumberForRegion_';\nexport default function isValidNumberForRegion(number, country, metadata) {\n if (typeof number !== 'string') {\n throw new TypeError('number must be a string');\n }\n\n if (typeof country !== 'string') {\n throw new TypeError('country must be a string');\n } // `parse` extracts phone numbers from raw text,\n // therefore it will cut off all \"garbage\" characters,\n // while this `validate` function needs to verify\n // that the phone number contains no \"garbage\"\n // therefore the explicit `isViablePhoneNumber` check.\n\n\n var input;\n\n if (isViablePhoneNumber(number)) {\n input = parseNumber(number, {\n defaultCountry: country\n }, metadata);\n } else {\n input = {};\n }\n\n return _isValidNumberForRegion(input, country, undefined, metadata);\n}\n//# sourceMappingURL=isValidNumberForRegion.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _isValidNumberForRegion from '../es6/isValidNumberForRegion'\r\n\r\nexport function isValidNumberForRegion() {\r\n\treturn withMetadata(_isValidNumberForRegion, arguments)\r\n}\r\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a legacy function.\n// Use `findNumbers()` instead.\nimport { PLUS_CHARS, VALID_PUNCTUATION, VALID_DIGITS, WHITESPACE } from './constants';\nimport parse from './parse_';\nimport { VALID_PHONE_NUMBER_WITH_EXTENSION } from './helpers/isViablePhoneNumber';\nimport createExtensionPattern from './helpers/extension/createExtensionPattern';\nimport parsePreCandidate from './findNumbers/parsePreCandidate';\nimport isValidPreCandidate from './findNumbers/isValidPreCandidate';\nimport isValidCandidate from './findNumbers/isValidCandidate';\n/**\r\n * Regexp of all possible ways to write extensions, for use when parsing. This\r\n * will be run as a case-insensitive regexp match. Wide character versions are\r\n * also provided after each ASCII version. There are three regular expressions\r\n * here. The first covers RFC 3966 format, where the extension is added using\r\n * ';ext='. The second more generic one starts with optional white space and\r\n * ends with an optional full stop (.), followed by zero or more spaces/tabs\r\n * /commas and then the numbers themselves. The other one covers the special\r\n * case of American numbers where the extension is written with a hash at the\r\n * end, such as '- 503#'. Note that the only capturing groups should be around\r\n * the digits that you want to capture as part of the extension, or else parsing\r\n * will fail! We allow two options for representing the accented o - the\r\n * character itself, and one in the unicode decomposed form with the combining\r\n * acute accent.\r\n */\n\nexport var EXTN_PATTERNS_FOR_PARSING = createExtensionPattern('parsing');\nvar WHITESPACE_IN_THE_BEGINNING_PATTERN = new RegExp('^[' + WHITESPACE + ']+');\nvar PUNCTUATION_IN_THE_END_PATTERN = new RegExp('[' + VALID_PUNCTUATION + ']+$'); // // Regular expression for getting opening brackets for a valid number\n// // found using `PHONE_NUMBER_START_PATTERN` for prepending those brackets to the number.\n// const BEFORE_NUMBER_DIGITS_PUNCTUATION = new RegExp('[' + OPENING_BRACKETS + ']+' + '[' + WHITESPACE + ']*' + '$')\n\nvar VALID_PRECEDING_CHARACTER_PATTERN = /[^a-zA-Z0-9]/;\nexport default function findPhoneNumbers(text, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n var search = new PhoneNumberSearch(text, options, metadata);\n var phones = [];\n\n while (search.hasNext()) {\n phones.push(search.next());\n }\n\n return phones;\n}\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\n\nexport function searchPhoneNumbers(text, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n var search = new PhoneNumberSearch(text, options, metadata);\n return _defineProperty({}, Symbol.iterator, function () {\n return {\n next: function next() {\n if (search.hasNext()) {\n return {\n done: false,\n value: search.next()\n };\n }\n\n return {\n done: true\n };\n }\n };\n });\n}\n/**\r\n * Extracts a parseable phone number including any opening brackets, etc.\r\n * @param {string} text - Input.\r\n * @return {object} `{ ?number, ?startsAt, ?endsAt }`.\r\n */\n\nexport var PhoneNumberSearch =\n/*#__PURE__*/\nfunction () {\n // Iteration tristate.\n function PhoneNumberSearch(text, options, metadata) {\n _classCallCheck(this, PhoneNumberSearch);\n\n _defineProperty(this, \"state\", 'NOT_READY');\n\n this.text = text; // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n\n this.options = options || {};\n this.metadata = metadata;\n this.regexp = new RegExp(VALID_PHONE_NUMBER_WITH_EXTENSION, 'ig');\n }\n\n _createClass(PhoneNumberSearch, [{\n key: \"find\",\n value: function find() {\n var matches = this.regexp.exec(this.text);\n\n if (!matches) {\n return;\n }\n\n var number = matches[0];\n var startsAt = matches.index;\n number = number.replace(WHITESPACE_IN_THE_BEGINNING_PATTERN, '');\n startsAt += matches[0].length - number.length; // Fixes not parsing numbers with whitespace in the end.\n // Also fixes not parsing numbers with opening parentheses in the end.\n // https://github.com/catamphetamine/libphonenumber-js/issues/252\n\n number = number.replace(PUNCTUATION_IN_THE_END_PATTERN, '');\n number = parsePreCandidate(number);\n var result = this.parseCandidate(number, startsAt);\n\n if (result) {\n return result;\n } // Tail recursion.\n // Try the next one if this one is not a valid phone number.\n\n\n return this.find();\n }\n }, {\n key: \"parseCandidate\",\n value: function parseCandidate(number, startsAt) {\n if (!isValidPreCandidate(number, startsAt, this.text)) {\n return;\n } // Don't parse phone numbers which are non-phone numbers\n // due to being part of something else (e.g. a UUID).\n // https://github.com/catamphetamine/libphonenumber-js/issues/213\n // Copy-pasted from Google's `PhoneNumberMatcher.js` (`.parseAndValidate()`).\n\n\n if (!isValidCandidate(number, startsAt, this.text, this.options.extended ? 'POSSIBLE' : 'VALID')) {\n return;\n } // // Prepend any opening brackets left behind by the\n // // `PHONE_NUMBER_START_PATTERN` regexp.\n // const text_before_number = text.slice(this.searching_from, startsAt)\n // const full_number_starts_at = text_before_number.search(BEFORE_NUMBER_DIGITS_PUNCTUATION)\n // if (full_number_starts_at >= 0)\n // {\n // \tnumber = text_before_number.slice(full_number_starts_at) + number\n // \tstartsAt = full_number_starts_at\n // }\n //\n // this.searching_from = matches.lastIndex\n\n\n var result = parse(number, this.options, this.metadata);\n\n if (!result.phone) {\n return;\n }\n\n result.startsAt = startsAt;\n result.endsAt = startsAt + number.length;\n return result;\n }\n }, {\n key: \"hasNext\",\n value: function hasNext() {\n if (this.state === 'NOT_READY') {\n this.last_match = this.find();\n\n if (this.last_match) {\n this.state = 'READY';\n } else {\n this.state = 'DONE';\n }\n }\n\n return this.state === 'READY';\n }\n }, {\n key: \"next\",\n value: function next() {\n // Check the state and find the next match as a side-effect if necessary.\n if (!this.hasNext()) {\n throw new Error('No next element');\n } // Don't retain that memory any longer than necessary.\n\n\n var result = this.last_match;\n this.last_match = null;\n this.state = 'NOT_READY';\n return result;\n }\n }]);\n\n return PhoneNumberSearch;\n}();\n//# sourceMappingURL=findPhoneNumbers_.js.map","// This is a legacy function.\n// Use `findNumbers()` instead.\nimport _findPhoneNumbers, { searchPhoneNumbers as _searchPhoneNumbers } from './findPhoneNumbers_';\nimport { normalizeArguments } from './parsePhoneNumber';\nexport default function findPhoneNumbers() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return _findPhoneNumbers(text, options, metadata);\n}\n/**\r\n * @return ES6 `for ... of` iterator.\r\n */\n\nexport function searchPhoneNumbers() {\n var _normalizeArguments2 = normalizeArguments(arguments),\n text = _normalizeArguments2.text,\n options = _normalizeArguments2.options,\n metadata = _normalizeArguments2.metadata;\n\n return _searchPhoneNumbers(text, options, metadata);\n}\n//# sourceMappingURL=findPhoneNumbers.js.map","import { withMetadata } from '../min/metadata'\r\n\r\nimport _findPhoneNumbers from '../es6/findPhoneNumbers'\r\n\r\nexport function findPhoneNumbers() {\r\n\treturn withMetadata(_findPhoneNumbers, arguments)\r\n}\r\n","import { withMetadata } from '../min/metadata'\r\n\r\nimport { searchPhoneNumbers as _searchPhoneNumbers } from '../es6/findPhoneNumbers'\r\n\r\nexport function searchPhoneNumbers() {\r\n\treturn withMetadata(_searchPhoneNumbers, arguments)\r\n}\r\n","import metadata from '../min/metadata'\r\n\r\nimport { PhoneNumberSearch as _PhoneNumberSearch } from '../es6/findPhoneNumbers_'\r\n\r\nexport function PhoneNumberSearch(text, options) {\r\n\t_PhoneNumberSearch.call(this, text, options, metadata)\r\n}\r\n\r\n// Deprecated.\r\nPhoneNumberSearch.prototype = Object.create(_PhoneNumberSearch.prototype, {})\r\nPhoneNumberSearch.prototype.constructor = PhoneNumberSearch\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"60rem\",\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},model:{value:(_vm.isPhoneVerificationVisible),callback:function ($$v) {_vm.isPhoneVerificationVisible=$$v},expression:\"isPhoneVerificationVisible\"}},[_c('v-card',[_c('v-card-actions',{staticClass:\"align-start\"},[_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.closePhoneDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-window',{staticClass:\"phone-verify-content\",attrs:{\"touchless\":\"\"},model:{value:(_vm.phoneVerificationStep),callback:function ($$v) {_vm.phoneVerificationStep=$$v},expression:\"phoneVerificationStep\"}},[_c('v-window-item',{attrs:{\"value\":1}},[_c('PhoneNumberVerification',{on:{\"confirm\":_vm.phoneVerificationHandler}})],1),_c('v-window-item',{attrs:{\"value\":2}},[_c('PhoneNumberConfirmation',{attrs:{\"phone-number\":_vm.phoneNumber},on:{\"confirm\":_vm.phoneConfirmationHandler}})],1)],1),_c('v-card-actions',{staticClass:\"mt-5\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ma-lg-10 mb-sm-5\"},[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberVerification.Title'))+\" \")])]),_c('v-card-text',[_c('div',{staticClass:\"subtitle-2 text-center mb-5\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberVerification.RequirePhoneNumberVerification'))+\" \")])])]),_c('v-card-text',[(_vm.$vuetify.breakpoint.xs)?_c('div',{staticClass:\"mb-3\"},[_c('v-select',{attrs:{\"outlined\":\"\",\"items\":_vm.countryListVSelect,\"dense\":\"\",\"hide-details\":\"\"},model:{value:(_vm.code),callback:function ($$v) {_vm.code=$$v},expression:\"code\"}})],1):_vm._e(),_c('div',{staticClass:\"fix-input mb-10 mb-lg-5\"},[_c('MazPhoneNumberInput',{attrs:{\"default-country-code\":_vm.code,\"dark\":\"\",\"only-countries\":_vm.countryCodeList,\"noCountrySelector\":_vm.$vuetify.breakpoint.xs},on:{\"update\":_vm.onPhoneNumberUpdated},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=$$v},expression:\"phoneNumber\"}})],1)]),_c('v-card-actions',{staticClass:\"mt-4\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"primary\",\"loading\":_vm.isLoading,\"large\":\"\",\"disabled\":!_vm.results || !_vm.results.isValid},on:{\"click\":_vm.onConfirm}},[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberVerification.Next'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Emit } from 'vue-property-decorator'\r\nimport ServerError from '@/utils/server_error'\r\n// @ts-ignore\r\nimport { MazPhoneNumberInput } from 'maz-ui'\r\nimport { IdentityAPI } from '@/api/identity'\r\nimport sharedStore from '@/modules/shared/shared.store'\r\nimport { getModule } from 'vuex-module-decorators'\r\n\r\nexport interface PhoneNumberUpdatePayload {\r\n countryCode: string\r\n isValid: boolean\r\n countryCallingCode?: string\r\n nationalNumber?: string\r\n formatInternational?: string\r\n formatNational?: string\r\n uri?: string\r\n e164?: string\r\n}\r\n\r\n@Component({\r\n components: {\r\n MazPhoneNumberInput\r\n }\r\n})\r\nexport default class PhoneNumberVerification extends Vue {\r\n sharedModule = getModule(sharedStore, this.$store)\r\n\r\n isLoading: boolean = false\r\n // isShowCountrySelector: boolean = true\r\n isMobile: boolean = false\r\n phoneNumber: string = ''\r\n results: PhoneNumberUpdatePayload | null = null\r\n // mql: MediaQueryList = matchMedia('(min-width: 600px)')\r\n code: string = 'TW' // WIP: use suggested region\r\n\r\n mounted() {\r\n // this.isShowCountrySelector = this.mql.matches\r\n // this.mql.addEventListener('change', this.checkScreenWidth)\r\n }\r\n\r\n destroyed() {\r\n // this.mql.removeEventListener('change', this.checkScreenWidth)\r\n }\r\n\r\n /* checkScreenWidth(e: MediaQueryListEvent) {\r\n this.isShowCountrySelector = e.matches\r\n } */\r\n\r\n @Emit('confirm')\r\n confirm() {\r\n return this.phoneNumber\r\n }\r\n\r\n onPhoneNumberUpdated(event: PhoneNumberUpdatePayload) {\r\n this.results = event\r\n this.code = event.countryCode\r\n }\r\n /* Methods */\r\n async onConfirm() {\r\n this.isLoading = true\r\n try {\r\n if (!this.results || !this.results.isValid) {\r\n this.$toast.error(this.$t('PhoneNumberVerification.InvalidPhoneNumber'))\r\n return\r\n } else {\r\n const verifyResult = await IdentityAPI.addAccountPhoneNumber({\r\n phoneNumber: this.phoneNumber\r\n })\r\n if (verifyResult.status === 200) this.confirm()\r\n else this.$toast.error(this.$t('PhoneNumberVerification.Failure'))\r\n }\r\n } catch (err) {\r\n this.$toast.error(this.$t('PhoneNumberVerification.Failure'))\r\n console.error(err)\r\n } finally {\r\n this.isLoading = false\r\n }\r\n }\r\n\r\n get countryList() {\r\n return this.sharedModule.applicationRegions\r\n }\r\n\r\n get countryCodeList() {\r\n return this.countryList.map(ri => ri.code)\r\n }\r\n\r\n get countryListVSelect() {\r\n return this.countryList.map(ri => ({\r\n value: ri.code,\r\n text: `${ri.name} (${ri.idd})`\r\n }))\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerification.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerification.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PhoneNumberVerification.vue?vue&type=template&id=00d6a7d0&scoped=true&\"\nimport script from \"./PhoneNumberVerification.vue?vue&type=script&lang=ts&\"\nexport * from \"./PhoneNumberVerification.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PhoneNumberVerification.vue?vue&type=style&index=0&id=00d6a7d0&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00d6a7d0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCardActions,VCardText,VCardTitle,VIcon,VSelect,VSpacer})\n","import PhoneNumberVerification from './PhoneNumberVerification.vue'\r\n\r\nexport { PhoneNumberVerification }\r\nexport default PhoneNumberVerification\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ma-10\"},[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberConfirmation.Title'))+\" \")])]),_c('v-card-text',[_c('div',{staticClass:\"subtitle-2 text-center mb-5\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberConfirmation.ConfirmationMessageSent'))+\" \")])])]),_c('v-card-text',[_c('v-row',[_c('v-col',[_c('v-form',{attrs:{\"action\":\"javascript:void(0)\"},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-text-field',{staticClass:\"fix-input\",attrs:{\"rules\":_vm.verificationCodeRules,\"label\":_vm.$t('PhoneNumberConfirmation.Code'),\"outlined\":\"\",\"prepend-inner-icon\":\"mdi-tag-heart-outline\"},model:{value:(_vm.verificationCode),callback:function ($$v) {_vm.verificationCode=$$v},expression:\"verificationCode\"}})],1)],1)],1)],1),_c('v-card-actions',{staticClass:\"mt-4\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"primary\",\"loading\":_vm.isLoading,\"large\":\"\"},on:{\"click\":_vm.onConfirm}},[_vm._v(\" \"+_vm._s(_vm.$t('PhoneNumberConfirmation.Confirm'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Emit, Prop } from 'vue-property-decorator'\r\nimport ServerError from '@/utils/server_error'\r\n// @ts-ignore\r\nimport { MazPhoneNumberInput } from 'maz-ui'\r\nimport { IdentityAPI } from '@/api/identity'\r\n\r\n@Component({\r\n components: {\r\n MazPhoneNumberInput\r\n }\r\n})\r\nexport default class PhoneNumberConfirmation extends Vue {\r\n @Prop({ type: String, default: '' })\r\n phoneNumber!: string\r\n\r\n isLoading: boolean = false\r\n isValid: boolean = false\r\n verificationCode: string = ''\r\n verificationCodeRules: Function[] = [(v: any) => !!v || 'required']\r\n\r\n @Emit('confirm')\r\n confirm() {\r\n return this.verificationCode\r\n }\r\n\r\n /* Methods */\r\n async onConfirm() {\r\n this.isLoading = true\r\n try {\r\n if (!this.isValid) {\r\n this.$toast.error(this.$t('PhoneNumberConfirmation.InvalidCode'))\r\n return\r\n } else {\r\n const confirmationResult = await IdentityAPI.confirmAccountPhoneNumberRequest(\r\n {\r\n phoneNumber: this.phoneNumber,\r\n verificationCode: this.verificationCode\r\n }\r\n )\r\n if (confirmationResult.status === 200) {\r\n this.$toast.info(this.$t('PhoneNumberConfirmation.Success'))\r\n this.confirm()\r\n } else {\r\n this.$toast.error(this.$t('PhoneNumberConfirmation.Failure'))\r\n }\r\n }\r\n } catch (err) {\r\n this.$toast.error(this.$t('PhoneNumberConfirmation.Failure'))\r\n console.error(err)\r\n } finally {\r\n this.isLoading = false\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberConfirmation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberConfirmation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PhoneNumberConfirmation.vue?vue&type=template&id=5ea6cdb4&scoped=true&\"\nimport script from \"./PhoneNumberConfirmation.vue?vue&type=script&lang=ts&\"\nexport * from \"./PhoneNumberConfirmation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PhoneNumberConfirmation.vue?vue&type=style&index=0&id=5ea6cdb4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ea6cdb4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCardActions,VCardText,VCardTitle,VCol,VForm,VIcon,VRow,VSpacer,VTextField})\n","import PhoneNumberConfirmation from './PhoneNumberConfirmation.vue'\r\n\r\nexport { PhoneNumberConfirmation }\r\nexport default PhoneNumberConfirmation\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Emit } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport memberStore from '@/modules/member/member.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport PhoneNumberVerification from '@/modules/member/components/PhoneNumberVerification'\r\nimport PhoneNumberConfirmation from '@/modules/member/components/PhoneNumberConfirmation'\r\nimport { IdentityAPI } from '@/api/identity'\r\nimport { TournamentEntity } from '@/api/tournament'\r\nimport { invokeDialogCallback } from '@/utils/verification'\r\n\r\n@Component({\r\n components: {\r\n PhoneNumberVerification,\r\n PhoneNumberConfirmation\r\n }\r\n})\r\nexport default class PhoneNumberVerificationDialog extends Vue {\r\n memberModule = getModule(memberStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n phoneVerificationStep: number = 1\r\n phoneVerificationSteps: number = 2\r\n phoneNumber: string = ''\r\n\r\n get tournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get isPhoneVerificationVisible(): boolean {\r\n return this.memberModule.isPhoneVerificationVisible\r\n }\r\n\r\n onPhoneVerificationSuccess() {\r\n invokeDialogCallback().then()\r\n }\r\n\r\n closePhoneDialog() {\r\n this.memberModule.setIsPhoneVerificationVisible({ isVisible: false })\r\n this.phoneVerificationStep = 1\r\n }\r\n\r\n async phoneVerificationHandler(phoneNumber: string) {\r\n this.phoneNumber = phoneNumber\r\n this.phoneVerificationStep = 2\r\n }\r\n\r\n async phoneConfirmationHandler(verificationCode: string) {\r\n this.closePhoneDialog()\r\n this.onPhoneVerificationSuccess()\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerificationDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerificationDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PhoneNumberVerificationDialog.vue?vue&type=template&id=334e4a9c&scoped=true&\"\nimport script from \"./PhoneNumberVerificationDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./PhoneNumberVerificationDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PhoneNumberVerificationDialog.vue?vue&type=style&index=0&id=334e4a9c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"334e4a9c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VIcon,VSpacer,VWindow,VWindowItem})\n","import PhoneNumberVerificationDialog from './PhoneNumberVerificationDialog.vue'\r\n\r\nexport { PhoneNumberVerificationDialog }\r\nexport default PhoneNumberVerificationDialog\r\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 25);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(9);\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n data: function data() {\n return {\n uniqueId: null\n };\n },\n mounted: function mounted() {\n var id = this.id || this.$attrs.id;\n this.uniqueId = id ? \"\".concat(id) : \"\".concat(this.$options.name, \"-\").concat(this._uid);\n }\n});\n\n/***/ }),\n/* 3 */,\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazBtn/_main.vue?vue&type=template&id=247f3a44&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n _vm.componentType,\n _vm._b(\n {\n tag: \"component\",\n staticClass: \"maz-base-component maz-btn maz-inline-flex\",\n class: [\n _vm.classes,\n {\n \"maz-text-hidden\": _vm.loading\n }\n ],\n attrs: {\n id: _vm.uniqueId,\n type: _vm.isLink ? null : _vm.type,\n disabled: _vm.isLink ? null : _vm.isDisabled\n },\n on: {\n click: function($event) {\n return _vm.handleClick($event)\n },\n mouseenter: function($event) {\n return _vm.emitMouseEnter($event)\n },\n mouseleave: function($event) {\n return _vm.emitMouseLeave($event)\n },\n focus: function($event) {\n return _vm.emitFocus($event)\n },\n blur: function($event) {\n return _vm.emitBlur($event)\n }\n }\n },\n \"component\",\n _vm.$attrs,\n false\n ),\n [\n _vm.hasLeftIcon() || _vm.hasMainIcon()\n ? _c(\n \"div\",\n {\n staticClass: \"maz-flex maz-flex-center maz-btn__icon-left\",\n class: {\n \"maz-mr-2\": !_vm.fab && _vm.hasSlotDefault()\n }\n },\n [\n _vm._t(\"icon-left\" || false, [\n _c(\"i\", { staticClass: \"material-icons\" }, [\n _vm._v(_vm._s(_vm.leftIconName || _vm.iconName))\n ])\n ])\n ],\n 2\n )\n : _vm._e(),\n _c(\n \"span\",\n {\n staticClass:\n \"maz-flex maz-align-center maz-h-100 maz-overflow-hidden\",\n class: [_vm.textClasses, { \"maz-flex-1\": _vm.hasSlotDefault() }]\n },\n [_vm._t(\"default\")],\n 2\n ),\n _vm.hasRightIcon()\n ? _c(\n \"div\",\n {\n staticClass: \"maz-flex maz-flex-center maz-btn__icon-right\",\n class: {\n \"maz-ml-2\": !_vm.fab && _vm.hasSlotDefault()\n }\n },\n [\n _vm._t(\"icon-right\", [\n _c(\"i\", { staticClass: \"material-icons\" }, [\n _vm._v(_vm._s(_vm.rightIconName))\n ])\n ])\n ],\n 2\n )\n : _vm._e(),\n _vm.loading\n ? _c(\n \"div\",\n { staticClass: \"maz-btn__spinner maz-flex maz-flex-center\" },\n [_c(\"MazSpinner\", { attrs: { size: 25, color: _vm.color } })],\n 1\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/components/MazBtn/_main.vue?vue&type=template&id=247f3a44&\n\n// EXTERNAL MODULE: ./packages/components/MazSpinner/index.js + 5 modules\nvar MazSpinner = __webpack_require__(5);\n\n// EXTERNAL MODULE: ./packages/mixins/uniqueId.js\nvar uniqueId = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazBtn/_main.vue?vue&type=script&lang=js&\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/**\n * > Simple button component\n */\n\n/* harmony default export */ var _mainvue_type_script_lang_js_ = ({\n name: 'MazBtn',\n components: {\n MazSpinner: MazSpinner[\"default\"]\n },\n mixins: [uniqueId[\"a\" /* default */]],\n inheritAttrs: false,\n props: {\n // is the id of the button\n id: {\n type: String,\n default: null\n },\n // is color type (`primary` / `secondary` / `third` / `success` / `danger` / `grey` / `info` / `warning` / `light` / `dark` / `default` / `white` / `black`)\n color: {\n type: String,\n default: 'primary'\n },\n // is the button type (button, submit or something else)\n type: {\n type: String,\n default: 'button'\n },\n // button size (`xl`, `lg` / `md` / `sm` / `mini`)\n size: {\n type: String,\n default: 'md'\n },\n // is a `boolean` to show the loader & disable it\n loading: {\n type: Boolean,\n default: false\n },\n // is a `boolean` to disable the button\n disabled: {\n type: Boolean,\n default: false\n },\n // apply the outline style\n outline: {\n type: Boolean,\n default: false\n },\n // apply the rounded style\n rounded: {\n type: Boolean,\n default: false\n },\n // apply the fab style\n fab: {\n type: Boolean,\n default: false\n },\n // apply the focus style\n active: {\n type: Boolean,\n default: false\n },\n // take 100% of the width\n block: {\n type: Boolean,\n default: false\n },\n // remove shadow/elevation\n noShadow: {\n type: Boolean,\n default: false\n },\n // should be a [material icon](https://material.io/resources/icons/) name (usefull with fab buttons)\n iconName: {\n type: String,\n default: null\n },\n // should be a [material icon](https://material.io/resources/icons/) name\n leftIconName: {\n type: String,\n default: null\n },\n // should be a [material icon](https://material.io/resources/icons/) name\n rightIconName: {\n type: String,\n default: null\n },\n // align text to left (for block button)\n justifyStart: {\n type: Boolean,\n default: false\n },\n // align text to right (for block button)\n justifyEnd: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n componentType: function componentType() {\n var _this$$attrs = this.$attrs,\n href = _this$$attrs.href,\n to = _this$$attrs.to;\n if (href) return 'a';else if (to) return 'router-link';\n return 'button';\n },\n isLink: function isLink() {\n return this.componentType === 'a';\n },\n isDisabled: function isDisabled() {\n var disabled = this.disabled,\n loading = this.loading;\n return loading || disabled;\n },\n classes: function classes() {\n var color = this.color,\n size = this.size,\n outline = this.outline,\n rounded = this.rounded,\n fab = this.fab,\n active = this.active,\n block = this.block,\n noShadow = this.noShadow,\n hasRightIcon = this.hasRightIcon,\n hasLeftIcon = this.hasLeftIcon,\n hasIcon = this.hasIcon,\n hasSlotDefault = this.hasSlotDefault;\n return [].concat(_toConsumableArray(color ? [\"maz-btn--\".concat(color)] : [null]), _toConsumableArray(size ? [\"maz-btn--\".concat(size)] : [null]), _toConsumableArray(outline ? ['maz-btn--outline'] : [null]), _toConsumableArray(rounded ? ['maz-btn--rounded'] : [null]), _toConsumableArray(block ? ['maz-btn--block'] : [null]), _toConsumableArray(fab ? ['maz-btn--fab'] : [null]), _toConsumableArray(active ? ['maz-active'] : [null]), _toConsumableArray(noShadow ? ['maz-no-shadow'] : [null]), _toConsumableArray(hasLeftIcon() ? ['maz-btn--icon--left'] : [null]), _toConsumableArray(hasRightIcon() ? ['maz-btn--icon--right'] : [null]), _toConsumableArray(hasIcon() ? ['maz-btn--icon'] : [null]), _toConsumableArray(!hasSlotDefault() ? ['maz-btn--no-text'] : [null]));\n },\n textClasses: function textClasses() {\n var justifyStart = this.justifyStart,\n justifyEnd = this.justifyEnd;\n return [].concat(_toConsumableArray(justifyStart ? ['maz-justify-start'] : [null]), _toConsumableArray(justifyEnd ? ['maz-justify-end'] : [null]), _toConsumableArray(!justifyStart && !justifyEnd ? ['maz-justify-center'] : [null]));\n }\n },\n methods: {\n hasSlotDefault: function hasSlotDefault() {\n return this.$slots['default'];\n },\n hasIcon: function hasIcon() {\n return this.hasLeftIcon() || this.hasRightIcon() || this.hasMainIcon();\n },\n hasMainIcon: function hasMainIcon() {\n return this.iconName || this.$slots['icon'];\n },\n hasLeftIcon: function hasLeftIcon() {\n return this.leftIconName || this.$slots['icon-left'];\n },\n hasRightIcon: function hasRightIcon() {\n return this.rightIconName || this.$slots['icon-right'];\n },\n handleClick: function handleClick(e) {\n // return click event\n this.$emit('click', e);\n },\n emitMouseEnter: function emitMouseEnter(e) {\n // return mouseenter event\n this.$emit('mouseenter', e);\n },\n emitMouseLeave: function emitMouseLeave(e) {\n // return mouseleave event\n this.$emit('mouseleave', e);\n },\n emitFocus: function emitFocus(e) {\n // return focus event\n this.$emit('focus', e);\n },\n emitBlur: function emitBlur(e) {\n // return blur event\n this.$emit('blur', e);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/components/MazBtn/_main.vue?vue&type=script&lang=js&\n /* harmony default export */ var MazBtn_mainvue_type_script_lang_js_ = (_mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/components/MazBtn/_main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n MazBtn_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/components/MazBtn/_main.vue\"\n/* harmony default export */ var _main = (component.exports);\n// CONCATENATED MODULE: ./packages/components/MazBtn/index.js\n\n\n_main.install = function (Vue) {\n Vue.component(_main.name, _main);\n};\n\n/* harmony default export */ var MazBtn = __webpack_exports__[\"default\"] = (_main);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazSpinner/_main.vue?vue&type=template&id=67a8ca41&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"svg\",\n {\n staticClass: \"maz-base-component maz-spinner maz-spinner-anim\",\n class: [\n {\n \"spinner-anim__white\": _vm.dark\n },\n _vm.fillColorClass\n ],\n staticStyle: { \"enable-background\": \"new 0 0 50 50\" },\n attrs: {\n width: _vm.size + \"px\",\n height: _vm.size + \"px\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 50 50\",\n \"xml:space\": \"preserve\"\n }\n },\n [\n _c(\"path\", {\n attrs: {\n d:\n \"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\n }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/components/MazSpinner/_main.vue?vue&type=template&id=67a8ca41&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazSpinner/_main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ var _mainvue_type_script_lang_js_ = ({\n name: 'MazSpinner',\n props: {\n size: {\n type: Number,\n default: 40\n },\n dark: {\n type: Boolean,\n default: false\n },\n color: {\n type: String,\n default: 'primary'\n }\n },\n computed: {\n fillColorClass: function fillColorClass() {\n return \"maz-fill-\".concat(this.color);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/components/MazSpinner/_main.vue?vue&type=script&lang=js&\n /* harmony default export */ var MazSpinner_mainvue_type_script_lang_js_ = (_mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/components/MazSpinner/_main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n MazSpinner_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/components/MazSpinner/_main.vue\"\n/* harmony default export */ var _main = (component.exports);\n// CONCATENATED MODULE: ./packages/components/MazSpinner/index.js\n\n\n_main.install = function (Vue) {\n Vue.component(_main.name, _main);\n};\n\n/* harmony default export */ var MazSpinner = __webpack_exports__[\"default\"] = (_main);\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* reexport */ debounce; });\n__webpack_require__.d(__webpack_exports__, \"b\", function() { return /* reexport */ pascalCaseToKebabCase; });\n\n// CONCATENATED MODULE: ./packages/utils/debounce.js\n/* harmony default export */ var debounce = (function (func, delay) {\n var debounceTimer;\n return function () {\n var context = this;\n var args = arguments;\n clearTimeout(debounceTimer);\n debounceTimer = setTimeout(function () {\n return func.apply(context, args);\n }, delay);\n };\n});\n// CONCATENATED MODULE: ./packages/utils/pascalCaseToKebabCase.js\n/* harmony default export */ var pascalCaseToKebabCase = (function (string) {\n return string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').replace(/([A-Z])([A-Z])(?=[a-z])/g, '$1-$2').toLowerCase();\n});\n// CONCATENATED MODULE: ./packages/utils/index.js\n\n\n\n/***/ }),\n/* 7 */,\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazInput/_main.vue?vue&type=template&id=5b617c72&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n ref: \"parent\",\n staticClass:\n \"maz-base-component maz-input maz-border maz-border-color maz-border-color-hover maz-border-solid maz-border-radius\",\n class: [\n {\n \"is-focused\": _vm.isFocus || _vm.focus,\n \"is-valid\": _vm.success,\n \"has-value\": _vm.value,\n \"is-textarea\": _vm.textarea,\n \"has-error\": _vm.error,\n \"has-warning\": _vm.warning,\n \"is-disabled\": _vm.disabled,\n \"maz-is-dark\": _vm.dark,\n \"has-hint\": _vm.hint,\n \"has-no-label\": !_vm.hasLabel && !_vm.hint,\n \"has-left-icon\": _vm.hasLeftIcon()\n },\n \"maz-input--\" + _vm.size,\n \"has-\" + _vm.leftNumberIcon + \"-right-icon\",\n \"maz-input--\" + _vm.color\n ],\n on: { click: _vm.focusInput }\n },\n [\n _vm.hasLeftIcon()\n ? _c(\n \"div\",\n {\n staticClass: \"maz-input__icon maz-flex left\",\n class: [\n _vm.textarea ? \"maz-align-start maz-pt-2\" : \"maz-align-center\"\n ]\n },\n [\n _vm._t(\"icon-left\", [\n _c(\"i\", { staticClass: \"material-icons\" }, [\n _vm._v(_vm._s(_vm.leftIconName))\n ])\n ])\n ],\n 2\n )\n : _vm._e(),\n _vm.hasRightIcon()\n ? _c(\n \"div\",\n {\n staticClass: \"maz-input__icon maz-flex right\",\n class: [\n _vm.textarea ? \"maz-align-start maz-pt-2\" : \"maz-align-center\"\n ]\n },\n [\n _vm._t(\"icon-right\", [\n _c(\"i\", { staticClass: \"material-icons\" }, [\n _vm._v(_vm._s(_vm.rightIconName))\n ])\n ])\n ],\n 2\n )\n : _vm._e(),\n _vm.getType === \"checkbox\" && !_vm.textarea\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.inputValue,\n expression: \"inputValue\"\n }\n ],\n ref: \"MazInput\",\n staticClass: \"maz-input__input maz-border-radius\",\n class: {\n \"has-right-icon\":\n _vm.hasClearBtn || _vm.hasPasswordBtn || _vm.hasRightIcon()\n },\n attrs: {\n id: _vm.uniqueId,\n placeholder: _vm.placeholderValue,\n \"aria-label\": _vm.placeholder,\n disabled: _vm.disabled,\n required: _vm.required,\n readonly: _vm.readonly,\n type: \"checkbox\"\n },\n domProps: {\n checked: Array.isArray(_vm.inputValue)\n ? _vm._i(_vm.inputValue, null) > -1\n : _vm.inputValue\n },\n on: {\n keydown: _vm.keyDown,\n keyup: _vm.keyUp,\n focus: _vm.onFocus,\n blur: _vm.onBlur,\n paste: _vm.onPaste,\n change: [\n function($event) {\n var $$a = _vm.inputValue,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.inputValue = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.inputValue = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.inputValue = $$c\n }\n },\n _vm.onChange\n ],\n click: function($event) {\n return _vm.$emit(\"click\", $event)\n }\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _vm.getType === \"radio\" && !_vm.textarea\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.inputValue,\n expression: \"inputValue\"\n }\n ],\n ref: \"MazInput\",\n staticClass: \"maz-input__input maz-border-radius\",\n class: {\n \"has-right-icon\":\n _vm.hasClearBtn || _vm.hasPasswordBtn || _vm.hasRightIcon()\n },\n attrs: {\n id: _vm.uniqueId,\n placeholder: _vm.placeholderValue,\n \"aria-label\": _vm.placeholder,\n disabled: _vm.disabled,\n required: _vm.required,\n readonly: _vm.readonly,\n type: \"radio\"\n },\n domProps: { checked: _vm._q(_vm.inputValue, null) },\n on: {\n keydown: _vm.keyDown,\n keyup: _vm.keyUp,\n focus: _vm.onFocus,\n blur: _vm.onBlur,\n paste: _vm.onPaste,\n change: [\n function($event) {\n _vm.inputValue = null\n },\n _vm.onChange\n ],\n click: function($event) {\n return _vm.$emit(\"click\", $event)\n }\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : !_vm.textarea\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.inputValue,\n expression: \"inputValue\"\n }\n ],\n ref: \"MazInput\",\n staticClass: \"maz-input__input maz-border-radius\",\n class: {\n \"has-right-icon\":\n _vm.hasClearBtn || _vm.hasPasswordBtn || _vm.hasRightIcon()\n },\n attrs: {\n id: _vm.uniqueId,\n placeholder: _vm.placeholderValue,\n \"aria-label\": _vm.placeholder,\n disabled: _vm.disabled,\n required: _vm.required,\n readonly: _vm.readonly,\n type: _vm.getType\n },\n domProps: { value: _vm.inputValue },\n on: {\n keydown: _vm.keyDown,\n keyup: _vm.keyUp,\n focus: _vm.onFocus,\n blur: _vm.onBlur,\n paste: _vm.onPaste,\n change: _vm.onChange,\n click: function($event) {\n return _vm.$emit(\"click\", $event)\n },\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.inputValue = $event.target.value\n }\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _c(\n \"textarea\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.inputValue,\n expression: \"inputValue\"\n }\n ],\n ref: \"MazInput\",\n staticClass: \"maz-input__input maz-textarea\",\n attrs: {\n id: _vm.uniqueId,\n placeholder: _vm.placeholderValue,\n type: _vm.type,\n required: _vm.required,\n readonly: _vm.readonly\n },\n domProps: { value: _vm.inputValue },\n on: {\n keydown: _vm.keyDown,\n keyup: _vm.keyUp,\n focus: _vm.onFocus,\n blur: _vm.onBlur,\n paste: _vm.onPaste,\n change: _vm.onChange,\n click: function($event) {\n return _vm.$emit(\"click\", $event)\n },\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.inputValue = $event.target.value\n }\n }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm.hasLabel || _vm.hint\n ? _c(\n \"label\",\n {\n ref: \"label\",\n staticClass: \"maz-input__label\",\n class: _vm.error ? \"maz-text-danger\" : null,\n attrs: { for: _vm.uniqueId, tabindex: \"-1\" },\n on: { click: _vm.focusInput }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.hintValue || _vm.placeholderValue) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _c(\"transition-group\", { attrs: { name: \"maz-scale\" } }, [\n _vm.hasClearBtn\n ? _c(\n \"button\",\n {\n key: \"clear-button\",\n staticClass:\n \"maz-input__toggle-btn --clear maz-flex maz-flex-center\",\n class: { \"has-right-icon\": _vm.hasRightIcon() },\n attrs: { title: \"clear\", type: \"button\", tabindex: \"-1\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.clear($event)\n }\n }\n },\n [\n _c(\n \"i\",\n { staticClass: \"maz-input__toggle-btn__icon material-icons\" },\n [_vm._v(\"\\n close\\n \")]\n )\n ]\n )\n : _vm._e(),\n _vm.hasPasswordBtn\n ? _c(\n \"button\",\n {\n key: \"password-button\",\n staticClass:\n \"maz-input__toggle-btn password maz-flex maz-flex-center\",\n class: {\n \"has-clear-btn\": _vm.hasClearBtn,\n \"has-right-icon\": _vm.hasRightIcon()\n },\n attrs: { title: \"clear\", type: \"button\", tabindex: \"-1\" },\n on: {\n click: function($event) {\n _vm.showPassword = !_vm.showPassword\n }\n }\n },\n [\n _c(\n \"i\",\n { staticClass: \"maz-input__toggle-btn__icon material-icons\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.showPassword ? \"visibility_off\" : \"visibility\"\n ) +\n \"\\n \"\n )\n ]\n )\n ]\n )\n : _vm._e()\n ]),\n _vm.loading\n ? _c(\n \"div\",\n {\n staticClass: \"maz-input__loader\",\n class: { textarea: _vm.textarea }\n },\n [_c(\"div\", { staticClass: \"maz-input__loader__progress-bar\" })]\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/components/MazInput/_main.vue?vue&type=template&id=5b617c72&\n\n// EXTERNAL MODULE: ./packages/mixins/uniqueId.js\nvar uniqueId = __webpack_require__(2);\n\n// EXTERNAL MODULE: ./packages/utils/index.js + 2 modules\nvar utils = __webpack_require__(6);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazInput/_main.vue?vue&type=script&lang=js&\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nvar DEBOUNCE = 500;\n/**\n * > Beautiful input UI with loading & error manager\n */\n\n/* harmony default export */ var _mainvue_type_script_lang_js_ = ({\n name: 'MazInput',\n mixins: [uniqueId[\"a\" /* default */]],\n props: {\n // value of the input\n value: {\n validator: function validator(prop) {\n return ['string', 'number'].includes(_typeof(prop)) || prop === null;\n },\n default: null\n },\n // input id\n id: {\n type: String,\n default: null\n },\n // value of the input\n placeholder: {\n type: String,\n default: 'Enter text'\n },\n // replace the label if is present\n hint: {\n type: String,\n default: null\n },\n // input size (`'lg'` / `'sm'`)\n size: {\n type: String,\n default: null\n },\n // is the input size (`text` or `number`)\n type: {\n type: String,\n default: 'text'\n },\n // should be a [material icon](https://material.io/resources/icons/) name\n leftIconName: {\n type: String,\n default: null\n },\n // should be a [material icon](https://material.io/resources/icons/) name\n rightIconName: {\n type: String,\n default: null\n },\n // When is `true` the input has the error style\n error: {\n type: Boolean,\n default: false\n },\n // When is `true` the input has the warning style\n warning: {\n type: Boolean,\n default: false\n },\n // When is `true` the input is disable\n disabled: {\n type: Boolean,\n default: false\n },\n // When is `true` the input has the dark theme\n dark: {\n type: Boolean,\n default: false\n },\n // When is `true` the input is on readonly mode\n readonly: {\n type: Boolean,\n default: false\n },\n // When is `true` the input has the valid style\n success: {\n type: Boolean,\n default: false\n },\n // When is `true` the input become required & has the `*` symbol\n required: {\n type: Boolean,\n default: false\n },\n // When is `true` the input is a textarea\n textarea: {\n type: Boolean,\n default: false\n },\n // When is `true` the input has a progress bar animated\n loading: {\n type: Boolean,\n default: false\n },\n // When is `true` the input can be clear with a button on the right\n clearable: {\n type: Boolean,\n default: false\n },\n // When is `true` the input has not label (top placeholder when value is not empty)\n noLabel: {\n type: Boolean,\n default: false\n },\n // When is `true` and is `required`, the `*` symbol is not showing\n noRequiredSymbol: {\n type: Boolean,\n default: false\n },\n // force focus style input\n focus: {\n type: Boolean,\n default: false\n },\n // color name in basic colors\n color: {\n type: String,\n default: 'primary'\n },\n // Add a debounce of 500ms to emit the value\n debounce: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n isFocus: false,\n showPassword: false\n };\n },\n computed: {\n inputValue: {\n get: function get() {\n return this.value;\n },\n set: function set(value) {\n var valueToEmit = this.hasNumberType ? !value ? 0 : parseInt(value) : value;\n this.emitValue(valueToEmit);\n }\n },\n placeholderValue: function placeholderValue() {\n var placeholder = this.placeholder;\n if (this.required && placeholder && !this.noRequiredSymbol) placeholder += ' *';\n return placeholder;\n },\n hintValue: function hintValue() {\n var hint = this.hint;\n if (this.required && hint) hint += ' *';\n return hint;\n },\n hasNumberType: function hasNumberType() {\n return this.type === 'number';\n },\n hasLabel: function hasLabel() {\n return !this.noLabel;\n },\n getType: function getType() {\n return this.showPassword ? 'text' : this.type;\n },\n hasPasswordBtn: function hasPasswordBtn() {\n return this.type === 'password' && this.inputValue;\n },\n hasClearBtn: function hasClearBtn() {\n return this.clearable && this.inputValue && !this.textarea;\n },\n leftNumberIcon: function leftNumberIcon() {\n var array = [!!this.hasRightIcon(), !!this.hasClearBtn, !!this.hasPasswordBtn];\n return array.filter(function (a) {\n return a;\n }).length;\n }\n },\n methods: {\n debounceValue: Object(utils[\"a\" /* debounce */])(function (value) {\n // return the input value (in `@input` or `v-model`)\n // @arg input\n this.$emit('input', value);\n }, DEBOUNCE),\n emitValue: function emitValue(value) {\n if (this.debounce) return this.debounceValue(value);\n this.$emit('input', value);\n },\n hasLeftIcon: function hasLeftIcon() {\n return this.leftIconName || this.$slots['icon-left'];\n },\n hasRightIcon: function hasRightIcon() {\n return this.rightIconName || this.$slots['icon-right'];\n },\n focusInput: function focusInput() {\n this.$refs.MazInput.focus();\n },\n onFocus: function onFocus(e) {\n // sent the focus event\n // @arg event\n this.$emit('focus', e);\n this.isFocus = true;\n },\n onBlur: function onBlur(e) {\n // sent the blur event\n // @arg event\n this.$emit('blur', e);\n this.isFocus = false;\n },\n onPaste: function onPaste(e) {\n // sent when text is past in the textfield\n // @arg event\n this.$emit('paste', e);\n },\n onChange: function onChange(e) {\n // sent on input change\n // @arg event\n this.$emit('change', e);\n },\n clear: function clear() {\n this.$emit('input', this.hasNumberType ? 0 : ''); // sent when the input is clear\n\n this.$emit('clear');\n },\n keyUp: function keyUp(e) {\n // sent the keyup event\n // @arg event\n this.$emit('keyup', e);\n },\n keyDown: function keyDown(e) {\n // sent the keydown event\n // @arg event\n this.$emit('keydown', e);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/components/MazInput/_main.vue?vue&type=script&lang=js&\n /* harmony default export */ var MazInput_mainvue_type_script_lang_js_ = (_mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/components/MazInput/_main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n MazInput_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/components/MazInput/_main.vue\"\n/* harmony default export */ var _main = (component.exports);\n// CONCATENATED MODULE: ./packages/components/MazInput/index.js\n\n\n_main.install = function (Vue) {\n Vue.component(_main.name, _main);\n};\n\n/* harmony default export */ var MazInput = __webpack_exports__[\"default\"] = (_main);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"regenerator-runtime\");\n\n/***/ }),\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"libphonenumber-js\");\n\n/***/ }),\n/* 12 */,\n/* 13 */,\n/* 14 */,\n/* 15 */,\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazSelect/_main.vue?vue&type=template&id=2fb08d76&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"maz-base-component maz-select\",\n class: [\n {\n \"has-list-open\": _vm.hasOpenList,\n \"maz-is-dark\": _vm.dark\n },\n \"maz-select--\" + _vm.color,\n \"maz-select--\" + _vm.size\n ],\n on: {\n \"!blur\": function($event) {\n return _vm.closeList($event)\n }\n }\n },\n [\n _vm.multiple\n ? _c(\n \"div\",\n {\n ref: \"SelectedTags\",\n staticClass: \"maz-select__tags maz-flex maz-align-center\",\n class: {\n \"maz-left-offset\": _vm.hasLeftIcon\n }\n },\n [\n _c(\n \"transition-group\",\n {\n ref: \"SelectedTagsContainer\",\n staticClass: \"maz-flex maz-align-center maz-h-100\",\n attrs: { tag: \"div\", name: \"maz-tags\" }\n },\n _vm._l(_vm.selectedOptions, function(option, i) {\n return _c(\n \"MazBtn\",\n {\n key: \"tags-\" + i,\n staticClass: \"maz-select__tag maz-flex maz-align-center\",\n attrs: {\n disabled: _vm.disabled,\n color: _vm.color,\n size: _vm.size\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n $event.stopPropagation()\n return _vm.removeOption(option[_vm.config.valueKey])\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"maz-select__tag__text\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(option[_vm.config.labelKey]) +\n \"\\n \"\n )\n ]),\n _c(\n \"i\",\n {\n staticClass: \"maz-select__tag__clear material-icons\"\n },\n [_vm._v(\"\\n close\\n \")]\n )\n ]\n )\n }),\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"MazInput\",\n _vm._b(\n {\n ref: \"textField\",\n attrs: {\n value: _vm.valueShown,\n readonly: \"\",\n \"no-label\": _vm.hasNoLabel,\n color: _vm.color,\n size: _vm.size,\n placeholder: _vm.placeholderShown,\n disabled: _vm.disabled,\n focus: _vm.hasOpenList\n },\n on: {\n clear: function($event) {\n return _vm.emitValues(null)\n },\n keydown: function($event) {\n _vm.search ? null : _vm.keyboardNav($event)\n },\n keyup: function($event) {\n return _vm.$emit(\"keyup\", $event)\n },\n blur: function($event) {\n return _vm.$emit(\"blur\", $event)\n },\n change: function($event) {\n return _vm.$emit(\"change\", $event)\n },\n paste: function($event) {\n return _vm.$emit(\"paste\", $event)\n },\n click: function($event) {\n return _vm.$emit(\"click\", $event)\n },\n focus: _vm.openList\n }\n },\n \"MazInput\",\n _vm.$attrs,\n false\n ),\n [\n _vm._t(\"icon-left\", null, { slot: \"icon-left\" }),\n _c(\n \"div\",\n {\n staticClass: \"maz-select__toggle maz-flex maz-flex-center\",\n attrs: { slot: \"icon-right\", tabindex: \"-1\" },\n slot: \"icon-right\"\n },\n [\n _vm._t(\"arrow\", [\n _c(\n \"svg\",\n {\n staticClass: \"maz-select__toggle__arrow\",\n attrs: {\n mlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\"\n }\n },\n [\n _c(\"path\", {\n staticClass: \"arrow\",\n attrs: {\n d:\n \"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"\n }\n }),\n _c(\"path\", {\n attrs: { fill: \"none\", d: \"M0 0h24v24H0V0z\" }\n })\n ]\n )\n ])\n ],\n 2\n )\n ],\n 2\n ),\n _c(\"transition\", { attrs: { name: _vm.listTransition } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.hasOpenList,\n expression: \"hasOpenList\"\n }\n ],\n staticClass: \"maz-select__options-list maz-flex maz-elevation\",\n class: [\n _vm.hasPositionTop\n ? \"maz-select__options-list--top maz-direction-column-reverse\"\n : \"maz-direction-column\",\n { \"maz-select__options-list--right\": _vm.hasPositionRight }\n ],\n style: [_vm.itemListSize]\n },\n [\n _vm.search\n ? _c(\"MazInput\", {\n ref: \"SearchInput\",\n staticClass: \"maz-m-1\",\n attrs: {\n color: _vm.color,\n value: _vm.searchQuery,\n placeholder: _vm.searchPlaceholder,\n size: \"sm\",\n \"no-label\": \"\",\n name: \"new_search_in_options\",\n autocomplete: \"off\"\n },\n on: {\n input: _vm.searchInOptions,\n keydown: [\n _vm.keyboardNav,\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n return _vm.closeList($event)\n }\n ]\n }\n })\n : _vm._e(),\n _c(\n \"div\",\n {\n ref: \"optionsList\",\n staticClass:\n \"maz-select__options-list__items maz-flex maz-direction-column\"\n },\n [\n _vm._l(_vm.optionsShown, function(option, i) {\n return _c(\n \"button\",\n {\n key: i,\n staticClass:\n \"maz-select__options-list__item flex maz-align-center maz-text-left\",\n class: [\n {\n selected:\n _vm.values.length &&\n _vm.values.includes(option[_vm.config.valueKey])\n },\n {\n \"keyboard-selected\":\n _vm.tmpValue === option[_vm.config.valueKey]\n }\n ],\n style: [_vm.optionHeight],\n attrs: { tabindex: \"-1\", type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n $event.stopPropagation()\n return _vm.updateValue(option[_vm.config.valueKey])\n }\n }\n },\n [\n _vm._t(\n \"default\",\n [\n _c(\n \"span\",\n {\n staticClass: \"maz-dots-text\",\n class: [\n {\n \"maz-text-muted\": !option[_vm.config.valueKey]\n },\n _vm.values.includes(option[_vm.config.valueKey])\n ? \"maz-text-white\"\n : \"maz-text-color\"\n ]\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option[_vm.config.labelKey]) +\n \"\\n \"\n )\n ]\n )\n ],\n {\n option: Object.assign({}, option, {\n isSelected: _vm.values.includes(\n option[_vm.config.valueKey]\n )\n }),\n tag: \"div\"\n }\n )\n ],\n 2\n )\n }),\n !_vm.optionsShown.length\n ? _vm._t(\n \"no-results\",\n [\n _c(\n \"div\",\n {\n staticClass:\n \"maz-select__options-list__no-results maz-p-1 maz-flex maz-flex-center\"\n },\n [\n _c(\n \"i\",\n { staticClass: \"material-icons maz-text-danger\" },\n [\n _vm._v(\n \"\\n search_off\\n \"\n )\n ]\n )\n ]\n )\n ],\n { tag: \"div\" }\n )\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/components/MazSelect/_main.vue?vue&type=template&id=2fb08d76&\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__(1);\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// EXTERNAL MODULE: ./packages/components/MazInput/index.js + 5 modules\nvar MazInput = __webpack_require__(8);\n\n// EXTERNAL MODULE: ./packages/components/MazBtn/index.js + 5 modules\nvar MazBtn = __webpack_require__(4);\n\n// EXTERNAL MODULE: ./packages/mixins/uniqueId.js\nvar uniqueId = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazSelect/_main.vue?vue&type=script&lang=js&\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/**\n * > Beautiful select input\n */\n\n/* harmony default export */ var _mainvue_type_script_lang_js_ = ({\n name: 'MazSelect',\n components: {\n MazInput: MazInput[\"default\"],\n MazBtn: MazBtn[\"default\"]\n },\n mixins: [uniqueId[\"a\" /* default */]],\n props: {\n // is the value of the input\n value: {\n required: true,\n validator: function validator(prop) {\n return ['number', 'string', 'boolean'].includes(_typeof(prop)) || Array.isArray(prop) || prop === null;\n }\n },\n // list of the options\n options: {\n type: Array,\n required: true\n },\n // When is `true` the select is disabled\n disabled: {\n type: Boolean,\n default: false\n },\n // When is `true` the select has the dark style\n dark: {\n type: Boolean,\n default: false\n },\n // Item in list height in pixel\n itemHeight: {\n type: Number,\n default: 35\n },\n // List height in pixel\n listHeight: {\n type: Number,\n default: 260\n },\n // List width in pixel or percent (:list-width=\"100\", list-width=\"100%\")\n listWidth: {\n type: [Number, String],\n default: null\n },\n // The select has no label in the input\n placeholder: {\n type: String,\n default: 'Select option'\n },\n // When is `true` the select you select multiple values\n noLabel: {\n type: Boolean,\n default: false\n },\n // When is `true` the select you select multiple values\n multiple: {\n type: Boolean,\n default: false\n },\n // When is `true` the select has an input to search in options\n search: {\n type: Boolean,\n default: false\n },\n // the search input placeholder\n searchPlaceholder: {\n type: String,\n default: 'Search in options'\n },\n // the search input placeholder\n color: {\n type: String,\n default: 'primary'\n },\n // input size\n size: {\n type: String,\n default: 'md'\n },\n // When is `true` the option list is open\n open: {\n type: Boolean,\n default: false\n },\n // set the position of option list (`top`, `top right`, `bottom right`)\n position: {\n type: String,\n default: 'left bottom'\n },\n // set label key and value key - Ex: `{ labelKey: '', valueKey: '', searchKey: '' }`\n config: {\n type: Object,\n default: function _default() {\n return {\n labelKey: 'label',\n valueKey: 'value',\n searchKey: 'label'\n };\n }\n },\n // force value shown on input\n inputValue: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n listIsOpen: false,\n query: '',\n tmpValue: null,\n searchQuery: null,\n filteredOptions: null\n };\n },\n computed: {\n hasPositionTop: function hasPositionTop() {\n return this.position.includes('top');\n },\n hasPositionRight: function hasPositionRight() {\n return this.position.includes('right');\n },\n listTransition: function listTransition() {\n return this.position.includes('bottom') ? 'maz-slide' : 'maz-slideinvert';\n },\n hasOpenList: function hasOpenList() {\n return this.open || this.listIsOpen;\n },\n values: function values() {\n var multiple = this.multiple,\n value = this.value,\n options = this.options;\n if (!options) throw new Error('[MazSelect] options should be provide');\n if (multiple && !Array.isArray(value) && value !== null) throw new Error('[MazSelect] value should be an array or null');\n if (!multiple && Array.isArray(value)) throw new Error('[MazSelect] value should be a string, a number or null');\n return value ? multiple ? _toConsumableArray(value) : [value] : [];\n },\n hasLeftIcon: function hasLeftIcon() {\n return this.$attrs.leftIconName || this.$slots['icon-left'];\n },\n placeholderShown: function placeholderShown() {\n var placeholder = this.placeholder,\n multiple = this.multiple,\n values = this.values;\n return multiple && values.length ? null : placeholder;\n },\n hasNoLabel: function hasNoLabel() {\n return this.multiple || this.noLabel;\n },\n optionHeight: function optionHeight() {\n return {\n height: \"\".concat(this.itemHeight, \"px\"),\n flex: \"0 0 \".concat(this.itemHeight, \"px\")\n };\n },\n itemListSize: function itemListSize() {\n var listHeight = this.listHeight,\n listWidth = this.listWidth;\n var width = !Number.isInteger(listWidth) ? listWidth : \"\".concat(listWidth, \"px\");\n return {\n maxHeight: \"\".concat(listHeight, \"px\"),\n width: width,\n maxWidth: width\n };\n },\n tmpValueIndex: function tmpValueIndex() {\n var config = this.config,\n tmpValue = this.tmpValue,\n optionsShown = this.optionsShown;\n return optionsShown.findIndex(function (c) {\n return c[config.valueKey] === tmpValue;\n });\n },\n selectedValueIndex: function selectedValueIndex() {\n var values = this.values,\n options = this.options,\n config = this.config;\n return values.length ? options.findIndex(function (c) {\n return c[config.valueKey] === values[values.length - 1];\n }) : null;\n },\n valueShown: function valueShown() {\n if (this.inputValue) return this.inputValue;\n var multiple = this.multiple,\n options = this.options,\n values = this.values,\n value = this.value,\n config = this.config;\n var valueSelected = options.find(function (o) {\n return o[config.valueKey] === value;\n });\n var result = valueSelected && valueSelected[config.valueKey] && !multiple ? valueSelected[config.labelKey] : values[0] ? ' ' : null;\n return result;\n },\n optionsShown: function optionsShown() {\n return this.filteredOptions || this.options;\n },\n selectedOptions: function selectedOptions() {\n var values = this.values,\n options = this.options,\n config = this.config;\n var optionsSelected = [];\n values.forEach(function (v) {\n return optionsSelected.push(options.find(function (o) {\n return v === o[config.valueKey];\n }));\n });\n return optionsSelected;\n }\n },\n watch: {\n value: {\n handler: function handler() {\n var multiple = this.multiple;\n if (multiple) this.scrollTags();\n },\n immediate: true\n }\n },\n methods: {\n scrollTags: function scrollTags() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var _SelectedTagsContaine, _SelectedTagsContaine2;\n\n var _this$$refs, SelectedTags, SelectedTagsContainer;\n\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.$nextTick();\n\n case 2:\n _this$$refs = _this.$refs, SelectedTags = _this$$refs.SelectedTags, SelectedTagsContainer = _this$$refs.SelectedTagsContainer;\n if (SelectedTags) SelectedTags.scrollLeft = (_SelectedTagsContaine = SelectedTagsContainer === null || SelectedTagsContainer === void 0 ? void 0 : (_SelectedTagsContaine2 = SelectedTagsContainer.$el) === null || _SelectedTagsContaine2 === void 0 ? void 0 : _SelectedTagsContaine2.clientWidth) !== null && _SelectedTagsContaine !== void 0 ? _SelectedTagsContaine : null;\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n removeOption: function removeOption(value) {\n var values = this.values,\n multiple = this.multiple;\n var leftValues = values.filter(function (v) {\n return v !== value;\n });\n var valueToReturn = leftValues.length ? multiple ? leftValues : leftValues[0] : null;\n this.emitValues(valueToReturn);\n },\n closeList: function closeList() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.$el.contains(e.relatedTarget)) return e.preventDefault();\n this.$emit('close');\n this.listIsOpen = false;\n this.isFocus = false;\n },\n openList: function openList(e) {\n this.$emit('focus', e);\n var disabled = this.disabled,\n search = this.search,\n values = this.values;\n\n if (!disabled) {\n if (disabled) return; // sent when the list is open\n\n this.$emit('open');\n this.isFocus = true;\n this.listIsOpen = true;\n this.selectFirstValue();\n if (search) this.focusSearchInput();\n if (values.length) this.scrollToSelectedOnFocus(this.selectedValueIndex);\n }\n },\n clearSearch: function clearSearch() {\n this.searchQuery = null;\n this.filteredOptions = null;\n },\n reset: function reset() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.clearSearch();\n\n if (!_this2.multiple) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n _this2.closeList();\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n selectFirstValue: function selectFirstValue() {\n var multiple = this.multiple,\n value = this.value,\n options = this.options,\n config = this.config;\n if (value || multiple) return;\n var valueToReturn = options[0][config.valueKey] || null;\n this.tmpValue = valueToReturn;\n this.emitValues(valueToReturn, true);\n },\n updateValue: function updateValue(value) {\n var multiple = this.multiple,\n values = this.values,\n removeOption = this.removeOption;\n if (values.includes(value) && multiple) return removeOption(value);\n this.tmpValue = value;\n if (value) values.push(value);\n var valueToReturn = multiple && value ? values : value;\n this.emitValues(valueToReturn);\n },\n focusSearchInput: function focusSearchInput() {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {\n var SearchInput;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this3.$nextTick();\n\n case 2:\n SearchInput = _this3.$refs.SearchInput;\n SearchInput.$el.querySelector('input').focus();\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n emitValues: function emitValues(values, noReset) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee4() {\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n // return the select input\n // @arg the option value selected\n _this4.$emit('input', values);\n\n if (!noReset) {\n _context4.next = 3;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 3:\n _context4.next = 5;\n return _this4.$nextTick();\n\n case 5:\n _this4.reset();\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n scrollToSelectedOnFocus: function scrollToSelectedOnFocus(arrayIndex) {\n var _this5 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this5.$nextTick();\n\n case 2:\n _this5.$refs.optionsList.scrollTop = arrayIndex * _this5.itemHeight - _this5.itemHeight * 3;\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n keyboardNav: function keyboardNav(e) {\n var code = e.keyCode;\n var hasOpenList = this.hasOpenList,\n tmpValueIndex = this.tmpValueIndex,\n optionsShown = this.optionsShown,\n openList = this.openList,\n tmpValue = this.tmpValue,\n search = this.search,\n config = this.config;\n\n if (code === 40 || code === 38) {\n e.preventDefault();\n if (!hasOpenList) openList();\n var index = code === 40 ? tmpValueIndex + 1 : tmpValueIndex - 1;\n\n if (index === -1 || index >= optionsShown.length) {\n index = index === -1 ? optionsShown.length - 1 : 0;\n }\n\n this.tmpValue = optionsShown[index][config.valueKey];\n this.scrollToSelectedOnFocus(index);\n } else if (code === 13) {\n // enter key\n e.preventDefault();\n hasOpenList ? this.updateValue(tmpValue) : this.openList();\n } else if (code === 27) {\n // escape key\n this.closeList();\n } else if (!search) {\n // typing an option's name\n this.searching(e);\n }\n },\n searching: function searching(e) {\n var _this6 = this;\n\n var config = this.config,\n options = this.options;\n var code = e.keyCode;\n clearTimeout(queryTimer);\n var queryTimer = setTimeout(function () {\n _this6.query = '';\n }, 2000);\n var q = String.fromCharCode(code);\n\n if (code === 8 && this.query !== '') {\n this.query = this.query.substring(0, this.query.length - 1);\n } else if (/[a-zA-Z-e ]/.test(q)) {\n if (!this.hasOpenList) this.openList();\n this.query += q.toLowerCase();\n var resultIndex = options.findIndex(function (o) {\n _this6.tmpValue = o[config.valueKey];\n return o[config.searchKey].toLowerCase().includes(_this6.query);\n });\n\n if (resultIndex !== -1) {\n this.scrollToSelectedOnFocus(resultIndex);\n }\n }\n },\n searchInOptions: function searchInOptions(query) {\n var config = this.config,\n options = this.options;\n this.searchQuery = query === '' ? null : query;\n if (!this.searchQuery) return this.filteredOptions = options;\n var searchQuery = query.toLowerCase();\n var filteredOptions = options.filter(function (o) {\n return o[config.valueKey] && o[config.searchKey].toLowerCase().includes(searchQuery);\n });\n this.tmpValue = filteredOptions.length ? filteredOptions[0][config.valueKey] : null;\n this.filteredOptions = filteredOptions;\n }\n }\n});\n// CONCATENATED MODULE: ./packages/components/MazSelect/_main.vue?vue&type=script&lang=js&\n /* harmony default export */ var MazSelect_mainvue_type_script_lang_js_ = (_mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/components/MazSelect/_main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n MazSelect_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/components/MazSelect/_main.vue\"\n/* harmony default export */ var _main = (component.exports);\n// CONCATENATED MODULE: ./packages/components/MazSelect/index.js\n\n\n_main.install = function (Vue) {\n Vue.component(_main.name, _main);\n};\n\n/* harmony default export */ var MazSelect = __webpack_exports__[\"default\"] = (_main);\n\n/***/ }),\n/* 17 */,\n/* 18 */,\n/* 19 */,\n/* 20 */,\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"libphonenumber-js/examples.mobile.json\");\n\n/***/ }),\n/* 22 */,\n/* 23 */,\n/* 24 */,\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazPhoneNumberInput/_main.vue?vue&type=template&id=0022c02d&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"maz-base-component maz-phone-number-input maz-flex\",\n class: [\n { \"maz-is-dark\": _vm.dark },\n \"maz-phone-number-input--\" + _vm.size\n ],\n attrs: { id: _vm.id }\n },\n [\n !_vm.noCountrySelector\n ? _c(\"MazSelect\", {\n ref: \"CountrySelector\",\n staticClass: \"country-selector\",\n class: {\n \"no-padding-left\": _vm.noFlags || !_vm.countryCode\n },\n attrs: {\n value: _vm.countryCode,\n options: _vm.countriesSorted,\n placeholder: _vm.t.countrySelectorLabel,\n search: \"\",\n position: _vm.position,\n \"search-placeholder\": _vm.t.countrySelectorSearchPlaceholder,\n \"items-height\": _vm.countriesHeight,\n error: _vm.shouldChooseCountry,\n hint: _vm.shouldChooseCountry ? _vm.t.countrySelectorError : null,\n size: _vm.size,\n success: _vm.isValid && !_vm.noValidation,\n disabled: _vm.disabled,\n \"input-value\": _vm.callingCode,\n \"list-width\": 250,\n config: {\n labelKey: \"dialCode\",\n searchKey: \"name\",\n valueKey: \"iso2\"\n },\n color: _vm.color\n },\n on: {\n input: function($event) {\n return _vm.setCountryCode($event, true)\n }\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function(ref) {\n var option = ref.option\n return [\n _c(\"div\", { staticClass: \"maz-flex maz-align-center\" }, [\n !_vm.noFlags\n ? _c(\n \"div\",\n {\n staticClass:\n \"country-selector__flag-container maz-mr-2\"\n },\n [\n _c(\"div\", {\n class:\n \"maz-flag maz-flag-\" +\n option.iso2.toLowerCase()\n })\n ]\n )\n : _vm._e(),\n _vm.showCodeOnList\n ? _c(\n \"span\",\n {\n staticClass:\n \"country-selector__calling-code maz-flex-fixed maz-text-muted\",\n class: {\n \"maz-text-muted-dark\": option.isSelected\n }\n },\n [\n _vm._v(\n \"\\n +\" +\n _vm._s(option.dialCode) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n staticClass:\n \"maz-dots-text maz-flex-1 maz-text-left maz-text-color\",\n class: {\n \"maz-text-white\": option.isSelected\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.name) +\n \"\\n \"\n )\n ]\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 2447316597\n )\n })\n : _vm._e(),\n _vm.countryCode && !_vm.noFlags && !_vm.noCountrySelector\n ? _c(\n \"button\",\n {\n staticClass: \"\\n maz-phone-number-input__country-flag\",\n attrs: { tabindex: \"-1\" },\n on: { click: _vm.focusCountrySelector }\n },\n [\n _c(\"div\", {\n class: \"maz-flag maz-flag-\" + _vm.countryCode.toLowerCase()\n })\n ]\n )\n : _vm._e(),\n _c(\n \"MazInput\",\n _vm._b(\n {\n ref: \"PhoneNumberInput\",\n staticClass: \"input-phone-number maz-flex-1\",\n class: {\n \"has-border-radius\": _vm.noCountrySelector\n },\n attrs: {\n id: _vm.uniqueId ? _vm.uniqueId + \"_phone_number\" : null,\n value: _vm.asYouTypeNumber,\n placeholder: _vm.placeholder || _vm.t.phoneNumberLabel,\n hint: _vm.hint || _vm.hintValue,\n disabled: _vm.disabled,\n size: _vm.size,\n success: _vm.isValid && !_vm.noValidation,\n clearable: \"\",\n color: _vm.color\n },\n on: {\n keydown: function(e) {\n _vm.lastKeyPressed = e.keyCode\n },\n focus: function($event) {\n return _vm.$emit(\"focus\", $event)\n },\n blur: function($event) {\n return _vm.$emit(\"blur\", $event)\n },\n change: function($event) {\n return _vm.$emit(\"change\", $event)\n },\n clear: function($event) {\n return _vm.$emit(\"clear\", $event)\n },\n input: _vm.buildResults\n }\n },\n \"MazInput\",\n _vm.$attrs,\n false\n ),\n [\n _vm._t(\"icon-left\", null, { slot: \"icon-left\" }),\n _vm._t(\"icon-right\", null, { slot: \"icon-right\" })\n ],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/_main.vue?vue&type=template&id=0022c02d&\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__(1);\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// EXTERNAL MODULE: external \"libphonenumber-js\"\nvar external_libphonenumber_js_ = __webpack_require__(11);\n\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/constantes/js/phoneCodeCountries.js\nvar allCountries = [['Afghanistan (‫افغانستان‬‎)', 'af', '93'], ['Albania (Shqipëri)', 'al', '355'], ['Algeria (‫الجزائر‬‎)', 'dz', '213'], ['American Samoa', 'as', '1684'], // [\n// 'Andorra',\n// 'ad',\n// '376'\n// ],\n['Angola', 'ao', '244'], ['Anguilla', 'ai', '1264'], ['Antigua and Barbuda', 'ag', '1268'], ['Argentina', 'ar', '54'], ['Armenia (Հայաստան)', 'am', '374'], ['Aruba', 'aw', '297'], ['Australia', 'au', '61', 0], ['Austria (Österreich)', 'at', '43'], ['Azerbaijan (Azərbaycan)', 'az', '994'], ['Bahamas', 'bs', '1242'], ['Bahrain (‫البحرين‬‎)', 'bh', '973'], ['Bangladesh (বাংলাদেশ)', 'bd', '880'], ['Barbados', 'bb', '1246'], ['Belarus (Беларусь)', 'by', '375'], ['Belgium (België)', 'be', '32'], ['Belize', 'bz', '501'], ['Benin (Bénin)', 'bj', '229'], ['Bermuda', 'bm', '1441'], ['Bhutan (འབྲུག)', 'bt', '975'], ['Bolivia', 'bo', '591'], ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'], ['Botswana', 'bw', '267'], ['Brazil (Brasil)', 'br', '55'], ['British Indian Ocean Territory', 'io', '246'], ['British Virgin Islands', 'vg', '1284'], ['Brunei', 'bn', '673'], ['Bulgaria (България)', 'bg', '359'], ['Burkina Faso', 'bf', '226'], ['Burundi (Uburundi)', 'bi', '257'], ['Cambodia (កម្ពុជា)', 'kh', '855'], ['Cameroon (Cameroun)', 'cm', '237'], ['Canada', 'ca', '1', 1, ['204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416', '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587', '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807', '819', '825', '867', '873', '902', '905']], ['Cape Verde (Kabu Verdi)', 'cv', '238'], ['Caribbean Netherlands', 'bq', '599', 1], ['Cayman Islands', 'ky', '1345'], ['Central African Republic (République centrafricaine)', 'cf', '236'], ['Chad (Tchad)', 'td', '235'], ['Chile', 'cl', '56'], ['China (中国)', 'cn', '86'], ['Christmas Island', 'cx', '61', 2], ['Cocos (Keeling) Islands', 'cc', '61', 1], ['Colombia', 'co', '57'], ['Comoros (‫جزر القمر‬‎)', 'km', '269'], ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'], ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'], ['Cook Islands', 'ck', '682'], ['Costa Rica', 'cr', '506'], ['Côte d’Ivoire', 'ci', '225'], ['Croatia (Hrvatska)', 'hr', '385'], ['Cuba', 'cu', '53'], ['Curaçao', 'cw', '599', 0], ['Cyprus (Κύπρος)', 'cy', '357'], ['Czech Republic (Česká republika)', 'cz', '420'], ['Denmark (Danmark)', 'dk', '45'], ['Djibouti', 'dj', '253'], ['Dominica', 'dm', '1767'], ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']], ['Ecuador', 'ec', '593'], ['Egypt (‫مصر‬‎)', 'eg', '20'], ['El Salvador', 'sv', '503'], ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'], ['Eritrea', 'er', '291'], ['Estonia (Eesti)', 'ee', '372'], ['Ethiopia', 'et', '251'], ['Falkland Islands (Islas Malvinas)', 'fk', '500'], ['Faroe Islands (Føroyar)', 'fo', '298'], ['Fiji', 'fj', '679'], ['Finland (Suomi)', 'fi', '358', 0], ['France', 'fr', '33'], ['French Guiana (Guyane française)', 'gf', '594'], ['French Polynesia (Polynésie française)', 'pf', '689'], ['Gabon', 'ga', '241'], ['Gambia', 'gm', '220'], ['Georgia (საქართველო)', 'ge', '995'], ['Germany (Deutschland)', 'de', '49'], ['Ghana (Gaana)', 'gh', '233'], ['Gibraltar', 'gi', '350'], ['Greece (Ελλάδα)', 'gr', '30'], ['Greenland (Kalaallit Nunaat)', 'gl', '299'], ['Grenada', 'gd', '1473'], ['Guadeloupe', 'gp', '590', 0], ['Guam', 'gu', '1671'], ['Guatemala', 'gt', '502'], ['Guernsey', 'gg', '44', 1], ['Guinea (Guinée)', 'gn', '224'], ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'], ['Guyana', 'gy', '592'], ['Haiti', 'ht', '509'], ['Honduras', 'hn', '504'], ['Hong Kong (香港)', 'hk', '852'], ['Hungary (Magyarország)', 'hu', '36'], ['Iceland (Ísland)', 'is', '354'], ['India (भारत)', 'in', '91'], ['Indonesia', 'id', '62'], ['Iran (‫ایران‬‎)', 'ir', '98'], ['Iraq (‫العراق‬‎)', 'iq', '964'], ['Ireland', 'ie', '353'], ['Isle of Man', 'im', '44', 2], ['Israel (‫ישראל‬‎)', 'il', '972'], ['Italy (Italia)', 'it', '39', 0], ['Jamaica', 'jm', '1876'], ['Japan (日本)', 'jp', '81'], ['Jersey', 'je', '44', 3], ['Jordan (‫الأردن‬‎)', 'jo', '962'], ['Kazakhstan (Казахстан)', 'kz', '7', 1], ['Kenya', 'ke', '254'], ['Kiribati', 'ki', '686'], ['Kosovo', 'xk', '383'], ['Kuwait (‫الكويت‬‎)', 'kw', '965'], ['Kyrgyzstan (Кыргызстан)', 'kg', '996'], ['Laos (ລາວ)', 'la', '856'], ['Latvia (Latvija)', 'lv', '371'], ['Lebanon (‫لبنان‬‎)', 'lb', '961'], ['Lesotho', 'ls', '266'], ['Liberia', 'lr', '231'], ['Libya (‫ليبيا‬‎)', 'ly', '218'], ['Liechtenstein', 'li', '423'], ['Lithuania (Lietuva)', 'lt', '370'], ['Luxembourg', 'lu', '352'], ['Macau (澳門)', 'mo', '853'], ['Macedonia (FYROM) (Македонија)', 'mk', '389'], ['Madagascar (Madagasikara)', 'mg', '261'], ['Malawi', 'mw', '265'], ['Malaysia', 'my', '60'], ['Maldives', 'mv', '960'], ['Mali', 'ml', '223'], ['Malta', 'mt', '356'], ['Marshall Islands', 'mh', '692'], ['Martinique', 'mq', '596'], ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'], ['Mauritius (Moris)', 'mu', '230'], ['Mayotte', 'yt', '262', 1], ['Mexico (México)', 'mx', '52'], ['Micronesia', 'fm', '691'], ['Moldova (Republica Moldova)', 'md', '373'], ['Monaco', 'mc', '377'], ['Mongolia (Монгол)', 'mn', '976'], ['Montenegro (Crna Gora)', 'me', '382'], ['Montserrat', 'ms', '1664'], ['Morocco (‫المغرب‬‎)', 'ma', '212', 0], ['Mozambique (Moçambique)', 'mz', '258'], ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'], ['Namibia (Namibië)', 'na', '264'], ['Nauru', 'nr', '674'], ['Nepal (नेपाल)', 'np', '977'], ['Netherlands (Nederland)', 'nl', '31'], ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'], ['New Zealand', 'nz', '64'], ['Nicaragua', 'ni', '505'], ['Niger (Nijar)', 'ne', '227'], ['Nigeria', 'ng', '234'], ['Niue', 'nu', '683'], ['Norfolk Island', 'nf', '672'], ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'], ['Northern Mariana Islands', 'mp', '1670'], ['Norway (Norge)', 'no', '47', 0], ['Oman (‫عُمان‬‎)', 'om', '968'], ['Pakistan (‫پاکستان‬‎)', 'pk', '92'], ['Palau', 'pw', '680'], ['Palestine (‫فلسطين‬‎)', 'ps', '970'], ['Panama (Panamá)', 'pa', '507'], ['Papua New Guinea', 'pg', '675'], ['Paraguay', 'py', '595'], ['Peru (Perú)', 'pe', '51'], ['Philippines', 'ph', '63'], ['Poland (Polska)', 'pl', '48'], ['Portugal', 'pt', '351'], ['Puerto Rico', 'pr', '1', 3, ['787', '939']], ['Qatar (‫قطر‬‎)', 'qa', '974'], ['Réunion (La Réunion)', 're', '262', 0], ['Romania (România)', 'ro', '40'], ['Russia (Россия)', 'ru', '7', 0], ['Rwanda', 'rw', '250'], ['Saint Barthélemy', 'bl', '590', 1], ['Saint Helena', 'sh', '290'], ['Saint Kitts and Nevis', 'kn', '1869'], ['Saint Lucia', 'lc', '1758'], ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2], ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'], ['Saint Vincent and the Grenadines', 'vc', '1784'], ['Samoa', 'ws', '685'], ['San Marino', 'sm', '378'], ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'], ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'], ['Senegal (Sénégal)', 'sn', '221'], ['Serbia (Србија)', 'rs', '381'], ['Seychelles', 'sc', '248'], ['Sierra Leone', 'sl', '232'], ['Singapore', 'sg', '65'], ['Sint Maarten', 'sx', '1721'], ['Slovakia (Slovensko)', 'sk', '421'], ['Slovenia (Slovenija)', 'si', '386'], ['Solomon Islands', 'sb', '677'], ['Somalia (Soomaaliya)', 'so', '252'], ['South Africa', 'za', '27'], ['South Korea (대한민국)', 'kr', '82'], ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'], ['Spain (España)', 'es', '34'], ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'], ['Sudan (‫السودان‬‎)', 'sd', '249'], ['Suriname', 'sr', '597'], ['Svalbard and Jan Mayen', 'sj', '47', 1], ['Swaziland', 'sz', '268'], ['Sweden (Sverige)', 'se', '46'], ['Switzerland (Schweiz)', 'ch', '41'], ['Syria (‫سوريا‬‎)', 'sy', '963'], ['Taiwan (台灣)', 'tw', '886'], ['Tajikistan', 'tj', '992'], ['Tanzania', 'tz', '255'], ['Thailand (ไทย)', 'th', '66'], ['Timor-Leste', 'tl', '670'], ['Togo', 'tg', '228'], ['Tokelau', 'tk', '690'], ['Tonga', 'to', '676'], ['Trinidad and Tobago', 'tt', '1868'], ['Tunisia (‫تونس‬‎)', 'tn', '216'], ['Turkey (Türkiye)', 'tr', '90'], ['Turkmenistan', 'tm', '993'], ['Turks and Caicos Islands', 'tc', '1649'], ['Tuvalu', 'tv', '688'], ['U.S. Virgin Islands', 'vi', '1340'], ['Uganda', 'ug', '256'], ['Ukraine (Україна)', 'ua', '380'], ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'], ['United Kingdom', 'gb', '44', 0], ['United States', 'us', '1', 0], ['Uruguay', 'uy', '598'], ['Uzbekistan (Oʻzbekiston)', 'uz', '998'], ['Vanuatu', 'vu', '678'], ['Vatican City (Città del Vaticano)', 'va', '39', 1], ['Venezuela', 've', '58'], ['Vietnam (Việt Nam)', 'vn', '84'], ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'], ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1], ['Yemen (‫اليمن‬‎)', 'ye', '967'], ['Zambia', 'zm', '260'], ['Zimbabwe', 'zw', '263'], ['Åland Islands', 'ax', '358', 1]];\nvar countriesIso = allCountries.map(function (country) {\n return country[1].toUpperCase();\n});\nvar countries = allCountries.map(function (country) {\n return {\n name: country[0],\n iso2: country[1].toUpperCase(),\n dialCode: country[2],\n priority: country[3] || 0,\n areaCodes: country[4] || null\n };\n});\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/utils/index.js\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n\n\nvar browserLocale = function browserLocale() {\n if (typeof window === 'undefined') return null;\n var browserLocale = window.navigator.userLanguage || window.navigator.language;\n var locale = browserLocale ? browserLocale.substr(3, 4).toUpperCase() : null;\n if (locale === '') locale = browserLocale.substr(0, 2).toUpperCase(); // fallback to US country\n\n if (locale === 'EN') locale = 'US';\n if (locale === 'JA') locale = 'JP';\n return locale;\n};\nvar isCountryAvailable = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee(locale) {\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n\n if (!countriesIso.includes(locale)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", true);\n\n case 3:\n throw \"MazPhoneNumberInput: The country \".concat(locale, \" is not available\");\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](0);\n throw new Error(_context.t0);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 6]]);\n }));\n\n return function isCountryAvailable(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nvar utils_getResultsFromPhoneNumber = function getResultsFromPhoneNumber(phoneNumber, countryCode) {\n var parsing = phoneNumber ? Object(external_libphonenumber_js_[\"parsePhoneNumberFromString\"])(phoneNumber, countryCode) : null;\n var results = {\n countryCode: countryCode,\n isValid: false\n };\n\n if (parsing) {\n results = _objectSpread(_objectSpread({}, results), {}, {\n countryCode: parsing.country,\n countryCallingCode: parsing.countryCallingCode,\n nationalNumber: parsing.nationalNumber,\n isValid: parsing.isValid(),\n type: parsing.getType(),\n formatInternational: parsing.formatInternational(),\n formatNational: parsing.formatNational(),\n uri: parsing.getURI(),\n e164: parsing.format('E.164')\n });\n }\n\n return results;\n};\nvar utils_getAsYouTypeFormat = function getAsYouTypeFormat(phoneNumber, countryCode) {\n if (!phoneNumber) return null;\n return countryCode ? new external_libphonenumber_js_[\"AsYouType\"](countryCode).input(phoneNumber) : phoneNumber;\n};\nvar fetchCountryCode = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n var response, responseText, result;\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _context2.next = 3;\n return fetch('https://ip2c.org/s');\n\n case 3:\n response = _context2.sent;\n _context2.next = 6;\n return response.text();\n\n case 6:\n responseText = _context2.sent;\n result = (responseText || '').toString();\n\n if (!(result && result[0] === '1')) {\n _context2.next = 10;\n break;\n }\n\n return _context2.abrupt(\"return\", result.substr(2, 2));\n\n case 10:\n _context2.next = 15;\n break;\n\n case 12:\n _context2.prev = 12;\n _context2.t0 = _context2[\"catch\"](0);\n return _context2.abrupt(\"return\", new Error('[MazPhoneNumberInput] Error while fetching country code'));\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 12]]);\n }));\n\n return function fetchCountryCode() {\n return _ref2.apply(this, arguments);\n };\n}();\n// EXTERNAL MODULE: external \"libphonenumber-js/examples.mobile.json\"\nvar examples_mobile_json_ = __webpack_require__(21);\nvar examples_mobile_json_default = /*#__PURE__*/__webpack_require__.n(examples_mobile_json_);\n\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/constantes/locales/index.js\n/* harmony default export */ var locales = ({\n countrySelectorLabel: 'Country code',\n countrySelectorError: 'Choose country',\n countrySelectorSearchPlaceholder: 'Search country',\n phoneNumberLabel: 'Phone number',\n example: 'Example:'\n});\n// EXTERNAL MODULE: ./packages/components/MazInput/index.js + 5 modules\nvar MazInput = __webpack_require__(8);\n\n// EXTERNAL MODULE: ./packages/components/MazSelect/index.js + 5 modules\nvar MazSelect = __webpack_require__(16);\n\n// EXTERNAL MODULE: ./packages/mixins/uniqueId.js\nvar uniqueId = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/MazPhoneNumberInput/_main.vue?vue&type=script&lang=js&\n\n\nfunction _mainvue_type_script_lang_js_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _mainvue_type_script_lang_js_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { _mainvue_type_script_lang_js_asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { _mainvue_type_script_lang_js_asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _mainvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _mainvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { _mainvue_type_script_lang_js_ownKeys(Object(source), true).forEach(function (key) { _mainvue_type_script_lang_js_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { _mainvue_type_script_lang_js_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _mainvue_type_script_lang_js_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ var _mainvue_type_script_lang_js_ = ({\n name: 'MazPhoneNumberInput',\n components: {\n MazInput: MazInput[\"default\"],\n MazSelect: MazSelect[\"default\"]\n },\n mixins: [uniqueId[\"a\" /* default */]],\n props: {\n value: {\n validator: function validator(prop) {\n return ['string', 'number'].includes(_typeof(prop)) || prop === null;\n },\n default: null\n },\n id: {\n type: String,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n // set default phone number (Ex: `default-phone-number=\"0658585858\"`)\n defaultPhoneNumber: {\n type: String,\n default: null\n },\n // set default country code (Ex: `default-country-code=\"FR\"`)\n defaultCountryCode: {\n type: String,\n default: null\n },\n // Same as MazInput (options: `sm|md|lg`)\n size: {\n type: String,\n default: null\n },\n // Countries selected will be at the top of the list - Ex : `preferred-countries=\"['FR', 'BE', 'DE']`\n preferredCountries: {\n type: Array,\n default: null\n },\n // Only countries selected are in list - Ex : `only-countries=\"['FR', 'BE', 'DE']`\n onlyCountries: {\n type: Array,\n default: null\n },\n // Countries seleted are remove from the list - Ex : `ignored-countries=\"['FR', 'BE', 'DE']`\n ignoredCountries: {\n type: Array,\n default: Array\n },\n // Translate text in component - By default `{ countrySelectorLabel: 'Country code', countrySelectorError: 'Choose country', phoneNumberLabel: 'Phone number', example: 'Example:' }`\n translations: {\n type: Object,\n default: null\n },\n // Remove the validation UI state (success border color)\n noValidation: {\n type: Boolean,\n default: false\n },\n // Remove flags in country selector\n noFlags: {\n type: Boolean,\n default: false\n },\n // Remove the number example from the label input\n noExample: {\n type: Boolean,\n default: false\n },\n // Change the height of country item in list\n countriesHeight: {\n type: Number,\n default: 30\n },\n // Disable use of browser locale to init the country selector (usefull for Nuxt.JS)\n noUseBrowserLocale: {\n type: Boolean,\n default: false\n },\n // Fetch country code via https://ip2c.org/s - Network needed - (Do not use it with default-country-code options)\n fetchCountry: {\n type: Boolean,\n default: false\n },\n // The country selector is not shown, you can validate your phone number with the country code set\n noCountrySelector: {\n type: Boolean,\n default: false\n },\n // Show the country phone code in the list\n showCodeOnList: {\n type: Boolean,\n default: false\n },\n // Enable the dark mode\n dark: {\n type: Boolean,\n default: false\n },\n // Use color\n color: {\n type: String,\n default: 'primary'\n },\n // Set placholder of phone number input\n placeholder: {\n type: String,\n default: null\n },\n // hint message shown on phone number text field\n hint: {\n type: String,\n default: null\n },\n // set the position of countries list (ex: `top`, `top right`, `bottom right`)\n position: {\n type: String,\n default: 'left bottom'\n }\n },\n data: function data() {\n return {\n results: {},\n countryCode: this.defaultCountryCode,\n lastKeyPressed: null,\n asYouTypeNumber: this.defaultPhoneNumber\n };\n },\n computed: {\n t: function t() {\n return _mainvue_type_script_lang_js_objectSpread(_mainvue_type_script_lang_js_objectSpread({}, locales), this.translations);\n },\n callingCode: function callingCode() {\n var _this = this;\n\n var countryCode = this.countryCode;\n\n var getDialCode = function getDialCode(code) {\n var result = _this.countriesSorted.find(function (m) {\n return m.iso2 === code;\n });\n\n return result ? result.dialCode : null;\n };\n\n return countryCode ? \"+\".concat(getDialCode(countryCode) || Object(external_libphonenumber_js_[\"getCountryCallingCode\"])(countryCode)) : null;\n },\n // input states\n shouldChooseCountry: function shouldChooseCountry() {\n return !this.countryCode && !!this.asYouTypeNumber;\n },\n isValid: function isValid() {\n return this.results.isValid;\n },\n hasEmptyPhone: function hasEmptyPhone() {\n var asYouTypeNumber = this.asYouTypeNumber;\n return asYouTypeNumber === '' || !asYouTypeNumber;\n },\n // hint values\n phoneNumberExample: function phoneNumberExample() {\n var countryCode = this.countryCode;\n var phoneNumber = countryCode ? Object(external_libphonenumber_js_[\"getExampleNumber\"])(countryCode, examples_mobile_json_default.a) : null;\n return phoneNumber ? phoneNumber.formatNational() : null;\n },\n hintValue: function hintValue() {\n var noExample = this.noExample,\n phoneNumberExample = this.phoneNumberExample,\n hasEmptyPhone = this.hasEmptyPhone,\n isValid = this.isValid,\n t = this.t;\n return noExample || !phoneNumberExample ? null : hasEmptyPhone || isValid ? null : \"\".concat(t.example, \" \").concat(phoneNumberExample);\n },\n // Countries list management\n countriesList: function countriesList() {\n var _this2 = this;\n\n return countries.filter(function (item) {\n return !_this2.ignoredCountries.includes(item.iso2);\n });\n },\n countriesFiltered: function countriesFiltered() {\n var _this3 = this;\n\n var countries = this.onlyCountries || this.preferredCountries;\n return countries.map(function (country) {\n return _this3.countriesList.find(function (item) {\n return item.iso2.includes(country);\n });\n });\n },\n otherCountries: function otherCountries() {\n var _this4 = this;\n\n return this.countriesList.filter(function (item) {\n return !_this4.preferredCountries.includes(item.iso2);\n });\n },\n countriesSorted: function countriesSorted() {\n return this.preferredCountries ? [].concat(_toConsumableArray(this.countriesFiltered), _toConsumableArray(this.otherCountries)) : this.onlyCountries ? this.countriesFiltered : this.countriesList;\n }\n },\n watch: {\n defaultPhoneNumber: {\n handler: function handler(phoneNumber, oldPhoneNumber) {\n if (phoneNumber === oldPhoneNumber) return;\n this.buildResults(phoneNumber);\n },\n immediate: true\n },\n defaultCountryCode: {\n handler: function handler(newValue, oldValue) {\n if (!newValue || newValue === oldValue) return;\n this.setCountryCode(newValue);\n },\n immediate: true\n }\n },\n mounted: function mounted() {\n var _this5 = this;\n\n return _mainvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var defaultCountryCode, fetchCountry, noUseBrowserLocale, setCountryCode, locale;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n defaultCountryCode = _this5.defaultCountryCode, fetchCountry = _this5.fetchCountry, noUseBrowserLocale = _this5.noUseBrowserLocale, setCountryCode = _this5.setCountryCode;\n if (!_this5.defaultPhoneNumber && _this5.value) _this5.buildResults(_this5.value);\n\n if (!(defaultCountryCode && fetchCountry)) {\n _context.next = 5;\n break;\n }\n\n throw new Error('MazPhoneNumberInput: Do not use \\'fetch-country\\' and \\'default-country-code\\' options in the same time');\n\n case 5:\n if (!(defaultCountryCode && noUseBrowserLocale)) {\n _context.next = 7;\n break;\n }\n\n throw new Error('MazPhoneNumberInput: If you use a \\'default-country-code\\', do not use \\'no-use-browser-locale\\' options');\n\n case 7:\n if (!defaultCountryCode) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 9:\n if (!fetchCountry) {\n _context.next = 15;\n break;\n }\n\n _context.next = 12;\n return fetchCountryCode();\n\n case 12:\n _context.t0 = _context.sent;\n _context.next = 23;\n break;\n\n case 15:\n if (!noUseBrowserLocale) {\n _context.next = 19;\n break;\n }\n\n _context.t1 = null;\n _context.next = 22;\n break;\n\n case 19:\n _context.next = 21;\n return browserLocale();\n\n case 21:\n _context.t1 = _context.sent;\n\n case 22:\n _context.t0 = _context.t1;\n\n case 23:\n locale = _context.t0;\n if (locale) setCountryCode(locale);\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t2 = _context[\"catch\"](0);\n throw new Error(_context.t2);\n\n case 30:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 27]]);\n }))();\n },\n methods: {\n buildResults: function buildResults(phoneNumber, noAutoUpdateCountryCode) {\n var _this6 = this;\n\n return _mainvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n var asYouTypeNumber, lastKeyPressed, countryCode, value, backSpacePressed, lastCharacOfPhoneNumber, _this6$results, isValid, e164, valueToEmit;\n\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n asYouTypeNumber = _this6.asYouTypeNumber, lastKeyPressed = _this6.lastKeyPressed, countryCode = _this6.countryCode, value = _this6.value;\n backSpacePressed = lastKeyPressed === 8;\n _context2.next = 4;\n return _this6.$nextTick();\n\n case 4:\n lastCharacOfPhoneNumber = asYouTypeNumber ? asYouTypeNumber.slice(asYouTypeNumber.length - 1) : false;\n\n if (backSpacePressed && lastCharacOfPhoneNumber && lastCharacOfPhoneNumber === ')') {\n _this6.asYouTypeNumber = asYouTypeNumber.slice(0, -1);\n }\n\n _context2.next = 8;\n return utils_getResultsFromPhoneNumber(phoneNumber, countryCode);\n\n case 8:\n _this6.results = _context2.sent;\n _context2.next = 11;\n return utils_getAsYouTypeFormat(phoneNumber, countryCode);\n\n case 11:\n _this6.asYouTypeNumber = _context2.sent;\n\n if (!noAutoUpdateCountryCode && _this6.results && _this6.results.countryCode && countryCode !== _this6.results.countryCode) {\n _this6.setCountryCode(_this6.results.countryCode);\n } // sent when the user tape\n // @arg Object with all parsed values\n\n\n _this6.$emit('update', _this6.results);\n\n _this6$results = _this6.results, isValid = _this6$results.isValid, e164 = _this6$results.e164;\n valueToEmit = isValid ? e164 : _this6.asYouTypeNumber;\n\n if (!(!valueToEmit && valueToEmit === value)) {\n _context2.next = 18;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 18:\n // sent when the user tape\n // @arg Phone number value formatted in e164 format (international format)\n _this6.$emit('input', valueToEmit);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n setCountryCode: function setCountryCode(locale, focusPhoneNumberInput) {\n var _this7 = this;\n\n return _mainvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {\n var buildResults, asYouTypeNumber, countryAvailable;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n buildResults = _this7.buildResults, asYouTypeNumber = _this7.asYouTypeNumber;\n countryAvailable = isCountryAvailable(locale);\n\n if (focusPhoneNumberInput) {\n _this7.focusPhoneNumberInput();\n\n if (asYouTypeNumber && asYouTypeNumber.includes('+')) _this7.asYouTypeNumber = null;\n }\n\n if (countryAvailable && locale) {\n _this7.countryCode = locale;\n buildResults(_this7.asYouTypeNumber, true);\n }\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n focusCountrySelector: function focusCountrySelector() {\n var _this8 = this;\n\n return _mainvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee4() {\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this8.$nextTick();\n\n case 2:\n _this8.$refs.CountrySelector.$el.querySelector('input').focus();\n\n case 3:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n focusPhoneNumberInput: function focusPhoneNumberInput() {\n var _this9 = this;\n\n return _mainvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this9.$nextTick();\n\n case 2:\n _this9.$refs.PhoneNumberInput.$el.querySelector('input').focus();\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n }\n }\n});\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/_main.vue?vue&type=script&lang=js&\n /* harmony default export */ var MazPhoneNumberInput_mainvue_type_script_lang_js_ = (_mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/_main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n MazPhoneNumberInput_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/components/MazPhoneNumberInput/_main.vue\"\n/* harmony default export */ var _main = (component.exports);\n// CONCATENATED MODULE: ./packages/components/MazPhoneNumberInput/index.js\n\n\n_main.install = function (Vue) {\n Vue.component(_main.name, _main);\n};\n\n/* harmony default export */ var MazPhoneNumberInput = __webpack_exports__[\"default\"] = (_main);\n\n/***/ })\n/******/ ]);","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./JoinTournamentSetDiscordIdDialog.vue?vue&type=style&index=0&id=7ecf1d70&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./JoinTournamentSetDiscordIdDialog.vue?vue&type=style&index=0&id=7ecf1d70&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/discord-white.8113ca4b.svg\";","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerificationDialog.vue?vue&type=style&index=0&id=334e4a9c&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./PhoneNumberVerificationDialog.vue?vue&type=style&index=0&id=334e4a9c&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"60rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-card-actions',{staticClass:\"align-start\"},[_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.loading},on:{\"click\":function($event){_vm.isVisible = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-form',{staticClass:\"d-block pa-lg-10 pb-sm-5\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}},model:{value:(_vm.validate),callback:function ($$v) {_vm.validate=$$v},expression:\"validate\"}},[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('JoinTournamentSetDiscordIdDialog.Title'))+\" \")])]),_c('v-card-text',[_c('div',{staticClass:\"subtitle-2 text-center mb-5\"},[_c('div',{staticClass:\"mb-10\"},[_vm._v(\" \"+_vm._s(_vm.$t('JoinTournamentSetDiscordIdDialog.Desc'))+\" \")]),_c('img',{staticClass:\"mb-5\",attrs:{\"src\":require('@/assets/discord-white.svg'),\"alt\":\"Discord\",\"title\":\"Discord\",\"width\":\"70\"}}),_c('v-text-field',{attrs:{\"rules\":_vm.discordIdRules,\"maxlength\":\"37\",\"autocomplete\":\"off\",\"placeholder\":_vm.$t('MemberEditProfileDialog.DiscordIdPlaceholder'),\"outlined\":\"\",\"disabled\":_vm.loading},model:{value:(_vm.discordId),callback:function ($$v) {_vm.discordId=$$v},expression:\"discordId\"}})],1)]),_c('div',{staticClass:\"pb-8 bottom-container\"},[_c('v-btn',{attrs:{\"type\":\"submit\",\"large\":\"\",\"color\":\"primary\",\"loading\":_vm.loading,\"disabled\":!_vm.validate}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('JoinTournamentSetDiscordIdDialog.OK'))+\" \")],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport memberStore from '@/modules/member/member.store'\r\nimport authStore from '@/modules/auth/auth.store'\r\nimport { IdentityAPI } from '@/api/identity'\r\nimport ServerError from '@/utils/server_error'\r\nimport { invokeDialogCallback } from '@/utils/verification'\r\n\r\n@Component\r\nexport default class JoinTournamentSetDiscordIdDialog extends Vue {\r\n memberModule = getModule(memberStore, this.$store)\r\n userModule = getModule(authStore, this.$store)\r\n\r\n discordIdRules: any = []\r\n loading: boolean = false\r\n discordId: string | null = null\r\n validate: boolean = false\r\n\r\n created() {\r\n this.discordIdRules = [\r\n (v: any) =>\r\n (!!v && /^(.{2,32})#(\\d{4})$/.test(v)) ||\r\n this.$t('MemberEditProfileDialog.DiscordIdFormatInvalid')\r\n ]\r\n }\r\n\r\n @Watch('isVisible')\r\n onVisibilityChanged(value: boolean) {\r\n if (value) {\r\n this.discordId = ''\r\n this.validate = false\r\n }\r\n }\r\n\r\n get isVisible() {\r\n return this.memberModule.isDiscordIdDialogVisible\r\n }\r\n\r\n set isVisible(value: boolean) {\r\n this.memberModule.setIsDiscordIdDialogVisible({\r\n isVisible: value\r\n })\r\n }\r\n\r\n async submit() {\r\n if (!this.validate) return\r\n\r\n this.loading = true\r\n\r\n try {\r\n await IdentityAPI.setAccountDiscordId({\r\n discordId: this.discordId\r\n })\r\n await this.userModule.fetchAccountInfo()\r\n\r\n this.isVisible = false\r\n invokeDialogCallback().then()\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error('System error')\r\n }\r\n console.error(err)\r\n } finally {\r\n this.loading = false\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./JoinTournamentSetDiscordIdDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./JoinTournamentSetDiscordIdDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./JoinTournamentSetDiscordIdDialog.vue?vue&type=template&id=7ecf1d70&scoped=true&\"\nimport script from \"./JoinTournamentSetDiscordIdDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./JoinTournamentSetDiscordIdDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./JoinTournamentSetDiscordIdDialog.vue?vue&type=style&index=0&id=7ecf1d70&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ecf1d70\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VForm,VIcon,VSpacer,VTextField})\n","import JoinTournamentSetDiscordIdDialog from './JoinTournamentSetDiscordIdDialog.vue'\r\n\r\nexport default JoinTournamentSetDiscordIdDialog\r\nexport { JoinTournamentSetDiscordIdDialog }\r\n"],"sourceRoot":""}