vue-layout-gitcode 1.12.15-beta.43 → 1.12.15-beta.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{GloabarSearch-C1_0dMA7.js → GloabarSearch-DOb49kb1.js} +24 -8
- package/{MenuItem-COOpJ68G.js → MenuItem-BDykqVY_.js} +3 -2
- package/{ProjectMenuList-Bf0aLBEc.js → ProjectMenuList-XmOFvTS9.js} +8 -3
- package/{ProjectMenuListV2-CUgz0IiE.js → ProjectMenuListV2-BuyD7jOd.js} +7 -3
- package/{ProjectSearch-CYfny4PA.js → ProjectSearch-B--M9NKy.js} +3 -2
- package/{SearchHistoryList-CjyVAYAo.js → SearchHistoryList-C6SlOUbd.js} +12 -5
- package/{SearchRecommed-LB7Szy-x.js → SearchRecommed-B2nSbCak.js} +6 -5
- package/{SearchScopeList-DD3sLmVW.js → SearchScopeList-BTHTBdRL.js} +3 -2
- package/{UserSearch-rqSXBFBk.js → UserSearch-C7yhRImW.js} +3 -2
- package/{index-DZTs-ePt.js → index-Bhv07cir.js} +1360 -652
- package/{index-DT7NKhgA.js → index-CH0gI_tL.js} +3 -2
- package/{index-DRs0zGoG.js → index-CtM76hG4.js} +6 -3
- package/{index-tZw1fUkm.js → index-DFsuUGSz.js} +5 -2
- package/index.d.ts +3 -0
- package/index.js +19 -19
- package/{notice-DjSc9owf.js → notice-CxKzeiYF.js} +4 -2
- package/package.json +1 -1
- package/style.css +1 -1
- package/{transWebUrl--iZn6BtB.js → transWebUrl-CjAKBQUN.js} +1 -1
|
@@ -1,39 +1,62 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { defineComponent, computed,
|
|
4
|
+
import { defineComponent, computed, openBlock, createBlock, unref, normalizeProps, mergeProps, createElementBlock, normalizeClass, renderSlot, normalizeStyle, createElementVNode, reactive, readonly, inject, effectScope, watch, isRef, getCurrentInstance, ref, shallowRef, h, Fragment, onBeforeMount, onMounted, onUnmounted, createVNode, Text, provide, createCommentVNode, withCtx, toDisplayString as toDisplayString$1, renderList, createTextVNode, Transition, withModifiers, resolveComponent, watchEffect, nextTick, onBeforeUnmount, Teleport, resolveDirective, withDirectives, guardReactiveProps, markRaw, resolveDynamicComponent, useAttrs, defineAsyncComponent, vShow, withKeys, createStaticVNode, useCssVars, createSlots, render, toRaw, useModel as useModel$1, mergeModels, watchPostEffect, useSlots } from "vue";
|
|
5
5
|
import { Button } from "vue-devui-lal/button";
|
|
6
6
|
import { Popover } from "vue-devui-lal/popover";
|
|
7
7
|
import { Tooltip } from "vue-devui-lal/tooltip";
|
|
8
8
|
import { Textarea } from "vue-devui-lal/textarea";
|
|
9
|
+
import "vue-devui-lal/button/style.css";
|
|
10
|
+
import "vue-devui-lal/popover/style.css";
|
|
11
|
+
import "vue-devui-lal/tooltip/style.css";
|
|
12
|
+
import "vue-devui-lal/textarea/style.css";
|
|
9
13
|
import { Icon } from "vue-devui-lal/icon";
|
|
14
|
+
import "vue-devui-lal/icon/style.css";
|
|
10
15
|
import cloneDeep from "lodash/cloneDeep";
|
|
11
16
|
import axios from "axios";
|
|
12
17
|
import { useRouter, useRoute, createRouter, createWebHistory, createMemoryHistory } from "vue-router";
|
|
13
18
|
import { useWindowSize, useMutationObserver, useResizeObserver, useInfiniteScroll, useEventListener, useElementSize, useStorage, useDebounceFn } from "@vueuse/core";
|
|
14
19
|
import { Avatar } from "vue-devui-lal/avatar";
|
|
20
|
+
import "vue-devui-lal/avatar/style.css";
|
|
15
21
|
import "lodash/last";
|
|
16
22
|
import dayjs$1 from "dayjs";
|
|
17
23
|
import isDate$1 from "lodash/isDate";
|
|
18
24
|
import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
|
|
25
|
+
import "vue-devui-lal/skeleton/style.css";
|
|
19
26
|
import debounce from "lodash/debounce";
|
|
20
27
|
import { Badge } from "vue-devui-lal/badge";
|
|
28
|
+
import "vue-devui-lal/badge/style.css";
|
|
21
29
|
import { Tabs, Tab } from "vue-devui-lal/tabs";
|
|
30
|
+
import "vue-devui-lal/tabs/style.css";
|
|
31
|
+
import "vue-devui-lal/loading/style.css";
|
|
22
32
|
import { LoadingDirective } from "vue-devui-lal/loading";
|
|
23
33
|
import { Dropdown } from "vue-devui-lal/dropdown";
|
|
34
|
+
import "vue-devui-lal/dropdown/style.css";
|
|
24
35
|
import { Drawer } from "vue-devui-lal/drawer";
|
|
36
|
+
import "vue-devui-lal/drawer/style.css";
|
|
25
37
|
import { Input } from "vue-devui-lal/input";
|
|
26
38
|
import { Form, FormItem } from "vue-devui-lal/form";
|
|
39
|
+
import "vue-devui-lal/input/style.css";
|
|
40
|
+
import "vue-devui-lal/form/style.css";
|
|
27
41
|
import { NotificationService } from "vue-devui-lal/notification";
|
|
42
|
+
import "vue-devui-lal/notification/style.css";
|
|
43
|
+
import "vue-devui-lal/layout/style.css";
|
|
28
44
|
import { Menu } from "vue-devui-lal/menu";
|
|
45
|
+
import "vue-devui-lal/menu/style.css";
|
|
29
46
|
import { Aside } from "vue-devui-lal/layout";
|
|
30
47
|
import { RadioGroup, Radio } from "vue-devui-lal/radio";
|
|
31
48
|
import "@devui-design/icons/icomoon/devui-icon.css";
|
|
49
|
+
import "vue-devui-lal/radio/style.css";
|
|
32
50
|
import { Message } from "vue-devui-lal/message";
|
|
51
|
+
import "vue-devui-lal/message/style.css";
|
|
33
52
|
import { Select, Option } from "vue-devui-lal/select";
|
|
34
53
|
import { EditableSelect } from "vue-devui-lal/editable-select";
|
|
54
|
+
import "vue-devui-lal/select/style.css";
|
|
55
|
+
import "vue-devui-lal/editable-select/style.css";
|
|
35
56
|
import { Checkbox } from "vue-devui-lal/checkbox";
|
|
57
|
+
import "vue-devui-lal/checkbox/style.css";
|
|
36
58
|
import { Modal } from "vue-devui-lal/modal";
|
|
59
|
+
import "vue-devui-lal/modal/style.css";
|
|
37
60
|
const _hoisted_1$I = ["xlink:href"];
|
|
38
61
|
const _hoisted_2$w = ["xlink:href"];
|
|
39
62
|
const _sfc_main$P = /* @__PURE__ */ defineComponent({
|
|
@@ -555,23 +578,50 @@ const LOGO_MAP = {
|
|
|
555
578
|
aiLogoDark: "https://cdn-static.gitcode.com/static/images/gitcode-ai-logo-dark_atomgit.png"
|
|
556
579
|
}
|
|
557
580
|
};
|
|
558
|
-
/*! @license DOMPurify 3.
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
}
|
|
581
|
+
/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */
|
|
582
|
+
function _arrayLikeToArray$4(r, a) {
|
|
583
|
+
(null == a || a > r.length) && (a = r.length);
|
|
584
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
585
|
+
return n;
|
|
586
|
+
}
|
|
587
|
+
function _arrayWithHoles$1(r) {
|
|
588
|
+
if (Array.isArray(r)) return r;
|
|
589
|
+
}
|
|
590
|
+
function _iterableToArrayLimit$1(r, l) {
|
|
591
|
+
var t2 = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
592
|
+
if (null != t2) {
|
|
593
|
+
var e, n, i, u, a = [], f = true, o = false;
|
|
594
|
+
try {
|
|
595
|
+
if (i = (t2 = t2.call(r)).next, 0 === l) ;
|
|
596
|
+
else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
|
|
597
|
+
} catch (r2) {
|
|
598
|
+
o = true, n = r2;
|
|
599
|
+
} finally {
|
|
600
|
+
try {
|
|
601
|
+
if (!f && null != t2.return && (u = t2.return(), Object(u) !== u)) return;
|
|
602
|
+
} finally {
|
|
603
|
+
if (o) throw n;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
return a;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
function _nonIterableRest$1() {
|
|
610
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
611
|
+
}
|
|
612
|
+
function _slicedToArray$1(r, e) {
|
|
613
|
+
return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$4(r, e) || _nonIterableRest$1();
|
|
614
|
+
}
|
|
615
|
+
function _unsupportedIterableToArray$4(r, a) {
|
|
616
|
+
if (r) {
|
|
617
|
+
if ("string" == typeof r) return _arrayLikeToArray$4(r, a);
|
|
618
|
+
var t2 = {}.toString.call(r).slice(8, -1);
|
|
619
|
+
return "Object" === t2 && r.constructor && (t2 = r.constructor.name), "Map" === t2 || "Set" === t2 ? Array.from(r) : "Arguments" === t2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t2) ? _arrayLikeToArray$4(r, a) : void 0;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
const entries = Object.entries, setPrototypeOf = Object.setPrototypeOf, isFrozen = Object.isFrozen, getPrototypeOf = Object.getPrototypeOf, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
623
|
+
let freeze = Object.freeze, seal = Object.seal, create$1 = Object.create;
|
|
624
|
+
let _ref = typeof Reflect !== "undefined" && Reflect, apply$1 = _ref.apply, construct = _ref.construct;
|
|
575
625
|
if (!freeze) {
|
|
576
626
|
freeze = function freeze2(x) {
|
|
577
627
|
return x;
|
|
@@ -603,13 +653,19 @@ const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
|
|
|
603
653
|
const arrayPop = unapply(Array.prototype.pop);
|
|
604
654
|
const arrayPush = unapply(Array.prototype.push);
|
|
605
655
|
const arraySplice = unapply(Array.prototype.splice);
|
|
656
|
+
const arrayIsArray = Array.isArray;
|
|
606
657
|
const stringToLowerCase = unapply(String.prototype.toLowerCase);
|
|
607
658
|
const stringToString = unapply(String.prototype.toString);
|
|
608
659
|
const stringMatch = unapply(String.prototype.match);
|
|
609
660
|
const stringReplace = unapply(String.prototype.replace);
|
|
610
661
|
const stringIndexOf = unapply(String.prototype.indexOf);
|
|
611
662
|
const stringTrim = unapply(String.prototype.trim);
|
|
663
|
+
const numberToString = unapply(Number.prototype.toString);
|
|
664
|
+
const booleanToString = unapply(Boolean.prototype.toString);
|
|
665
|
+
const bigintToString = typeof BigInt === "undefined" ? null : unapply(BigInt.prototype.toString);
|
|
666
|
+
const symbolToString = typeof Symbol === "undefined" ? null : unapply(Symbol.prototype.toString);
|
|
612
667
|
const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
|
|
668
|
+
const objectToString$1 = unapply(Object.prototype.toString);
|
|
613
669
|
const regExpTest = unapply(RegExp.prototype.test);
|
|
614
670
|
const typeErrorCreate = unconstruct(TypeError);
|
|
615
671
|
function unapply(func) {
|
|
@@ -636,6 +692,9 @@ function addToSet(set, array) {
|
|
|
636
692
|
if (setPrototypeOf) {
|
|
637
693
|
setPrototypeOf(set, null);
|
|
638
694
|
}
|
|
695
|
+
if (!arrayIsArray(array)) {
|
|
696
|
+
return set;
|
|
697
|
+
}
|
|
639
698
|
let l = array.length;
|
|
640
699
|
while (l--) {
|
|
641
700
|
let element = array[l];
|
|
@@ -663,10 +722,13 @@ function cleanArray(array) {
|
|
|
663
722
|
}
|
|
664
723
|
function clone(object) {
|
|
665
724
|
const newObject = create$1(null);
|
|
666
|
-
for (const
|
|
725
|
+
for (const _ref2 of entries(object)) {
|
|
726
|
+
var _ref3 = _slicedToArray$1(_ref2, 2);
|
|
727
|
+
const property = _ref3[0];
|
|
728
|
+
const value = _ref3[1];
|
|
667
729
|
const isPropertyExist = objectHasOwnProperty(object, property);
|
|
668
730
|
if (isPropertyExist) {
|
|
669
|
-
if (
|
|
731
|
+
if (arrayIsArray(value)) {
|
|
670
732
|
newObject[property] = cleanArray(value);
|
|
671
733
|
} else if (value && typeof value === "object" && value.constructor === Object) {
|
|
672
734
|
newObject[property] = clone(value);
|
|
@@ -677,6 +739,44 @@ function clone(object) {
|
|
|
677
739
|
}
|
|
678
740
|
return newObject;
|
|
679
741
|
}
|
|
742
|
+
function stringifyValue(value) {
|
|
743
|
+
switch (typeof value) {
|
|
744
|
+
case "string": {
|
|
745
|
+
return value;
|
|
746
|
+
}
|
|
747
|
+
case "number": {
|
|
748
|
+
return numberToString(value);
|
|
749
|
+
}
|
|
750
|
+
case "boolean": {
|
|
751
|
+
return booleanToString(value);
|
|
752
|
+
}
|
|
753
|
+
case "bigint": {
|
|
754
|
+
return bigintToString ? bigintToString(value) : "0";
|
|
755
|
+
}
|
|
756
|
+
case "symbol": {
|
|
757
|
+
return symbolToString ? symbolToString(value) : "Symbol()";
|
|
758
|
+
}
|
|
759
|
+
case "undefined": {
|
|
760
|
+
return objectToString$1(value);
|
|
761
|
+
}
|
|
762
|
+
case "function":
|
|
763
|
+
case "object": {
|
|
764
|
+
if (value === null) {
|
|
765
|
+
return objectToString$1(value);
|
|
766
|
+
}
|
|
767
|
+
const valueAsRecord = value;
|
|
768
|
+
const valueToString = lookupGetter(valueAsRecord, "toString");
|
|
769
|
+
if (typeof valueToString === "function") {
|
|
770
|
+
const stringified = valueToString(valueAsRecord);
|
|
771
|
+
return typeof stringified === "string" ? stringified : objectToString$1(stringified);
|
|
772
|
+
}
|
|
773
|
+
return objectToString$1(value);
|
|
774
|
+
}
|
|
775
|
+
default: {
|
|
776
|
+
return objectToString$1(value);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
}
|
|
680
780
|
function lookupGetter(object, prop) {
|
|
681
781
|
while (object !== null) {
|
|
682
782
|
const desc = getOwnPropertyDescriptor(object, prop);
|
|
@@ -695,6 +795,14 @@ function lookupGetter(object, prop) {
|
|
|
695
795
|
}
|
|
696
796
|
return fallbackValue;
|
|
697
797
|
}
|
|
798
|
+
function isRegex(value) {
|
|
799
|
+
try {
|
|
800
|
+
regExpTest(value, "");
|
|
801
|
+
return true;
|
|
802
|
+
} catch (_unused) {
|
|
803
|
+
return false;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
698
806
|
const html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]);
|
|
699
807
|
const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]);
|
|
700
808
|
const svgFilters = freeze(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]);
|
|
@@ -702,13 +810,13 @@ const svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "
|
|
|
702
810
|
const mathMl$1 = freeze(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]);
|
|
703
811
|
const mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]);
|
|
704
812
|
const text = freeze(["#text"]);
|
|
705
|
-
const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"
|
|
706
|
-
const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
|
|
707
|
-
const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "
|
|
813
|
+
const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "command", "commandfor", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns"]);
|
|
814
|
+
const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dominant-baseline", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "pointer-events", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-orientation", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "vector-effect", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
|
|
815
|
+
const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnalign", "columnlines", "columnspacing", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lquote", "lspace", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]);
|
|
708
816
|
const xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]);
|
|
709
|
-
const MUSTACHE_EXPR = seal(
|
|
710
|
-
const ERB_EXPR = seal(/<%[\w\W]
|
|
711
|
-
const TMPLIT_EXPR = seal(
|
|
817
|
+
const MUSTACHE_EXPR = seal(/{{[\w\W]*|^[\w\W]*}}/g);
|
|
818
|
+
const ERB_EXPR = seal(/<%[\w\W]*|^[\w\W]*%>/g);
|
|
819
|
+
const TMPLIT_EXPR = seal(/\${[\w\W]*/g);
|
|
712
820
|
const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
|
|
713
821
|
const ARIA_ATTR = seal(/^aria-[\-\w]+$/);
|
|
714
822
|
const IS_ALLOWED_URI = seal(
|
|
@@ -722,27 +830,36 @@ const ATTR_WHITESPACE = seal(
|
|
|
722
830
|
);
|
|
723
831
|
const DOCTYPE_NAME = seal(/^html$/i);
|
|
724
832
|
const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
CUSTOM_ELEMENT,
|
|
730
|
-
DATA_ATTR,
|
|
731
|
-
DOCTYPE_NAME,
|
|
732
|
-
ERB_EXPR,
|
|
733
|
-
IS_ALLOWED_URI,
|
|
734
|
-
IS_SCRIPT_OR_DATA,
|
|
735
|
-
MUSTACHE_EXPR,
|
|
736
|
-
TMPLIT_EXPR
|
|
737
|
-
});
|
|
833
|
+
const ELEMENT_MARKUP_PROBE = seal(/<[/\w!]/g);
|
|
834
|
+
const COMMENT_MARKUP_PROBE = seal(/<[/\w]/g);
|
|
835
|
+
const FALLBACK_TAG_CLOSE = seal(/<\/no(script|embed|frames)/i);
|
|
836
|
+
const SELF_CLOSING_TAG = seal(/\/>/i);
|
|
738
837
|
const NODE_TYPE = {
|
|
739
838
|
element: 1,
|
|
839
|
+
attribute: 2,
|
|
740
840
|
text: 3,
|
|
841
|
+
cdataSection: 4,
|
|
842
|
+
entityReference: 5,
|
|
843
|
+
// Deprecated
|
|
844
|
+
entityNode: 6,
|
|
741
845
|
// Deprecated
|
|
742
|
-
|
|
846
|
+
processingInstruction: 7,
|
|
743
847
|
comment: 8,
|
|
744
|
-
document: 9
|
|
848
|
+
document: 9,
|
|
849
|
+
documentType: 10,
|
|
850
|
+
documentFragment: 11,
|
|
851
|
+
notation: 12
|
|
852
|
+
// Deprecated
|
|
745
853
|
};
|
|
854
|
+
const LITERAL_TEXT_ELEMENT_NAMES = ["style", "script", "xmp", "iframe", "noembed", "noframes", "plaintext", "noscript"];
|
|
855
|
+
const LITERAL_TEXT_ELEMENTS = freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));
|
|
856
|
+
const LITERAL_TEXT_CLOSE = function() {
|
|
857
|
+
const map = {};
|
|
858
|
+
arrayForEach(LITERAL_TEXT_ELEMENT_NAMES, (name) => {
|
|
859
|
+
map[name] = seal(new RegExp("</" + name + "(?=[\\t\\n\\f\\r />])", "i"));
|
|
860
|
+
});
|
|
861
|
+
return freeze(map);
|
|
862
|
+
}();
|
|
746
863
|
const getGlobal = function getGlobal2() {
|
|
747
864
|
return typeof window === "undefined" ? null : window;
|
|
748
865
|
};
|
|
@@ -783,37 +900,47 @@ const _createHooksMap = function _createHooksMap2() {
|
|
|
783
900
|
uponSanitizeShadowNode: []
|
|
784
901
|
};
|
|
785
902
|
};
|
|
903
|
+
const _resolveSetOption = function _resolveSetOption2(cfg, key, fallback, options) {
|
|
904
|
+
return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;
|
|
905
|
+
};
|
|
906
|
+
const _resolveObjectOption = function _resolveObjectOption2(cfg, key, makeFallback) {
|
|
907
|
+
const value = objectHasOwnProperty(cfg, key) ? cfg[key] : void 0;
|
|
908
|
+
return value && typeof value === "object" ? clone(value) : makeFallback();
|
|
909
|
+
};
|
|
786
910
|
function createDOMPurify() {
|
|
787
911
|
let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
|
|
788
912
|
const DOMPurify = (root) => createDOMPurify(root);
|
|
789
|
-
DOMPurify.version = "3.
|
|
913
|
+
DOMPurify.version = "3.4.14";
|
|
790
914
|
DOMPurify.removed = [];
|
|
791
915
|
if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
|
|
792
916
|
DOMPurify.isSupported = false;
|
|
793
917
|
return DOMPurify;
|
|
794
918
|
}
|
|
795
|
-
let
|
|
796
|
-
document: document2
|
|
797
|
-
} = window2;
|
|
919
|
+
let document2 = window2.document;
|
|
798
920
|
const originalDocument = document2;
|
|
799
921
|
const currentScript = originalDocument.currentScript;
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
NodeFilter,
|
|
806
|
-
NamedNodeMap = window2.NamedNodeMap || window2.MozNamedAttrMap,
|
|
807
|
-
HTMLFormElement,
|
|
808
|
-
DOMParser,
|
|
809
|
-
trustedTypes
|
|
810
|
-
} = window2;
|
|
922
|
+
window2.DocumentFragment;
|
|
923
|
+
const HTMLTemplateElement = window2.HTMLTemplateElement, Node2 = window2.Node, Element = window2.Element, NodeFilter = window2.NodeFilter, _window$NamedNodeMap = window2.NamedNodeMap;
|
|
924
|
+
_window$NamedNodeMap === void 0 ? window2.NamedNodeMap || window2.MozNamedAttrMap : _window$NamedNodeMap;
|
|
925
|
+
window2.HTMLFormElement;
|
|
926
|
+
const DOMParser = window2.DOMParser, trustedTypes = window2.trustedTypes;
|
|
811
927
|
const ElementPrototype = Element.prototype;
|
|
812
928
|
const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
|
|
813
929
|
const remove = lookupGetter(ElementPrototype, "remove");
|
|
814
930
|
const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
|
|
815
931
|
const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
|
|
816
932
|
const getParentNode = lookupGetter(ElementPrototype, "parentNode");
|
|
933
|
+
const getShadowRoot = lookupGetter(ElementPrototype, "shadowRoot");
|
|
934
|
+
const getAttributes = lookupGetter(ElementPrototype, "attributes");
|
|
935
|
+
const getNodeType = Node2 && Node2.prototype ? lookupGetter(Node2.prototype, "nodeType") : null;
|
|
936
|
+
const getNodeName = Node2 && Node2.prototype ? lookupGetter(Node2.prototype, "nodeName") : null;
|
|
937
|
+
const getOwnerDocument = Node2 && Node2.prototype ? lookupGetter(Node2.prototype, "ownerDocument") : null;
|
|
938
|
+
const _readNodeType = function _readNodeType2(node) {
|
|
939
|
+
return getNodeType ? getNodeType(node) : node.nodeType;
|
|
940
|
+
};
|
|
941
|
+
const _readNodeName = function _readNodeName2(node) {
|
|
942
|
+
return getNodeName ? getNodeName(node) : node.nodeName;
|
|
943
|
+
};
|
|
817
944
|
if (typeof HTMLTemplateElement === "function") {
|
|
818
945
|
const template = document2.createElement("template");
|
|
819
946
|
if (template.content && template.content.ownerDocument) {
|
|
@@ -822,30 +949,45 @@ function createDOMPurify() {
|
|
|
822
949
|
}
|
|
823
950
|
let trustedTypesPolicy;
|
|
824
951
|
let emptyHTML = "";
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
952
|
+
let defaultTrustedTypesPolicy;
|
|
953
|
+
let defaultTrustedTypesPolicyResolved = false;
|
|
954
|
+
let IN_TRUSTED_TYPES_POLICY = 0;
|
|
955
|
+
const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy2() {
|
|
956
|
+
if (IN_TRUSTED_TYPES_POLICY > 0) {
|
|
957
|
+
throw typeErrorCreate('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');
|
|
958
|
+
}
|
|
959
|
+
};
|
|
960
|
+
const _createTrustedHTML = function _createTrustedHTML2(html2) {
|
|
961
|
+
_assertNotInTrustedTypesPolicy();
|
|
962
|
+
IN_TRUSTED_TYPES_POLICY++;
|
|
963
|
+
try {
|
|
964
|
+
return trustedTypesPolicy.createHTML(html2);
|
|
965
|
+
} finally {
|
|
966
|
+
IN_TRUSTED_TYPES_POLICY--;
|
|
967
|
+
}
|
|
968
|
+
};
|
|
969
|
+
const _createTrustedScriptURL = function _createTrustedScriptURL2(scriptUrl) {
|
|
970
|
+
_assertNotInTrustedTypesPolicy();
|
|
971
|
+
IN_TRUSTED_TYPES_POLICY++;
|
|
972
|
+
try {
|
|
973
|
+
return trustedTypesPolicy.createScriptURL(scriptUrl);
|
|
974
|
+
} finally {
|
|
975
|
+
IN_TRUSTED_TYPES_POLICY--;
|
|
976
|
+
}
|
|
977
|
+
};
|
|
978
|
+
const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy2() {
|
|
979
|
+
if (!defaultTrustedTypesPolicyResolved) {
|
|
980
|
+
defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
|
|
981
|
+
defaultTrustedTypesPolicyResolved = true;
|
|
982
|
+
}
|
|
983
|
+
return defaultTrustedTypesPolicy;
|
|
984
|
+
};
|
|
985
|
+
const _document = document2, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;
|
|
986
|
+
const importNode = originalDocument.importNode;
|
|
834
987
|
let hooks = _createHooksMap();
|
|
835
988
|
DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0;
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
ERB_EXPR: ERB_EXPR2,
|
|
839
|
-
TMPLIT_EXPR: TMPLIT_EXPR2,
|
|
840
|
-
DATA_ATTR: DATA_ATTR2,
|
|
841
|
-
ARIA_ATTR: ARIA_ATTR2,
|
|
842
|
-
IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA2,
|
|
843
|
-
ATTR_WHITESPACE: ATTR_WHITESPACE2,
|
|
844
|
-
CUSTOM_ELEMENT: CUSTOM_ELEMENT2
|
|
845
|
-
} = EXPRESSIONS;
|
|
846
|
-
let {
|
|
847
|
-
IS_ALLOWED_URI: IS_ALLOWED_URI$1
|
|
848
|
-
} = EXPRESSIONS;
|
|
989
|
+
const MUSTACHE_EXPR$1 = MUSTACHE_EXPR, ERB_EXPR$1 = ERB_EXPR, TMPLIT_EXPR$1 = TMPLIT_EXPR, DATA_ATTR$1 = DATA_ATTR, ARIA_ATTR$1 = ARIA_ATTR, IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, ATTR_WHITESPACE$1 = ATTR_WHITESPACE, CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;
|
|
990
|
+
let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;
|
|
849
991
|
let ALLOWED_TAGS = null;
|
|
850
992
|
const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);
|
|
851
993
|
let ALLOWED_ATTR = null;
|
|
@@ -894,6 +1036,8 @@ function createDOMPurify() {
|
|
|
894
1036
|
let SAFE_FOR_XML = true;
|
|
895
1037
|
let WHOLE_DOCUMENT = false;
|
|
896
1038
|
let SET_CONFIG = false;
|
|
1039
|
+
let SET_CONFIG_ALLOWED_TAGS = null;
|
|
1040
|
+
let SET_CONFIG_ALLOWED_ATTR = null;
|
|
897
1041
|
let FORCE_BODY = false;
|
|
898
1042
|
let RETURN_DOM = false;
|
|
899
1043
|
let RETURN_DOM_FRAGMENT = false;
|
|
@@ -905,7 +1049,43 @@ function createDOMPurify() {
|
|
|
905
1049
|
let IN_PLACE = false;
|
|
906
1050
|
let USE_PROFILES = {};
|
|
907
1051
|
let FORBID_CONTENTS = null;
|
|
908
|
-
const DEFAULT_FORBID_CONTENTS = addToSet({}, [
|
|
1052
|
+
const DEFAULT_FORBID_CONTENTS = addToSet({}, [
|
|
1053
|
+
"annotation-xml",
|
|
1054
|
+
"audio",
|
|
1055
|
+
"colgroup",
|
|
1056
|
+
"desc",
|
|
1057
|
+
"foreignobject",
|
|
1058
|
+
"head",
|
|
1059
|
+
"iframe",
|
|
1060
|
+
"math",
|
|
1061
|
+
"mi",
|
|
1062
|
+
"mn",
|
|
1063
|
+
"mo",
|
|
1064
|
+
"ms",
|
|
1065
|
+
"mtext",
|
|
1066
|
+
"noembed",
|
|
1067
|
+
"noframes",
|
|
1068
|
+
"noscript",
|
|
1069
|
+
"plaintext",
|
|
1070
|
+
"script",
|
|
1071
|
+
// <selectedcontent> mirrors the selected <option>'s subtree, cloned by
|
|
1072
|
+
// the UA (customizable <select>) — including any on* handlers — and the
|
|
1073
|
+
// engine re-mirrors synchronously whenever a removal changes which
|
|
1074
|
+
// option/selectedcontent is current, even inside DOMPurify's inert
|
|
1075
|
+
// DOMParser document. Hoisting its children on removal re-inserts a fresh
|
|
1076
|
+
// mirror target ahead of the walk, which the engine refills, looping
|
|
1077
|
+
// forever (DoS) and amplifying output. Dropping its content on removal
|
|
1078
|
+
// (rather than hoisting) breaks that cascade; the content is a duplicate
|
|
1079
|
+
// of the option, which is sanitized on its own. See campaign-3 F1/F6.
|
|
1080
|
+
"selectedcontent",
|
|
1081
|
+
"style",
|
|
1082
|
+
"svg",
|
|
1083
|
+
"template",
|
|
1084
|
+
"thead",
|
|
1085
|
+
"title",
|
|
1086
|
+
"video",
|
|
1087
|
+
"xmp"
|
|
1088
|
+
]);
|
|
909
1089
|
let DATA_URI_TAGS = null;
|
|
910
1090
|
const DEFAULT_DATA_URI_TAGS = addToSet({}, ["audio", "video", "img", "source", "image", "track"]);
|
|
911
1091
|
let URI_SAFE_ATTRIBUTES = null;
|
|
@@ -917,8 +1097,10 @@ function createDOMPurify() {
|
|
|
917
1097
|
let IS_EMPTY_INPUT = false;
|
|
918
1098
|
let ALLOWED_NAMESPACES = null;
|
|
919
1099
|
const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
|
|
920
|
-
|
|
921
|
-
let
|
|
1100
|
+
const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze(["mi", "mo", "mn", "ms", "mtext"]);
|
|
1101
|
+
let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);
|
|
1102
|
+
const DEFAULT_HTML_INTEGRATION_POINTS = freeze(["annotation-xml"]);
|
|
1103
|
+
let HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);
|
|
922
1104
|
const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ["title", "style", "font", "a", "script"]);
|
|
923
1105
|
let PARSER_MEDIA_TYPE = null;
|
|
924
1106
|
const SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"];
|
|
@@ -941,15 +1123,33 @@ function createDOMPurify() {
|
|
|
941
1123
|
PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes
|
|
942
1124
|
SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
|
|
943
1125
|
transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase;
|
|
944
|
-
ALLOWED_TAGS =
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
1126
|
+
ALLOWED_TAGS = _resolveSetOption(cfg, "ALLOWED_TAGS", DEFAULT_ALLOWED_TAGS, {
|
|
1127
|
+
transform: transformCaseFunc
|
|
1128
|
+
});
|
|
1129
|
+
ALLOWED_ATTR = _resolveSetOption(cfg, "ALLOWED_ATTR", DEFAULT_ALLOWED_ATTR, {
|
|
1130
|
+
transform: transformCaseFunc
|
|
1131
|
+
});
|
|
1132
|
+
ALLOWED_NAMESPACES = _resolveSetOption(cfg, "ALLOWED_NAMESPACES", DEFAULT_ALLOWED_NAMESPACES, {
|
|
1133
|
+
transform: stringToString
|
|
1134
|
+
});
|
|
1135
|
+
URI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, "ADD_URI_SAFE_ATTR", DEFAULT_URI_SAFE_ATTRIBUTES, {
|
|
1136
|
+
transform: transformCaseFunc,
|
|
1137
|
+
base: DEFAULT_URI_SAFE_ATTRIBUTES
|
|
1138
|
+
});
|
|
1139
|
+
DATA_URI_TAGS = _resolveSetOption(cfg, "ADD_DATA_URI_TAGS", DEFAULT_DATA_URI_TAGS, {
|
|
1140
|
+
transform: transformCaseFunc,
|
|
1141
|
+
base: DEFAULT_DATA_URI_TAGS
|
|
1142
|
+
});
|
|
1143
|
+
FORBID_CONTENTS = _resolveSetOption(cfg, "FORBID_CONTENTS", DEFAULT_FORBID_CONTENTS, {
|
|
1144
|
+
transform: transformCaseFunc
|
|
1145
|
+
});
|
|
1146
|
+
FORBID_TAGS = _resolveSetOption(cfg, "FORBID_TAGS", clone({}), {
|
|
1147
|
+
transform: transformCaseFunc
|
|
1148
|
+
});
|
|
1149
|
+
FORBID_ATTR = _resolveSetOption(cfg, "FORBID_ATTR", clone({}), {
|
|
1150
|
+
transform: transformCaseFunc
|
|
1151
|
+
});
|
|
1152
|
+
USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === "object" ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;
|
|
953
1153
|
ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
|
|
954
1154
|
ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
|
|
955
1155
|
ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;
|
|
@@ -965,20 +1165,32 @@ function createDOMPurify() {
|
|
|
965
1165
|
SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;
|
|
966
1166
|
KEEP_CONTENT = cfg.KEEP_CONTENT !== false;
|
|
967
1167
|
IN_PLACE = cfg.IN_PLACE || false;
|
|
968
|
-
IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP
|
|
969
|
-
NAMESPACE = cfg.NAMESPACE
|
|
970
|
-
MATHML_TEXT_INTEGRATION_POINTS =
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1168
|
+
IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI;
|
|
1169
|
+
NAMESPACE = typeof cfg.NAMESPACE === "string" ? cfg.NAMESPACE : HTML_NAMESPACE;
|
|
1170
|
+
MATHML_TEXT_INTEGRATION_POINTS = _resolveObjectOption(
|
|
1171
|
+
cfg,
|
|
1172
|
+
"MATHML_TEXT_INTEGRATION_POINTS",
|
|
1173
|
+
() => addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS)
|
|
1174
|
+
// Default built-in map
|
|
1175
|
+
);
|
|
1176
|
+
HTML_INTEGRATION_POINTS = _resolveObjectOption(
|
|
1177
|
+
cfg,
|
|
1178
|
+
"HTML_INTEGRATION_POINTS",
|
|
1179
|
+
() => addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS)
|
|
1180
|
+
// Default built-in map
|
|
1181
|
+
);
|
|
1182
|
+
const customElementHandling = _resolveObjectOption(cfg, "CUSTOM_ELEMENT_HANDLING", () => create$1(null));
|
|
1183
|
+
CUSTOM_ELEMENT_HANDLING = create$1(null);
|
|
1184
|
+
if (objectHasOwnProperty(customElementHandling, "tagNameCheck") && isRegexOrFunction(customElementHandling.tagNameCheck)) {
|
|
1185
|
+
CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck;
|
|
975
1186
|
}
|
|
976
|
-
if (
|
|
977
|
-
CUSTOM_ELEMENT_HANDLING.attributeNameCheck =
|
|
1187
|
+
if (objectHasOwnProperty(customElementHandling, "attributeNameCheck") && isRegexOrFunction(customElementHandling.attributeNameCheck)) {
|
|
1188
|
+
CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck;
|
|
978
1189
|
}
|
|
979
|
-
if (
|
|
980
|
-
CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =
|
|
1190
|
+
if (objectHasOwnProperty(customElementHandling, "allowCustomizedBuiltInElements") && typeof customElementHandling.allowCustomizedBuiltInElements === "boolean") {
|
|
1191
|
+
CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements;
|
|
981
1192
|
}
|
|
1193
|
+
seal(CUSTOM_ELEMENT_HANDLING);
|
|
982
1194
|
if (SAFE_FOR_TEMPLATES) {
|
|
983
1195
|
ALLOW_DATA_ATTR = false;
|
|
984
1196
|
}
|
|
@@ -987,7 +1199,7 @@ function createDOMPurify() {
|
|
|
987
1199
|
}
|
|
988
1200
|
if (USE_PROFILES) {
|
|
989
1201
|
ALLOWED_TAGS = addToSet({}, text);
|
|
990
|
-
ALLOWED_ATTR =
|
|
1202
|
+
ALLOWED_ATTR = create$1(null);
|
|
991
1203
|
if (USE_PROFILES.html === true) {
|
|
992
1204
|
addToSet(ALLOWED_TAGS, html$1);
|
|
993
1205
|
addToSet(ALLOWED_ATTR, html);
|
|
@@ -1008,36 +1220,29 @@ function createDOMPurify() {
|
|
|
1008
1220
|
addToSet(ALLOWED_ATTR, xml);
|
|
1009
1221
|
}
|
|
1010
1222
|
}
|
|
1011
|
-
|
|
1223
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = null;
|
|
1224
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = null;
|
|
1225
|
+
if (objectHasOwnProperty(cfg, "ADD_TAGS")) {
|
|
1012
1226
|
if (typeof cfg.ADD_TAGS === "function") {
|
|
1013
1227
|
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
1014
|
-
} else {
|
|
1228
|
+
} else if (arrayIsArray(cfg.ADD_TAGS)) {
|
|
1015
1229
|
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
1016
1230
|
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
1017
1231
|
}
|
|
1018
1232
|
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
1019
1233
|
}
|
|
1020
1234
|
}
|
|
1021
|
-
if (cfg
|
|
1235
|
+
if (objectHasOwnProperty(cfg, "ADD_ATTR")) {
|
|
1022
1236
|
if (typeof cfg.ADD_ATTR === "function") {
|
|
1023
1237
|
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
1024
|
-
} else {
|
|
1238
|
+
} else if (arrayIsArray(cfg.ADD_ATTR)) {
|
|
1025
1239
|
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
1026
1240
|
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
1027
1241
|
}
|
|
1028
1242
|
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
1029
1243
|
}
|
|
1030
1244
|
}
|
|
1031
|
-
if (cfg.
|
|
1032
|
-
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
1033
|
-
}
|
|
1034
|
-
if (cfg.FORBID_CONTENTS) {
|
|
1035
|
-
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
1036
|
-
FORBID_CONTENTS = clone(FORBID_CONTENTS);
|
|
1037
|
-
}
|
|
1038
|
-
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
1039
|
-
}
|
|
1040
|
-
if (cfg.ADD_FORBID_CONTENTS) {
|
|
1245
|
+
if (objectHasOwnProperty(cfg, "ADD_FORBID_CONTENTS") && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {
|
|
1041
1246
|
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
1042
1247
|
FORBID_CONTENTS = clone(FORBID_CONTENTS);
|
|
1043
1248
|
}
|
|
@@ -1060,14 +1265,23 @@ function createDOMPurify() {
|
|
|
1060
1265
|
if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") {
|
|
1061
1266
|
throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
|
|
1062
1267
|
}
|
|
1268
|
+
const previousTrustedTypesPolicy = trustedTypesPolicy;
|
|
1063
1269
|
trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
|
|
1064
|
-
|
|
1270
|
+
try {
|
|
1271
|
+
emptyHTML = _createTrustedHTML("");
|
|
1272
|
+
} catch (error) {
|
|
1273
|
+
trustedTypesPolicy = previousTrustedTypesPolicy;
|
|
1274
|
+
throw error;
|
|
1275
|
+
}
|
|
1276
|
+
} else if (cfg.TRUSTED_TYPES_POLICY === null) {
|
|
1277
|
+
trustedTypesPolicy = void 0;
|
|
1278
|
+
emptyHTML = "";
|
|
1065
1279
|
} else {
|
|
1066
1280
|
if (trustedTypesPolicy === void 0) {
|
|
1067
|
-
trustedTypesPolicy =
|
|
1281
|
+
trustedTypesPolicy = _getDefaultTrustedTypesPolicy();
|
|
1068
1282
|
}
|
|
1069
|
-
if (trustedTypesPolicy
|
|
1070
|
-
emptyHTML =
|
|
1283
|
+
if (trustedTypesPolicy && typeof emptyHTML === "string") {
|
|
1284
|
+
emptyHTML = _createTrustedHTML("");
|
|
1071
1285
|
}
|
|
1072
1286
|
}
|
|
1073
1287
|
if (freeze) {
|
|
@@ -1077,6 +1291,33 @@ function createDOMPurify() {
|
|
|
1077
1291
|
};
|
|
1078
1292
|
const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
|
|
1079
1293
|
const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
|
|
1294
|
+
const _checkSvgNamespace = function _checkSvgNamespace2(tagName, parent, parentTagName) {
|
|
1295
|
+
if (parent.namespaceURI === HTML_NAMESPACE) {
|
|
1296
|
+
return tagName === "svg";
|
|
1297
|
+
}
|
|
1298
|
+
if (parent.namespaceURI === MATHML_NAMESPACE) {
|
|
1299
|
+
return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
|
|
1300
|
+
}
|
|
1301
|
+
return Boolean(ALL_SVG_TAGS[tagName]);
|
|
1302
|
+
};
|
|
1303
|
+
const _checkMathMlNamespace = function _checkMathMlNamespace2(tagName, parent, parentTagName) {
|
|
1304
|
+
if (parent.namespaceURI === HTML_NAMESPACE) {
|
|
1305
|
+
return tagName === "math";
|
|
1306
|
+
}
|
|
1307
|
+
if (parent.namespaceURI === SVG_NAMESPACE) {
|
|
1308
|
+
return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
|
|
1309
|
+
}
|
|
1310
|
+
return Boolean(ALL_MATHML_TAGS[tagName]);
|
|
1311
|
+
};
|
|
1312
|
+
const _checkHtmlNamespace = function _checkHtmlNamespace2(tagName, parent, parentTagName) {
|
|
1313
|
+
if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
|
|
1314
|
+
return false;
|
|
1315
|
+
}
|
|
1316
|
+
if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
|
|
1317
|
+
return false;
|
|
1318
|
+
}
|
|
1319
|
+
return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
|
|
1320
|
+
};
|
|
1080
1321
|
const _checkValidNamespace = function _checkValidNamespace2(element) {
|
|
1081
1322
|
let parent = getParentNode(element);
|
|
1082
1323
|
if (!parent || !parent.tagName) {
|
|
@@ -1091,31 +1332,13 @@ function createDOMPurify() {
|
|
|
1091
1332
|
return false;
|
|
1092
1333
|
}
|
|
1093
1334
|
if (element.namespaceURI === SVG_NAMESPACE) {
|
|
1094
|
-
|
|
1095
|
-
return tagName === "svg";
|
|
1096
|
-
}
|
|
1097
|
-
if (parent.namespaceURI === MATHML_NAMESPACE) {
|
|
1098
|
-
return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
|
|
1099
|
-
}
|
|
1100
|
-
return Boolean(ALL_SVG_TAGS[tagName]);
|
|
1335
|
+
return _checkSvgNamespace(tagName, parent, parentTagName);
|
|
1101
1336
|
}
|
|
1102
1337
|
if (element.namespaceURI === MATHML_NAMESPACE) {
|
|
1103
|
-
|
|
1104
|
-
return tagName === "math";
|
|
1105
|
-
}
|
|
1106
|
-
if (parent.namespaceURI === SVG_NAMESPACE) {
|
|
1107
|
-
return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
|
|
1108
|
-
}
|
|
1109
|
-
return Boolean(ALL_MATHML_TAGS[tagName]);
|
|
1338
|
+
return _checkMathMlNamespace(tagName, parent, parentTagName);
|
|
1110
1339
|
}
|
|
1111
1340
|
if (element.namespaceURI === HTML_NAMESPACE) {
|
|
1112
|
-
|
|
1113
|
-
return false;
|
|
1114
|
-
}
|
|
1115
|
-
if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
|
|
1116
|
-
return false;
|
|
1117
|
-
}
|
|
1118
|
-
return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
|
|
1341
|
+
return _checkHtmlNamespace(tagName, parent, parentTagName);
|
|
1119
1342
|
}
|
|
1120
1343
|
if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) {
|
|
1121
1344
|
return true;
|
|
@@ -1130,21 +1353,71 @@ function createDOMPurify() {
|
|
|
1130
1353
|
getParentNode(node).removeChild(node);
|
|
1131
1354
|
} catch (_) {
|
|
1132
1355
|
remove(node);
|
|
1356
|
+
if (!getParentNode(node)) {
|
|
1357
|
+
throw typeErrorCreate("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
|
|
1358
|
+
}
|
|
1133
1359
|
}
|
|
1134
1360
|
};
|
|
1135
|
-
const
|
|
1361
|
+
const _stripAttributeNode = function _stripAttributeNode2(element, attribute, name) {
|
|
1136
1362
|
try {
|
|
1137
|
-
|
|
1138
|
-
attribute: element.getAttributeNode(name),
|
|
1139
|
-
from: element
|
|
1140
|
-
});
|
|
1363
|
+
element.removeAttributeNode(attribute);
|
|
1141
1364
|
} catch (_) {
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1365
|
+
try {
|
|
1366
|
+
element.removeAttribute(name);
|
|
1367
|
+
} catch (_2) {
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
};
|
|
1371
|
+
const _neutralizeRoot = function _neutralizeRoot2(root) {
|
|
1372
|
+
_neutralizeSubtree(root);
|
|
1373
|
+
const childNodes = getChildNodes(root);
|
|
1374
|
+
if (childNodes) {
|
|
1375
|
+
const snapshot = [];
|
|
1376
|
+
arrayForEach(childNodes, (child) => {
|
|
1377
|
+
arrayPush(snapshot, child);
|
|
1145
1378
|
});
|
|
1379
|
+
arrayForEach(snapshot, (child) => {
|
|
1380
|
+
try {
|
|
1381
|
+
remove(child);
|
|
1382
|
+
} catch (_) {
|
|
1383
|
+
}
|
|
1384
|
+
});
|
|
1385
|
+
}
|
|
1386
|
+
const attributes = getAttributes(root);
|
|
1387
|
+
if (attributes) {
|
|
1388
|
+
for (let i = attributes.length - 1; i >= 0; --i) {
|
|
1389
|
+
const attribute = attributes[i];
|
|
1390
|
+
const name = attribute && attribute.name;
|
|
1391
|
+
if (typeof name === "string") {
|
|
1392
|
+
_stripAttributeNode(root, attribute, name);
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
};
|
|
1397
|
+
const _removeAttribute = function _removeAttribute2(name, element, attr) {
|
|
1398
|
+
if (!attr) {
|
|
1399
|
+
try {
|
|
1400
|
+
attr = element.getAttributeNode(name);
|
|
1401
|
+
} catch (_) {
|
|
1402
|
+
attr = null;
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
arrayPush(DOMPurify.removed, {
|
|
1406
|
+
attribute: attr || null,
|
|
1407
|
+
from: element
|
|
1408
|
+
});
|
|
1409
|
+
try {
|
|
1410
|
+
if (attr) {
|
|
1411
|
+
element.removeAttributeNode(attr);
|
|
1412
|
+
} else {
|
|
1413
|
+
element.removeAttribute(name);
|
|
1414
|
+
}
|
|
1415
|
+
} catch (_) {
|
|
1416
|
+
try {
|
|
1417
|
+
element.removeAttribute(name);
|
|
1418
|
+
} catch (_2) {
|
|
1419
|
+
}
|
|
1146
1420
|
}
|
|
1147
|
-
element.removeAttribute(name);
|
|
1148
1421
|
if (name === "is") {
|
|
1149
1422
|
if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
|
|
1150
1423
|
try {
|
|
@@ -1159,6 +1432,81 @@ function createDOMPurify() {
|
|
|
1159
1432
|
}
|
|
1160
1433
|
}
|
|
1161
1434
|
};
|
|
1435
|
+
const _stripDisallowedAttributes = function _stripDisallowedAttributes2(element) {
|
|
1436
|
+
const attributes = getAttributes(element);
|
|
1437
|
+
if (!attributes) {
|
|
1438
|
+
return;
|
|
1439
|
+
}
|
|
1440
|
+
for (let i = attributes.length - 1; i >= 0; --i) {
|
|
1441
|
+
const attribute = attributes[i];
|
|
1442
|
+
const name = attribute && attribute.name;
|
|
1443
|
+
if (typeof name !== "string" || ALLOWED_ATTR[transformCaseFunc(name)]) {
|
|
1444
|
+
continue;
|
|
1445
|
+
}
|
|
1446
|
+
_stripAttributeNode(element, attribute, name);
|
|
1447
|
+
}
|
|
1448
|
+
};
|
|
1449
|
+
const _neutralizeSubtree = function _neutralizeSubtree2(root) {
|
|
1450
|
+
const stack = [root];
|
|
1451
|
+
while (stack.length > 0) {
|
|
1452
|
+
const node = stack.pop();
|
|
1453
|
+
const nodeType = _readNodeType(node);
|
|
1454
|
+
if (nodeType === NODE_TYPE.element) {
|
|
1455
|
+
_stripDisallowedAttributes(node);
|
|
1456
|
+
}
|
|
1457
|
+
const childNodes = getChildNodes(node);
|
|
1458
|
+
if (childNodes) {
|
|
1459
|
+
for (let i = childNodes.length - 1; i >= 0; --i) {
|
|
1460
|
+
stack.push(childNodes[i]);
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
}
|
|
1464
|
+
};
|
|
1465
|
+
const _isPatchLinkageAttribute = function _isPatchLinkageAttribute2(lcName, lcTag) {
|
|
1466
|
+
if (!SAFE_FOR_XML) {
|
|
1467
|
+
return false;
|
|
1468
|
+
}
|
|
1469
|
+
if (lcName === "patchsrc") {
|
|
1470
|
+
return true;
|
|
1471
|
+
}
|
|
1472
|
+
return lcName === "for" && lcTag !== "label" && lcTag !== "output";
|
|
1473
|
+
};
|
|
1474
|
+
const _neutralizePatchLinkage = function _neutralizePatchLinkage2(root) {
|
|
1475
|
+
if (!SAFE_FOR_XML) {
|
|
1476
|
+
return;
|
|
1477
|
+
}
|
|
1478
|
+
const stack = [root];
|
|
1479
|
+
while (stack.length > 0) {
|
|
1480
|
+
const node = stack.pop();
|
|
1481
|
+
const nodeType = _readNodeType(node);
|
|
1482
|
+
if (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {
|
|
1483
|
+
try {
|
|
1484
|
+
remove(node);
|
|
1485
|
+
} catch (_) {
|
|
1486
|
+
}
|
|
1487
|
+
continue;
|
|
1488
|
+
}
|
|
1489
|
+
if (nodeType === NODE_TYPE.element) {
|
|
1490
|
+
const element = node;
|
|
1491
|
+
const lcTag = transformCaseFunc(_readNodeName(node));
|
|
1492
|
+
try {
|
|
1493
|
+
if (element.hasAttribute && element.hasAttribute("patchsrc")) {
|
|
1494
|
+
element.removeAttribute("patchsrc");
|
|
1495
|
+
}
|
|
1496
|
+
if (element.hasAttribute && element.hasAttribute("for") && _isPatchLinkageAttribute("for", lcTag)) {
|
|
1497
|
+
element.removeAttribute("for");
|
|
1498
|
+
}
|
|
1499
|
+
} catch (_) {
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
const childNodes = getChildNodes(node);
|
|
1503
|
+
if (childNodes) {
|
|
1504
|
+
for (let i = childNodes.length - 1; i >= 0; --i) {
|
|
1505
|
+
stack.push(childNodes[i]);
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
}
|
|
1509
|
+
};
|
|
1162
1510
|
const _initDocument = function _initDocument2(dirty) {
|
|
1163
1511
|
let doc = null;
|
|
1164
1512
|
let leadingWhitespace = null;
|
|
@@ -1171,7 +1519,7 @@ function createDOMPurify() {
|
|
|
1171
1519
|
if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) {
|
|
1172
1520
|
dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + "</body></html>";
|
|
1173
1521
|
}
|
|
1174
|
-
const dirtyPayload = trustedTypesPolicy ?
|
|
1522
|
+
const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;
|
|
1175
1523
|
if (NAMESPACE === HTML_NAMESPACE) {
|
|
1176
1524
|
try {
|
|
1177
1525
|
doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
|
|
@@ -1195,86 +1543,207 @@ function createDOMPurify() {
|
|
|
1195
1543
|
return WHOLE_DOCUMENT ? doc.documentElement : body;
|
|
1196
1544
|
};
|
|
1197
1545
|
const _createNodeIterator = function _createNodeIterator2(root) {
|
|
1546
|
+
const doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;
|
|
1198
1547
|
return createNodeIterator.call(
|
|
1199
|
-
|
|
1548
|
+
doc || root,
|
|
1200
1549
|
root,
|
|
1201
1550
|
// eslint-disable-next-line no-bitwise
|
|
1202
1551
|
NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION,
|
|
1203
1552
|
null
|
|
1204
1553
|
);
|
|
1205
1554
|
};
|
|
1555
|
+
const _stripTemplateExpressions = function _stripTemplateExpressions2(value) {
|
|
1556
|
+
value = stringReplace(value, MUSTACHE_EXPR$1, " ");
|
|
1557
|
+
value = stringReplace(value, ERB_EXPR$1, " ");
|
|
1558
|
+
value = stringReplace(value, TMPLIT_EXPR$1, " ");
|
|
1559
|
+
return value;
|
|
1560
|
+
};
|
|
1561
|
+
const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {
|
|
1562
|
+
var _node$querySelectorAl;
|
|
1563
|
+
node.normalize();
|
|
1564
|
+
const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;
|
|
1565
|
+
const walker = createNodeIterator.call(
|
|
1566
|
+
doc || node,
|
|
1567
|
+
node,
|
|
1568
|
+
// eslint-disable-next-line no-bitwise
|
|
1569
|
+
NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION,
|
|
1570
|
+
null
|
|
1571
|
+
);
|
|
1572
|
+
let currentNode = walker.nextNode();
|
|
1573
|
+
while (currentNode) {
|
|
1574
|
+
currentNode.data = _stripTemplateExpressions(currentNode.data);
|
|
1575
|
+
currentNode = walker.nextNode();
|
|
1576
|
+
}
|
|
1577
|
+
const templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, "template");
|
|
1578
|
+
if (templates) {
|
|
1579
|
+
arrayForEach(templates, (tmpl) => {
|
|
1580
|
+
if (_isDocumentFragment(tmpl.content)) {
|
|
1581
|
+
_scrubTemplateExpressions2(tmpl.content);
|
|
1582
|
+
}
|
|
1583
|
+
});
|
|
1584
|
+
}
|
|
1585
|
+
};
|
|
1206
1586
|
const _isClobbered = function _isClobbered2(element) {
|
|
1207
|
-
|
|
1587
|
+
const realTagName = getNodeName ? getNodeName(element) : null;
|
|
1588
|
+
if (typeof realTagName !== "string") {
|
|
1589
|
+
return false;
|
|
1590
|
+
}
|
|
1591
|
+
if (transformCaseFunc(realTagName) !== "form") {
|
|
1592
|
+
return false;
|
|
1593
|
+
}
|
|
1594
|
+
return typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || // Realm-safe NamedNodeMap detection: equality against the cached
|
|
1595
|
+
// prototype getter. Clobbered .attributes (e.g. <input name="attributes">)
|
|
1596
|
+
// makes the direct read diverge from the cached read; a clean form
|
|
1597
|
+
// (same-realm OR foreign-realm) has both reads pointing at the same
|
|
1598
|
+
// canonical NamedNodeMap.
|
|
1599
|
+
element.attributes !== getAttributes(element) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function" || // NodeType clobbering probe. Cached Node.prototype.nodeType getter
|
|
1600
|
+
// returns the integer 1 for any Element regardless of realm; direct
|
|
1601
|
+
// read on a clobbered form (e.g. <input name="nodeType">) returns
|
|
1602
|
+
// the named child element. Cheap addition — nodeType is read from
|
|
1603
|
+
// an internal slot, no serialization cost — and removes a residual
|
|
1604
|
+
// clobbering surface used by several mXSS / PI / comment branches
|
|
1605
|
+
// in _sanitizeElements that compare currentNode.nodeType directly.
|
|
1606
|
+
element.nodeType !== getNodeType(element) || // HTMLFormElement has [LegacyOverrideBuiltIns]: a descendant named
|
|
1607
|
+
// "childNodes" shadows the prototype getter. Direct reads of
|
|
1608
|
+
// form.childNodes from a clobbered form return the named child
|
|
1609
|
+
// instead of the real NodeList, so any walk that reads it directly
|
|
1610
|
+
// skips the form's real children. Compare the direct read to the
|
|
1611
|
+
// cached Node.prototype getter — when the form's named-property
|
|
1612
|
+
// getter intercepts the read, the two values differ and we flag
|
|
1613
|
+
// the form. This catches every clobbering child type (input,
|
|
1614
|
+
// select, etc.) regardless of whether the named child happens to
|
|
1615
|
+
// carry a numeric .length, which a typeof-based probe would miss
|
|
1616
|
+
// (e.g. HTMLSelectElement.length is a defined unsigned-long).
|
|
1617
|
+
element.childNodes !== getChildNodes(element);
|
|
1618
|
+
};
|
|
1619
|
+
const _isDocumentFragment = function _isDocumentFragment2(value) {
|
|
1620
|
+
if (!getNodeType || typeof value !== "object" || value === null) {
|
|
1621
|
+
return false;
|
|
1622
|
+
}
|
|
1623
|
+
try {
|
|
1624
|
+
return getNodeType(value) === NODE_TYPE.documentFragment;
|
|
1625
|
+
} catch (_) {
|
|
1626
|
+
return false;
|
|
1627
|
+
}
|
|
1208
1628
|
};
|
|
1209
1629
|
const _isNode = function _isNode2(value) {
|
|
1210
|
-
|
|
1630
|
+
if (!getNodeType || typeof value !== "object" || value === null) {
|
|
1631
|
+
return false;
|
|
1632
|
+
}
|
|
1633
|
+
try {
|
|
1634
|
+
return typeof getNodeType(value) === "number";
|
|
1635
|
+
} catch (_) {
|
|
1636
|
+
return false;
|
|
1637
|
+
}
|
|
1211
1638
|
};
|
|
1212
1639
|
function _executeHooks(hooks2, currentNode, data) {
|
|
1640
|
+
if (hooks2.length === 0) {
|
|
1641
|
+
return;
|
|
1642
|
+
}
|
|
1213
1643
|
arrayForEach(hooks2, (hook) => {
|
|
1214
1644
|
hook.call(DOMPurify, currentNode, data, CONFIG);
|
|
1215
1645
|
});
|
|
1216
1646
|
}
|
|
1217
|
-
const
|
|
1218
|
-
|
|
1647
|
+
const _isUnsafeNode = function _isUnsafeNode2(currentNode, tagName) {
|
|
1648
|
+
if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) {
|
|
1649
|
+
return true;
|
|
1650
|
+
}
|
|
1651
|
+
if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && LITERAL_TEXT_ELEMENTS[tagName] && (_isNode(currentNode.firstElementChild) || typeof currentNode.textContent === "string" && regExpTest(LITERAL_TEXT_CLOSE[tagName], currentNode.textContent))) {
|
|
1652
|
+
return true;
|
|
1653
|
+
}
|
|
1654
|
+
if (currentNode.nodeType === NODE_TYPE.processingInstruction) {
|
|
1655
|
+
return true;
|
|
1656
|
+
}
|
|
1657
|
+
if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) {
|
|
1658
|
+
return true;
|
|
1659
|
+
}
|
|
1660
|
+
return false;
|
|
1661
|
+
};
|
|
1662
|
+
const _matchesNameCheck = function _matchesNameCheck2(check, name) {
|
|
1663
|
+
if (check instanceof RegExp) {
|
|
1664
|
+
return regExpTest(check, name);
|
|
1665
|
+
}
|
|
1666
|
+
if (check instanceof Function) {
|
|
1667
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1668
|
+
args[_key - 2] = arguments[_key];
|
|
1669
|
+
}
|
|
1670
|
+
return Boolean(check(name, ...args));
|
|
1671
|
+
}
|
|
1672
|
+
return false;
|
|
1673
|
+
};
|
|
1674
|
+
const _sanitizeDisallowedNode = function _sanitizeDisallowedNode2(currentNode, tagName, root) {
|
|
1675
|
+
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
1676
|
+
return false;
|
|
1677
|
+
}
|
|
1678
|
+
if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
|
|
1679
|
+
const parentNode = getParentNode(currentNode);
|
|
1680
|
+
const childNodes = getChildNodes(currentNode);
|
|
1681
|
+
if (childNodes && parentNode) {
|
|
1682
|
+
const childCount = childNodes.length;
|
|
1683
|
+
for (let i = childCount - 1; i >= 0; --i) {
|
|
1684
|
+
const hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];
|
|
1685
|
+
parentNode.insertBefore(hoisted, getNextSibling(currentNode));
|
|
1686
|
+
}
|
|
1687
|
+
}
|
|
1688
|
+
}
|
|
1689
|
+
_forceRemove(currentNode);
|
|
1690
|
+
return true;
|
|
1691
|
+
};
|
|
1692
|
+
const _forkSharedAllowlist = function _forkSharedAllowlist2(hookList, set, defaultSet, setConfigSet) {
|
|
1693
|
+
if (hookList.length === 0) {
|
|
1694
|
+
return set;
|
|
1695
|
+
}
|
|
1696
|
+
return set === defaultSet || set === setConfigSet ? clone(set) : set;
|
|
1697
|
+
};
|
|
1698
|
+
const _handleHookDetachedNode = function _handleHookDetachedNode2(currentNode, root) {
|
|
1699
|
+
if (currentNode === root || getParentNode(currentNode) !== null) {
|
|
1700
|
+
return false;
|
|
1701
|
+
}
|
|
1702
|
+
if (IN_PLACE) {
|
|
1703
|
+
_neutralizeSubtree(currentNode);
|
|
1704
|
+
}
|
|
1705
|
+
return true;
|
|
1706
|
+
};
|
|
1707
|
+
const _sanitizeElements = function _sanitizeElements2(currentNode, root) {
|
|
1219
1708
|
_executeHooks(hooks.beforeSanitizeElements, currentNode, null);
|
|
1709
|
+
if (_handleHookDetachedNode(currentNode, root)) {
|
|
1710
|
+
return true;
|
|
1711
|
+
}
|
|
1220
1712
|
if (_isClobbered(currentNode)) {
|
|
1221
1713
|
_forceRemove(currentNode);
|
|
1222
1714
|
return true;
|
|
1223
1715
|
}
|
|
1224
|
-
const tagName = transformCaseFunc(currentNode
|
|
1716
|
+
const tagName = transformCaseFunc(_readNodeName(currentNode));
|
|
1717
|
+
ALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);
|
|
1225
1718
|
_executeHooks(hooks.uponSanitizeElement, currentNode, {
|
|
1226
1719
|
tagName,
|
|
1227
1720
|
allowedTags: ALLOWED_TAGS
|
|
1228
1721
|
});
|
|
1229
|
-
if (
|
|
1230
|
-
_forceRemove(currentNode);
|
|
1722
|
+
if (_handleHookDetachedNode(currentNode, root)) {
|
|
1231
1723
|
return true;
|
|
1232
1724
|
}
|
|
1233
|
-
if (currentNode
|
|
1725
|
+
if (_isUnsafeNode(currentNode, tagName)) {
|
|
1234
1726
|
_forceRemove(currentNode);
|
|
1235
1727
|
return true;
|
|
1236
1728
|
}
|
|
1237
|
-
if (
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
1242
|
-
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
1243
|
-
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
1244
|
-
return false;
|
|
1245
|
-
}
|
|
1246
|
-
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
|
|
1247
|
-
return false;
|
|
1248
|
-
}
|
|
1729
|
+
if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
|
|
1730
|
+
const removed = _sanitizeDisallowedNode(currentNode, tagName, root);
|
|
1731
|
+
if (removed === false) {
|
|
1732
|
+
_executeHooks(hooks.afterSanitizeElements, currentNode, null);
|
|
1249
1733
|
}
|
|
1250
|
-
|
|
1251
|
-
const parentNode = getParentNode(currentNode) || currentNode.parentNode;
|
|
1252
|
-
const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
|
|
1253
|
-
if (childNodes && parentNode) {
|
|
1254
|
-
const childCount = childNodes.length;
|
|
1255
|
-
for (let i = childCount - 1; i >= 0; --i) {
|
|
1256
|
-
const childClone = cloneNode(childNodes[i], true);
|
|
1257
|
-
childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
|
|
1258
|
-
parentNode.insertBefore(childClone, getNextSibling(currentNode));
|
|
1259
|
-
}
|
|
1260
|
-
}
|
|
1261
|
-
}
|
|
1262
|
-
_forceRemove(currentNode);
|
|
1263
|
-
return true;
|
|
1734
|
+
return removed;
|
|
1264
1735
|
}
|
|
1265
|
-
|
|
1736
|
+
const nt = _readNodeType(currentNode);
|
|
1737
|
+
if (nt === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {
|
|
1266
1738
|
_forceRemove(currentNode);
|
|
1267
1739
|
return true;
|
|
1268
1740
|
}
|
|
1269
|
-
if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(
|
|
1741
|
+
if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {
|
|
1270
1742
|
_forceRemove(currentNode);
|
|
1271
1743
|
return true;
|
|
1272
1744
|
}
|
|
1273
1745
|
if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
|
|
1274
|
-
content = currentNode.textContent;
|
|
1275
|
-
arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => {
|
|
1276
|
-
content = stringReplace(content, expr, " ");
|
|
1277
|
-
});
|
|
1746
|
+
const content = _stripTemplateExpressions(currentNode.textContent);
|
|
1278
1747
|
if (currentNode.textContent !== content) {
|
|
1279
1748
|
arrayPush(DOMPurify.removed, {
|
|
1280
1749
|
element: currentNode.cloneNode()
|
|
@@ -1286,44 +1755,87 @@ function createDOMPurify() {
|
|
|
1286
1755
|
return false;
|
|
1287
1756
|
};
|
|
1288
1757
|
const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {
|
|
1289
|
-
if (
|
|
1758
|
+
if (FORBID_ATTR[lcName]) {
|
|
1290
1759
|
return false;
|
|
1291
1760
|
}
|
|
1292
|
-
if (
|
|
1293
|
-
else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName)) ;
|
|
1294
|
-
else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ;
|
|
1295
|
-
else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
1296
|
-
if (
|
|
1297
|
-
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
1298
|
-
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1299
|
-
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
1300
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
1301
|
-
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1302
|
-
lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))
|
|
1303
|
-
) ;
|
|
1304
|
-
else {
|
|
1305
|
-
return false;
|
|
1306
|
-
}
|
|
1307
|
-
} else if (URI_SAFE_ATTRIBUTES[lcName]) ;
|
|
1308
|
-
else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE2, ""))) ;
|
|
1309
|
-
else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) ;
|
|
1310
|
-
else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA2, stringReplace(value, ATTR_WHITESPACE2, ""))) ;
|
|
1311
|
-
else if (value) {
|
|
1761
|
+
if (_isPatchLinkageAttribute(lcName, lcTag)) {
|
|
1312
1762
|
return false;
|
|
1313
|
-
}
|
|
1314
|
-
|
|
1763
|
+
}
|
|
1764
|
+
if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) {
|
|
1765
|
+
return false;
|
|
1766
|
+
}
|
|
1767
|
+
const nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);
|
|
1768
|
+
if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) {
|
|
1769
|
+
return true;
|
|
1770
|
+
}
|
|
1771
|
+
if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) {
|
|
1772
|
+
return true;
|
|
1773
|
+
}
|
|
1774
|
+
if (!nameIsPermitted) {
|
|
1775
|
+
return (
|
|
1776
|
+
// Condition a) covers a basically valid custom element tag name whose
|
|
1777
|
+
// tag passes the configured tagNameCheck and whose attribute name
|
|
1778
|
+
// passes the configured attributeNameCheck ...
|
|
1779
|
+
_isBasicCustomElement(lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName, lcTag) || // Condition b) covers an `is` attribute whose value passes the
|
|
1780
|
+
// configured tagNameCheck while customized built-in elements are
|
|
1781
|
+
// allowed.
|
|
1782
|
+
lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)
|
|
1783
|
+
);
|
|
1784
|
+
}
|
|
1785
|
+
if (URI_SAFE_ATTRIBUTES[lcName]) {
|
|
1786
|
+
return true;
|
|
1787
|
+
}
|
|
1788
|
+
if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) {
|
|
1789
|
+
return true;
|
|
1790
|
+
}
|
|
1791
|
+
if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) {
|
|
1792
|
+
return true;
|
|
1793
|
+
}
|
|
1794
|
+
if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) {
|
|
1795
|
+
return true;
|
|
1796
|
+
}
|
|
1797
|
+
return !value;
|
|
1315
1798
|
};
|
|
1799
|
+
const RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, ["annotation-xml", "color-profile", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "missing-glyph"]);
|
|
1316
1800
|
const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {
|
|
1317
|
-
return tagName
|
|
1801
|
+
return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);
|
|
1802
|
+
};
|
|
1803
|
+
const _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute2(lcTag, lcName, namespaceURI, value) {
|
|
1804
|
+
if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function" && !namespaceURI) {
|
|
1805
|
+
switch (trustedTypes.getAttributeType(lcTag, lcName)) {
|
|
1806
|
+
case "TrustedHTML": {
|
|
1807
|
+
return _createTrustedHTML(value);
|
|
1808
|
+
}
|
|
1809
|
+
case "TrustedScriptURL": {
|
|
1810
|
+
return _createTrustedScriptURL(value);
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
}
|
|
1814
|
+
return value;
|
|
1815
|
+
};
|
|
1816
|
+
const _setAttributeValue = function _setAttributeValue2(currentNode, name, namespaceURI, value) {
|
|
1817
|
+
try {
|
|
1818
|
+
if (namespaceURI) {
|
|
1819
|
+
currentNode.setAttributeNS(namespaceURI, name, value);
|
|
1820
|
+
} else {
|
|
1821
|
+
currentNode.setAttribute(name, value);
|
|
1822
|
+
}
|
|
1823
|
+
if (_isClobbered(currentNode)) {
|
|
1824
|
+
_forceRemove(currentNode);
|
|
1825
|
+
} else {
|
|
1826
|
+
arrayPop(DOMPurify.removed);
|
|
1827
|
+
}
|
|
1828
|
+
} catch (_) {
|
|
1829
|
+
_removeAttribute(name, currentNode);
|
|
1830
|
+
}
|
|
1318
1831
|
};
|
|
1319
1832
|
const _sanitizeAttributes = function _sanitizeAttributes2(currentNode) {
|
|
1320
1833
|
_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
|
|
1321
|
-
const
|
|
1322
|
-
attributes
|
|
1323
|
-
} = currentNode;
|
|
1834
|
+
const attributes = currentNode.attributes;
|
|
1324
1835
|
if (!attributes || _isClobbered(currentNode)) {
|
|
1325
1836
|
return;
|
|
1326
1837
|
}
|
|
1838
|
+
ALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);
|
|
1327
1839
|
const hookEvent = {
|
|
1328
1840
|
attrName: "",
|
|
1329
1841
|
attrValue: "",
|
|
@@ -1332,13 +1844,10 @@ function createDOMPurify() {
|
|
|
1332
1844
|
forceKeepAttr: void 0
|
|
1333
1845
|
};
|
|
1334
1846
|
let l = attributes.length;
|
|
1847
|
+
const lcTag = transformCaseFunc(currentNode.nodeName);
|
|
1335
1848
|
while (l--) {
|
|
1336
1849
|
const attr = attributes[l];
|
|
1337
|
-
const
|
|
1338
|
-
name,
|
|
1339
|
-
namespaceURI,
|
|
1340
|
-
value: attrValue
|
|
1341
|
-
} = attr;
|
|
1850
|
+
const name = attr.name, namespaceURI = attr.namespaceURI, attrValue = attr.value;
|
|
1342
1851
|
const lcName = transformCaseFunc(name);
|
|
1343
1852
|
const initValue = attrValue;
|
|
1344
1853
|
let value = name === "value" ? initValue : stringTrim(initValue);
|
|
@@ -1348,87 +1857,113 @@ function createDOMPurify() {
|
|
|
1348
1857
|
hookEvent.forceKeepAttr = void 0;
|
|
1349
1858
|
_executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
|
|
1350
1859
|
value = hookEvent.attrValue;
|
|
1351
|
-
if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name")) {
|
|
1352
|
-
_removeAttribute(name, currentNode);
|
|
1860
|
+
if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name") && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {
|
|
1861
|
+
_removeAttribute(name, currentNode, attr);
|
|
1353
1862
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
1354
1863
|
}
|
|
1355
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
|
|
1356
|
-
_removeAttribute(name, currentNode);
|
|
1864
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
|
|
1865
|
+
_removeAttribute(name, currentNode, attr);
|
|
1357
1866
|
continue;
|
|
1358
1867
|
}
|
|
1359
1868
|
if (lcName === "attributename" && stringMatch(value, "href")) {
|
|
1360
|
-
_removeAttribute(name, currentNode);
|
|
1869
|
+
_removeAttribute(name, currentNode, attr);
|
|
1361
1870
|
continue;
|
|
1362
1871
|
}
|
|
1363
1872
|
if (hookEvent.forceKeepAttr) {
|
|
1364
1873
|
continue;
|
|
1365
1874
|
}
|
|
1366
1875
|
if (!hookEvent.keepAttr) {
|
|
1367
|
-
_removeAttribute(name, currentNode);
|
|
1876
|
+
_removeAttribute(name, currentNode, attr);
|
|
1368
1877
|
continue;
|
|
1369
1878
|
}
|
|
1370
|
-
if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(
|
|
1371
|
-
_removeAttribute(name, currentNode);
|
|
1879
|
+
if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {
|
|
1880
|
+
_removeAttribute(name, currentNode, attr);
|
|
1372
1881
|
continue;
|
|
1373
1882
|
}
|
|
1374
1883
|
if (SAFE_FOR_TEMPLATES) {
|
|
1375
|
-
|
|
1376
|
-
value = stringReplace(value, expr, " ");
|
|
1377
|
-
});
|
|
1884
|
+
value = _stripTemplateExpressions(value);
|
|
1378
1885
|
}
|
|
1379
|
-
const lcTag = transformCaseFunc(currentNode.nodeName);
|
|
1380
1886
|
if (!_isValidAttribute(lcTag, lcName, value)) {
|
|
1381
|
-
_removeAttribute(name, currentNode);
|
|
1887
|
+
_removeAttribute(name, currentNode, attr);
|
|
1382
1888
|
continue;
|
|
1383
1889
|
}
|
|
1384
|
-
|
|
1385
|
-
if (namespaceURI) ;
|
|
1386
|
-
else {
|
|
1387
|
-
switch (trustedTypes.getAttributeType(lcTag, lcName)) {
|
|
1388
|
-
case "TrustedHTML": {
|
|
1389
|
-
value = trustedTypesPolicy.createHTML(value);
|
|
1390
|
-
break;
|
|
1391
|
-
}
|
|
1392
|
-
case "TrustedScriptURL": {
|
|
1393
|
-
value = trustedTypesPolicy.createScriptURL(value);
|
|
1394
|
-
break;
|
|
1395
|
-
}
|
|
1396
|
-
}
|
|
1397
|
-
}
|
|
1398
|
-
}
|
|
1890
|
+
value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);
|
|
1399
1891
|
if (value !== initValue) {
|
|
1400
|
-
|
|
1401
|
-
if (namespaceURI) {
|
|
1402
|
-
currentNode.setAttributeNS(namespaceURI, name, value);
|
|
1403
|
-
} else {
|
|
1404
|
-
currentNode.setAttribute(name, value);
|
|
1405
|
-
}
|
|
1406
|
-
if (_isClobbered(currentNode)) {
|
|
1407
|
-
_forceRemove(currentNode);
|
|
1408
|
-
} else {
|
|
1409
|
-
arrayPop(DOMPurify.removed);
|
|
1410
|
-
}
|
|
1411
|
-
} catch (_) {
|
|
1412
|
-
_removeAttribute(name, currentNode);
|
|
1413
|
-
}
|
|
1892
|
+
_setAttributeValue(currentNode, name, namespaceURI, value);
|
|
1414
1893
|
}
|
|
1415
1894
|
}
|
|
1416
1895
|
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
|
|
1417
1896
|
};
|
|
1418
|
-
const
|
|
1897
|
+
const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {
|
|
1419
1898
|
let shadowNode = null;
|
|
1420
1899
|
const shadowIterator = _createNodeIterator(fragment);
|
|
1421
1900
|
_executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
|
|
1422
1901
|
while (shadowNode = shadowIterator.nextNode()) {
|
|
1423
1902
|
_executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
|
|
1424
|
-
_sanitizeElements(shadowNode);
|
|
1903
|
+
_sanitizeElements(shadowNode, fragment);
|
|
1425
1904
|
_sanitizeAttributes(shadowNode);
|
|
1426
|
-
if (shadowNode.content
|
|
1905
|
+
if (_isDocumentFragment(shadowNode.content)) {
|
|
1427
1906
|
_sanitizeShadowDOM2(shadowNode.content);
|
|
1428
1907
|
}
|
|
1908
|
+
if (_readNodeType(shadowNode) === NODE_TYPE.element) {
|
|
1909
|
+
const innerSr = getShadowRoot(shadowNode);
|
|
1910
|
+
if (_isDocumentFragment(innerSr)) {
|
|
1911
|
+
_sanitizeAttachedShadowRoots(innerSr);
|
|
1912
|
+
_sanitizeShadowDOM2(innerSr);
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1429
1915
|
}
|
|
1430
1916
|
_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
|
|
1431
1917
|
};
|
|
1918
|
+
const _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots2(root) {
|
|
1919
|
+
const stack = [{
|
|
1920
|
+
node: root,
|
|
1921
|
+
shadow: null
|
|
1922
|
+
}];
|
|
1923
|
+
while (stack.length > 0) {
|
|
1924
|
+
const item = stack.pop();
|
|
1925
|
+
if (item.shadow) {
|
|
1926
|
+
_sanitizeShadowDOM2(item.shadow);
|
|
1927
|
+
continue;
|
|
1928
|
+
}
|
|
1929
|
+
const node = item.node;
|
|
1930
|
+
const nodeType = _readNodeType(node);
|
|
1931
|
+
const isElement = nodeType === NODE_TYPE.element;
|
|
1932
|
+
const childNodes = getChildNodes(node);
|
|
1933
|
+
if (childNodes) {
|
|
1934
|
+
for (let i = childNodes.length - 1; i >= 0; --i) {
|
|
1935
|
+
stack.push({
|
|
1936
|
+
node: childNodes[i],
|
|
1937
|
+
shadow: null
|
|
1938
|
+
});
|
|
1939
|
+
}
|
|
1940
|
+
}
|
|
1941
|
+
if (isElement) {
|
|
1942
|
+
const rootName = getNodeName ? getNodeName(node) : null;
|
|
1943
|
+
if (typeof rootName === "string" && transformCaseFunc(rootName) === "template") {
|
|
1944
|
+
const content = node.content;
|
|
1945
|
+
if (_isDocumentFragment(content)) {
|
|
1946
|
+
stack.push({
|
|
1947
|
+
node: content,
|
|
1948
|
+
shadow: null
|
|
1949
|
+
});
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
}
|
|
1953
|
+
if (isElement) {
|
|
1954
|
+
const sr = getShadowRoot(node);
|
|
1955
|
+
if (_isDocumentFragment(sr)) {
|
|
1956
|
+
stack.push({
|
|
1957
|
+
node: null,
|
|
1958
|
+
shadow: sr
|
|
1959
|
+
}, {
|
|
1960
|
+
node: sr,
|
|
1961
|
+
shadow: null
|
|
1962
|
+
});
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
};
|
|
1432
1967
|
DOMPurify.sanitize = function(dirty) {
|
|
1433
1968
|
let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1434
1969
|
let body = null;
|
|
@@ -1440,33 +1975,49 @@ function createDOMPurify() {
|
|
|
1440
1975
|
dirty = "<!-->";
|
|
1441
1976
|
}
|
|
1442
1977
|
if (typeof dirty !== "string" && !_isNode(dirty)) {
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
throw typeErrorCreate("dirty is not a string, aborting");
|
|
1447
|
-
}
|
|
1448
|
-
} else {
|
|
1449
|
-
throw typeErrorCreate("toString is not a function");
|
|
1978
|
+
dirty = stringifyValue(dirty);
|
|
1979
|
+
if (typeof dirty !== "string") {
|
|
1980
|
+
throw typeErrorCreate("dirty is not a string, aborting");
|
|
1450
1981
|
}
|
|
1451
1982
|
}
|
|
1452
1983
|
if (!DOMPurify.isSupported) {
|
|
1453
1984
|
return dirty;
|
|
1454
1985
|
}
|
|
1455
|
-
if (
|
|
1986
|
+
if (SET_CONFIG) {
|
|
1987
|
+
ALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;
|
|
1988
|
+
ALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;
|
|
1989
|
+
} else {
|
|
1456
1990
|
_parseConfig(cfg);
|
|
1457
1991
|
}
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
IN_PLACE = false;
|
|
1992
|
+
if (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) {
|
|
1993
|
+
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
1461
1994
|
}
|
|
1462
|
-
if (
|
|
1463
|
-
|
|
1464
|
-
|
|
1995
|
+
if (hooks.uponSanitizeAttribute.length > 0) {
|
|
1996
|
+
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
1997
|
+
}
|
|
1998
|
+
DOMPurify.removed = [];
|
|
1999
|
+
const inPlace = IN_PLACE && typeof dirty !== "string" && _isNode(dirty);
|
|
2000
|
+
if (inPlace) {
|
|
2001
|
+
_neutralizePatchLinkage(dirty);
|
|
2002
|
+
const nn = _readNodeName(dirty);
|
|
2003
|
+
if (typeof nn === "string") {
|
|
2004
|
+
const tagName = transformCaseFunc(nn);
|
|
1465
2005
|
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
2006
|
+
_neutralizeRoot(dirty);
|
|
1466
2007
|
throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
|
|
1467
2008
|
}
|
|
1468
2009
|
}
|
|
1469
|
-
|
|
2010
|
+
if (_isClobbered(dirty)) {
|
|
2011
|
+
_neutralizeRoot(dirty);
|
|
2012
|
+
throw typeErrorCreate("root node is clobbered and cannot be sanitized in-place");
|
|
2013
|
+
}
|
|
2014
|
+
try {
|
|
2015
|
+
_sanitizeAttachedShadowRoots(dirty);
|
|
2016
|
+
} catch (error) {
|
|
2017
|
+
_neutralizeRoot(dirty);
|
|
2018
|
+
throw error;
|
|
2019
|
+
}
|
|
2020
|
+
} else if (_isNode(dirty)) {
|
|
1470
2021
|
body = _initDocument("<!---->");
|
|
1471
2022
|
importedNode = body.ownerDocument.importNode(dirty, true);
|
|
1472
2023
|
if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") {
|
|
@@ -1476,10 +2027,11 @@ function createDOMPurify() {
|
|
|
1476
2027
|
} else {
|
|
1477
2028
|
body.appendChild(importedNode);
|
|
1478
2029
|
}
|
|
2030
|
+
_sanitizeAttachedShadowRoots(importedNode);
|
|
1479
2031
|
} else {
|
|
1480
2032
|
if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes
|
|
1481
2033
|
dirty.indexOf("<") === -1) {
|
|
1482
|
-
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ?
|
|
2034
|
+
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;
|
|
1483
2035
|
}
|
|
1484
2036
|
body = _initDocument(dirty);
|
|
1485
2037
|
if (!body) {
|
|
@@ -1489,18 +2041,42 @@ function createDOMPurify() {
|
|
|
1489
2041
|
if (body && FORCE_BODY) {
|
|
1490
2042
|
_forceRemove(body.firstChild);
|
|
1491
2043
|
}
|
|
1492
|
-
const
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
2044
|
+
const walkRoot = inPlace ? dirty : body;
|
|
2045
|
+
try {
|
|
2046
|
+
const nodeIterator = _createNodeIterator(walkRoot);
|
|
2047
|
+
while (currentNode = nodeIterator.nextNode()) {
|
|
2048
|
+
_sanitizeElements(currentNode, walkRoot);
|
|
2049
|
+
_sanitizeAttributes(currentNode);
|
|
2050
|
+
if (_isDocumentFragment(currentNode.content)) {
|
|
2051
|
+
_sanitizeShadowDOM2(currentNode.content);
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2054
|
+
} catch (error) {
|
|
2055
|
+
if (inPlace) {
|
|
2056
|
+
_neutralizeRoot(dirty);
|
|
2057
|
+
arrayForEach(DOMPurify.removed, (entry) => {
|
|
2058
|
+
if (entry.element) {
|
|
2059
|
+
_neutralizeSubtree(entry.element);
|
|
2060
|
+
}
|
|
2061
|
+
});
|
|
1498
2062
|
}
|
|
2063
|
+
throw error;
|
|
1499
2064
|
}
|
|
1500
|
-
if (
|
|
2065
|
+
if (inPlace) {
|
|
2066
|
+
arrayForEach(DOMPurify.removed, (entry) => {
|
|
2067
|
+
if (entry.element) {
|
|
2068
|
+
_neutralizeSubtree(entry.element);
|
|
2069
|
+
}
|
|
2070
|
+
});
|
|
2071
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
2072
|
+
_scrubTemplateExpressions2(dirty);
|
|
2073
|
+
}
|
|
1501
2074
|
return dirty;
|
|
1502
2075
|
}
|
|
1503
2076
|
if (RETURN_DOM) {
|
|
2077
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
2078
|
+
_scrubTemplateExpressions2(body);
|
|
2079
|
+
}
|
|
1504
2080
|
if (RETURN_DOM_FRAGMENT) {
|
|
1505
2081
|
returnNode = createDocumentFragment.call(body.ownerDocument);
|
|
1506
2082
|
while (body.firstChild) {
|
|
@@ -1519,20 +2095,24 @@ function createDOMPurify() {
|
|
|
1519
2095
|
serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
|
|
1520
2096
|
}
|
|
1521
2097
|
if (SAFE_FOR_TEMPLATES) {
|
|
1522
|
-
|
|
1523
|
-
serializedHTML = stringReplace(serializedHTML, expr, " ");
|
|
1524
|
-
});
|
|
2098
|
+
serializedHTML = _stripTemplateExpressions(serializedHTML);
|
|
1525
2099
|
}
|
|
1526
|
-
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ?
|
|
2100
|
+
return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;
|
|
1527
2101
|
};
|
|
1528
2102
|
DOMPurify.setConfig = function() {
|
|
1529
2103
|
let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1530
2104
|
_parseConfig(cfg);
|
|
1531
2105
|
SET_CONFIG = true;
|
|
2106
|
+
SET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;
|
|
2107
|
+
SET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;
|
|
1532
2108
|
};
|
|
1533
2109
|
DOMPurify.clearConfig = function() {
|
|
1534
2110
|
CONFIG = null;
|
|
1535
2111
|
SET_CONFIG = false;
|
|
2112
|
+
SET_CONFIG_ALLOWED_TAGS = null;
|
|
2113
|
+
SET_CONFIG_ALLOWED_ATTR = null;
|
|
2114
|
+
trustedTypesPolicy = defaultTrustedTypesPolicy;
|
|
2115
|
+
emptyHTML = "";
|
|
1536
2116
|
};
|
|
1537
2117
|
DOMPurify.isValidAttribute = function(tag, attr, value) {
|
|
1538
2118
|
if (!CONFIG) {
|
|
@@ -1546,9 +2126,15 @@ function createDOMPurify() {
|
|
|
1546
2126
|
if (typeof hookFunction !== "function") {
|
|
1547
2127
|
return;
|
|
1548
2128
|
}
|
|
2129
|
+
if (!objectHasOwnProperty(hooks, entryPoint)) {
|
|
2130
|
+
return;
|
|
2131
|
+
}
|
|
1549
2132
|
arrayPush(hooks[entryPoint], hookFunction);
|
|
1550
2133
|
};
|
|
1551
2134
|
DOMPurify.removeHook = function(entryPoint, hookFunction) {
|
|
2135
|
+
if (!objectHasOwnProperty(hooks, entryPoint)) {
|
|
2136
|
+
return void 0;
|
|
2137
|
+
}
|
|
1552
2138
|
if (hookFunction !== void 0) {
|
|
1553
2139
|
const index2 = arrayLastIndexOf(hooks[entryPoint], hookFunction);
|
|
1554
2140
|
return index2 === -1 ? void 0 : arraySplice(hooks[entryPoint], index2, 1)[0];
|
|
@@ -1556,6 +2142,9 @@ function createDOMPurify() {
|
|
|
1556
2142
|
return arrayPop(hooks[entryPoint]);
|
|
1557
2143
|
};
|
|
1558
2144
|
DOMPurify.removeHooks = function(entryPoint) {
|
|
2145
|
+
if (!objectHasOwnProperty(hooks, entryPoint)) {
|
|
2146
|
+
return;
|
|
2147
|
+
}
|
|
1559
2148
|
hooks[entryPoint] = [];
|
|
1560
2149
|
};
|
|
1561
2150
|
DOMPurify.removeAllHooks = function() {
|
|
@@ -1586,11 +2175,12 @@ const highlightWords = (Word, title, inherit) => {
|
|
|
1586
2175
|
const str = title == null ? void 0 : title.replace(regexPattern, (_, match) => `<span style="color: ${color}; text-decoration: underline;">${match}</span>`);
|
|
1587
2176
|
return str;
|
|
1588
2177
|
};
|
|
1589
|
-
/*! js-cookie v3.0.
|
|
2178
|
+
/*! js-cookie v3.0.8 | MIT */
|
|
1590
2179
|
function assign$2(target) {
|
|
1591
2180
|
for (var i = 1; i < arguments.length; i++) {
|
|
1592
2181
|
var source = arguments[i];
|
|
1593
2182
|
for (var key in source) {
|
|
2183
|
+
if (key === "__proto__") continue;
|
|
1594
2184
|
target[key] = source[key];
|
|
1595
2185
|
}
|
|
1596
2186
|
}
|
|
@@ -1647,11 +2237,11 @@ function init(converter, defaultAttributes) {
|
|
|
1647
2237
|
var value = parts.slice(1).join("=");
|
|
1648
2238
|
try {
|
|
1649
2239
|
var found = decodeURIComponent(parts[0]);
|
|
1650
|
-
jar[found] = converter.read(value, found);
|
|
2240
|
+
if (!(found in jar)) jar[found] = converter.read(value, found);
|
|
1651
2241
|
if (name === found) {
|
|
1652
2242
|
break;
|
|
1653
2243
|
}
|
|
1654
|
-
} catch (
|
|
2244
|
+
} catch (_e) {
|
|
1655
2245
|
}
|
|
1656
2246
|
}
|
|
1657
2247
|
return name ? jar[name] : jar;
|
|
@@ -1684,25 +2274,10 @@ function init(converter, defaultAttributes) {
|
|
|
1684
2274
|
}
|
|
1685
2275
|
var api = init(defaultConverter, { path: "/" });
|
|
1686
2276
|
/*!
|
|
1687
|
-
* shared v9.14.
|
|
2277
|
+
* shared v9.14.4
|
|
1688
2278
|
* (c) 2025 kazuya kawaguchi
|
|
1689
2279
|
* Released under the MIT License.
|
|
1690
2280
|
*/
|
|
1691
|
-
function warn(msg, err) {
|
|
1692
|
-
if (typeof console !== "undefined") {
|
|
1693
|
-
console.warn(`[intlify] ` + msg);
|
|
1694
|
-
if (err) {
|
|
1695
|
-
console.warn(err.stack);
|
|
1696
|
-
}
|
|
1697
|
-
}
|
|
1698
|
-
}
|
|
1699
|
-
const hasWarned = {};
|
|
1700
|
-
function warnOnce(msg) {
|
|
1701
|
-
if (!hasWarned[msg]) {
|
|
1702
|
-
hasWarned[msg] = true;
|
|
1703
|
-
warn(msg);
|
|
1704
|
-
}
|
|
1705
|
-
}
|
|
1706
2281
|
const inBrowser = typeof window !== "undefined";
|
|
1707
2282
|
let mark;
|
|
1708
2283
|
let measure;
|
|
@@ -1747,31 +2322,7 @@ const getGlobalThis = () => {
|
|
|
1747
2322
|
return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : create());
|
|
1748
2323
|
};
|
|
1749
2324
|
function escapeHtml(rawText) {
|
|
1750
|
-
return rawText.replace(
|
|
1751
|
-
}
|
|
1752
|
-
function escapeAttributeValue(value) {
|
|
1753
|
-
return value.replace(/&(?![a-zA-Z0-9#]{2,6};)/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
1754
|
-
}
|
|
1755
|
-
function sanitizeTranslatedHtml(html2) {
|
|
1756
|
-
html2 = html2.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`);
|
|
1757
|
-
html2 = html2.replace(/(\w+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);
|
|
1758
|
-
const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi;
|
|
1759
|
-
if (eventHandlerPattern.test(html2)) {
|
|
1760
|
-
if (process.env.NODE_ENV !== "production") {
|
|
1761
|
-
warn("Potentially dangerous event handlers detected in translation. Consider removing onclick, onerror, etc. from your translation messages.");
|
|
1762
|
-
}
|
|
1763
|
-
html2 = html2.replace(/(\s+)(on)(\w+\s*=)/gi, "$1on$3");
|
|
1764
|
-
}
|
|
1765
|
-
const javascriptUrlPattern = [
|
|
1766
|
-
// In href, src, action, formaction attributes
|
|
1767
|
-
/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,
|
|
1768
|
-
// In style attributes within url()
|
|
1769
|
-
/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi
|
|
1770
|
-
];
|
|
1771
|
-
javascriptUrlPattern.forEach((pattern) => {
|
|
1772
|
-
html2 = html2.replace(pattern, "$1javascript:");
|
|
1773
|
-
});
|
|
1774
|
-
return html2;
|
|
2325
|
+
return rawText.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
1775
2326
|
}
|
|
1776
2327
|
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
1777
2328
|
function hasOwn(obj, key) {
|
|
@@ -1834,6 +2385,21 @@ function incrementer(code2) {
|
|
|
1834
2385
|
let current = code2;
|
|
1835
2386
|
return () => ++current;
|
|
1836
2387
|
}
|
|
2388
|
+
function warn(msg, err) {
|
|
2389
|
+
if (typeof console !== "undefined") {
|
|
2390
|
+
console.warn(`[intlify] ` + msg);
|
|
2391
|
+
if (err) {
|
|
2392
|
+
console.warn(err.stack);
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2395
|
+
}
|
|
2396
|
+
const hasWarned = {};
|
|
2397
|
+
function warnOnce(msg) {
|
|
2398
|
+
if (!hasWarned[msg]) {
|
|
2399
|
+
hasWarned[msg] = true;
|
|
2400
|
+
warn(msg);
|
|
2401
|
+
}
|
|
2402
|
+
}
|
|
1837
2403
|
function createEmitter() {
|
|
1838
2404
|
const events = /* @__PURE__ */ new Map();
|
|
1839
2405
|
const emitter2 = {
|
|
@@ -1882,7 +2448,7 @@ function deepCopy(src, des) {
|
|
|
1882
2448
|
}
|
|
1883
2449
|
}
|
|
1884
2450
|
/*!
|
|
1885
|
-
* message-compiler v9.14.
|
|
2451
|
+
* message-compiler v9.14.4
|
|
1886
2452
|
* (c) 2025 kazuya kawaguchi
|
|
1887
2453
|
* Released under the MIT License.
|
|
1888
2454
|
*/
|
|
@@ -3432,7 +3998,7 @@ function baseCompile$1(source, options = {}) {
|
|
|
3432
3998
|
}
|
|
3433
3999
|
}
|
|
3434
4000
|
/*!
|
|
3435
|
-
* core-base v9.14.
|
|
4001
|
+
* core-base v9.14.4
|
|
3436
4002
|
* (c) 2025 kazuya kawaguchi
|
|
3437
4003
|
* Released under the MIT License.
|
|
3438
4004
|
*/
|
|
@@ -4239,7 +4805,7 @@ function appendItemToChain(chain, target, blocks) {
|
|
|
4239
4805
|
}
|
|
4240
4806
|
return follow;
|
|
4241
4807
|
}
|
|
4242
|
-
const VERSION$1 = "9.14.
|
|
4808
|
+
const VERSION$1 = "9.14.4";
|
|
4243
4809
|
const NOT_REOSLVED = -1;
|
|
4244
4810
|
const DEFAULT_LOCALE = "en-US";
|
|
4245
4811
|
const MISSING_RESOLVE_VALUE = "";
|
|
@@ -4606,10 +5172,7 @@ function translate(context, ...args) {
|
|
|
4606
5172
|
const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
|
|
4607
5173
|
const msgContext = createMessageContext(ctxOptions);
|
|
4608
5174
|
const messaged = evaluateMessage(context, msg, msgContext);
|
|
4609
|
-
|
|
4610
|
-
if (escapeParameter && isString$1(ret)) {
|
|
4611
|
-
ret = sanitizeTranslatedHtml(ret);
|
|
4612
|
-
}
|
|
5175
|
+
const ret = postTranslation ? postTranslation(messaged, key) : messaged;
|
|
4613
5176
|
if (process.env.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
|
|
4614
5177
|
const payloads = {
|
|
4615
5178
|
timestamp: Date.now(),
|
|
@@ -5326,11 +5889,11 @@ function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
|
|
|
5326
5889
|
}
|
|
5327
5890
|
}
|
|
5328
5891
|
/*!
|
|
5329
|
-
* vue-i18n v9.14.
|
|
5892
|
+
* vue-i18n v9.14.4
|
|
5330
5893
|
* (c) 2025 kazuya kawaguchi
|
|
5331
5894
|
* Released under the MIT License.
|
|
5332
5895
|
*/
|
|
5333
|
-
const VERSION = "9.14.
|
|
5896
|
+
const VERSION = "9.14.4";
|
|
5334
5897
|
function initFeatureFlags() {
|
|
5335
5898
|
if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") {
|
|
5336
5899
|
getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;
|
|
@@ -5599,7 +6162,7 @@ function createComposer(options = {}, VueI18nLegacy) {
|
|
|
5599
6162
|
const { __root, __injectWithOption } = options;
|
|
5600
6163
|
const _isGlobal = __root === void 0;
|
|
5601
6164
|
const flatJson = options.flatJson;
|
|
5602
|
-
const
|
|
6165
|
+
const _ref2 = inBrowser ? ref : shallowRef;
|
|
5603
6166
|
const translateExistCompatible = !!options.translateExistCompatible;
|
|
5604
6167
|
if (process.env.NODE_ENV !== "production") {
|
|
5605
6168
|
if (translateExistCompatible && true) {
|
|
@@ -5607,17 +6170,17 @@ function createComposer(options = {}, VueI18nLegacy) {
|
|
|
5607
6170
|
}
|
|
5608
6171
|
}
|
|
5609
6172
|
let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
|
|
5610
|
-
const _locale =
|
|
6173
|
+
const _locale = _ref2(
|
|
5611
6174
|
// prettier-ignore
|
|
5612
6175
|
__root && _inheritLocale ? __root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
|
|
5613
6176
|
);
|
|
5614
|
-
const _fallbackLocale =
|
|
6177
|
+
const _fallbackLocale = _ref2(
|
|
5615
6178
|
// prettier-ignore
|
|
5616
6179
|
__root && _inheritLocale ? __root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
|
|
5617
6180
|
);
|
|
5618
|
-
const _messages =
|
|
5619
|
-
const _datetimeFormats =
|
|
5620
|
-
const _numberFormats =
|
|
6181
|
+
const _messages = _ref2(getLocaleMessages(_locale.value, options));
|
|
6182
|
+
const _datetimeFormats = _ref2(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
|
|
6183
|
+
const _numberFormats = _ref2(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
|
|
5621
6184
|
let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
|
|
5622
6185
|
let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
|
|
5623
6186
|
let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
|
|
@@ -7806,6 +8369,7 @@ const gitCodeLayout$1 = {
|
|
|
7806
8369
|
topic: "热门主题",
|
|
7807
8370
|
recentlyVisited: "最近访问",
|
|
7808
8371
|
platformSearch: "全平台搜索:",
|
|
8372
|
+
searchAll: "搜索全部:{keyword}",
|
|
7809
8373
|
applicationMarket: "应用市场",
|
|
7810
8374
|
myWorkbench: "工作台",
|
|
7811
8375
|
workbench: "工作台",
|
|
@@ -8223,6 +8787,7 @@ const gitCodeLayout = {
|
|
|
8223
8787
|
topic: "Hot topics",
|
|
8224
8788
|
recentlyVisited: "Recent Visits",
|
|
8225
8789
|
platformSearch: "Full Platform Search",
|
|
8790
|
+
searchAll: "Search all: {keyword}",
|
|
8226
8791
|
applicationMarket: "Marketplace",
|
|
8227
8792
|
myWorkbench: "Dashboard",
|
|
8228
8793
|
workbench: "Dashboard",
|
|
@@ -10662,7 +11227,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
10662
11227
|
key: 0,
|
|
10663
11228
|
class: "gc-flash-tag__icon",
|
|
10664
11229
|
src: iconUrl.value
|
|
10665
|
-
}, null, 8, _hoisted_1$F)) : renderSlot(_ctx.$slots, "default", {
|
|
11230
|
+
}, null, 8, _hoisted_1$F)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)
|
|
10666
11231
|
], 16)
|
|
10667
11232
|
]),
|
|
10668
11233
|
_: 3
|
|
@@ -10742,7 +11307,7 @@ function getAugmentedNamespace(n) {
|
|
|
10742
11307
|
return a;
|
|
10743
11308
|
}
|
|
10744
11309
|
var relativeTime$1 = { exports: {} };
|
|
10745
|
-
(function(module, exports
|
|
11310
|
+
(function(module, exports) {
|
|
10746
11311
|
!function(r, e) {
|
|
10747
11312
|
module.exports = e();
|
|
10748
11313
|
}(commonjsGlobal, function() {
|
|
@@ -10807,7 +11372,7 @@ var DATE = "date";
|
|
|
10807
11372
|
var FORMAT_DEFAULT = "YYYY-MM-DDTHH:mm:ssZ";
|
|
10808
11373
|
var INVALID_DATE_STRING = "Invalid Date";
|
|
10809
11374
|
var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/;
|
|
10810
|
-
var REGEX_FORMAT = /\[([^\]]+)]|
|
|
11375
|
+
var REGEX_FORMAT = /\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;
|
|
10811
11376
|
const en = {
|
|
10812
11377
|
name: "en",
|
|
10813
11378
|
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
|
|
@@ -11313,39 +11878,39 @@ var locale = {
|
|
|
11313
11878
|
};
|
|
11314
11879
|
dayjs.locale(locale, null, true);
|
|
11315
11880
|
var timezone = { exports: {} };
|
|
11316
|
-
(function(module, exports
|
|
11881
|
+
(function(module, exports) {
|
|
11317
11882
|
!function(t2, e) {
|
|
11318
11883
|
module.exports = e();
|
|
11319
11884
|
}(commonjsGlobal, function() {
|
|
11320
11885
|
var t2 = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, e = {};
|
|
11321
|
-
return function(n, i,
|
|
11322
|
-
var
|
|
11886
|
+
return function(n, i, r) {
|
|
11887
|
+
var o, a = function(t3, n2, i2) {
|
|
11323
11888
|
void 0 === i2 && (i2 = {});
|
|
11324
|
-
var
|
|
11889
|
+
var r2 = new Date(t3), o2 = function(t4, n3) {
|
|
11325
11890
|
void 0 === n3 && (n3 = {});
|
|
11326
|
-
var i3 = n3.timeZoneName || "short",
|
|
11327
|
-
return
|
|
11891
|
+
var i3 = n3.timeZoneName || "short", r3 = t4 + "|" + i3, o3 = e[r3];
|
|
11892
|
+
return o3 || (o3 = new Intl.DateTimeFormat("en-US", { hour12: false, timeZone: t4, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: i3 }), e[r3] = o3), o3;
|
|
11328
11893
|
}(n2, i2);
|
|
11329
|
-
return
|
|
11894
|
+
return o2.formatToParts(r2);
|
|
11330
11895
|
}, u = function(e2, n2) {
|
|
11331
|
-
for (var i2 = a(e2, n2),
|
|
11896
|
+
for (var i2 = a(e2, n2), o2 = [], u2 = 0; u2 < i2.length; u2 += 1) {
|
|
11332
11897
|
var f2 = i2[u2], s2 = f2.type, m = f2.value, c = t2[s2];
|
|
11333
|
-
c >= 0 && (
|
|
11898
|
+
c >= 0 && (o2[c] = parseInt(m, 10));
|
|
11334
11899
|
}
|
|
11335
|
-
var
|
|
11336
|
-
return (
|
|
11900
|
+
var l = o2[3], d = 24 === l ? 0 : l, h2 = o2[0] + "-" + o2[1] + "-" + o2[2] + " " + d + ":" + o2[4] + ":" + o2[5] + ":000", v = +e2;
|
|
11901
|
+
return (r.utc(h2).valueOf() - (v -= v % 1e3)) / 6e4;
|
|
11337
11902
|
}, f = i.prototype;
|
|
11338
11903
|
f.tz = function(t3, e2) {
|
|
11339
|
-
void 0 === t3 && (t3 =
|
|
11340
|
-
var n2, i2 = this.utcOffset(), a2 = this.toDate(),
|
|
11904
|
+
if (void 0 === t3 && (t3 = o), !this.isValid()) return this;
|
|
11905
|
+
var n2, i2 = this.utcOffset(), a2 = this.toDate(), f2 = a2.toLocaleString("en-US", { timeZone: t3 }), s2 = u(+a2, t3);
|
|
11341
11906
|
if (!Number(s2)) n2 = this.utcOffset(0, e2);
|
|
11342
|
-
else if (n2 =
|
|
11907
|
+
else if (n2 = r(f2, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(s2, true), e2) {
|
|
11343
11908
|
var m = n2.utcOffset();
|
|
11344
11909
|
n2 = n2.add(i2 - m, "minute");
|
|
11345
11910
|
}
|
|
11346
11911
|
return n2.$x.$timezone = t3, n2;
|
|
11347
11912
|
}, f.offsetName = function(t3) {
|
|
11348
|
-
var e2 = this.$x.$timezone ||
|
|
11913
|
+
var e2 = this.$x.$timezone || r.tz.guess(), n2 = a(this.valueOf(), e2, { timeZoneName: t3 }).find(function(t4) {
|
|
11349
11914
|
return "timezonename" === t4.type.toLowerCase();
|
|
11350
11915
|
});
|
|
11351
11916
|
return n2 && n2.value;
|
|
@@ -11353,22 +11918,27 @@ var timezone = { exports: {} };
|
|
|
11353
11918
|
var s = f.startOf;
|
|
11354
11919
|
f.startOf = function(t3, e2) {
|
|
11355
11920
|
if (!this.$x || !this.$x.$timezone) return s.call(this, t3, e2);
|
|
11356
|
-
var n2 =
|
|
11921
|
+
var n2 = r(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
|
|
11357
11922
|
return s.call(n2, t3, e2).tz(this.$x.$timezone, true);
|
|
11358
|
-
},
|
|
11359
|
-
var i2 = n2 && e2, a2 = n2 || e2 ||
|
|
11360
|
-
if ("string" != typeof t3) return
|
|
11361
|
-
var s2 =
|
|
11362
|
-
|
|
11363
|
-
|
|
11364
|
-
|
|
11365
|
-
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11923
|
+
}, r.tz = function(t3, e2, n2) {
|
|
11924
|
+
var i2 = n2 && e2, a2 = n2 || e2 || o, f2 = u(+r(), a2);
|
|
11925
|
+
if ("string" != typeof t3) return r(t3).tz(a2);
|
|
11926
|
+
var s2 = r.utc(t3, i2).valueOf();
|
|
11927
|
+
if (Number.isNaN(s2)) {
|
|
11928
|
+
var m = r(NaN);
|
|
11929
|
+
return m.$x.$timezone = a2, m;
|
|
11930
|
+
}
|
|
11931
|
+
var c = function(t4, e3, n3) {
|
|
11932
|
+
var i3 = t4 - 60 * e3 * 1e3, r2 = u(i3, n3);
|
|
11933
|
+
if (e3 === r2) return [i3, e3];
|
|
11934
|
+
var o2 = u(i3 -= 60 * (r2 - e3) * 1e3, n3);
|
|
11935
|
+
return r2 === o2 ? [i3, r2] : [t4 - 60 * Math.min(r2, o2) * 1e3, Math.max(r2, o2)];
|
|
11936
|
+
}(s2, f2, a2), l = c[0], d = c[1], h2 = r(l).utcOffset(d);
|
|
11937
|
+
return h2.$x.$timezone = a2, h2;
|
|
11938
|
+
}, r.tz.guess = function() {
|
|
11369
11939
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
11370
|
-
},
|
|
11371
|
-
|
|
11940
|
+
}, r.tz.setDefault = function(t3) {
|
|
11941
|
+
o = t3;
|
|
11372
11942
|
};
|
|
11373
11943
|
};
|
|
11374
11944
|
});
|
|
@@ -11376,7 +11946,7 @@ var timezone = { exports: {} };
|
|
|
11376
11946
|
var timezoneExports = timezone.exports;
|
|
11377
11947
|
const tz = /* @__PURE__ */ getDefaultExportFromCjs(timezoneExports);
|
|
11378
11948
|
var utc$1 = { exports: {} };
|
|
11379
|
-
(function(module, exports
|
|
11949
|
+
(function(module, exports) {
|
|
11380
11950
|
!function(t2, i) {
|
|
11381
11951
|
module.exports = i();
|
|
11382
11952
|
}(commonjsGlobal, function() {
|
|
@@ -12226,7 +12796,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
12226
12796
|
if (open) void nextTick(updateMenuPosition);
|
|
12227
12797
|
});
|
|
12228
12798
|
watch(
|
|
12229
|
-
() => route
|
|
12799
|
+
() => route.fullPath,
|
|
12230
12800
|
() => closeMenu()
|
|
12231
12801
|
);
|
|
12232
12802
|
onMounted(() => {
|
|
@@ -12351,7 +12921,7 @@ var hasRequiredCore;
|
|
|
12351
12921
|
function requireCore() {
|
|
12352
12922
|
if (hasRequiredCore) return core.exports;
|
|
12353
12923
|
hasRequiredCore = 1;
|
|
12354
|
-
(function(module, exports
|
|
12924
|
+
(function(module, exports) {
|
|
12355
12925
|
(function(root, factory) {
|
|
12356
12926
|
{
|
|
12357
12927
|
module.exports = factory();
|
|
@@ -12958,7 +13528,7 @@ var hasRequiredEncBase64;
|
|
|
12958
13528
|
function requireEncBase64() {
|
|
12959
13529
|
if (hasRequiredEncBase64) return encBase64.exports;
|
|
12960
13530
|
hasRequiredEncBase64 = 1;
|
|
12961
|
-
(function(module, exports
|
|
13531
|
+
(function(module, exports) {
|
|
12962
13532
|
(function(root, factory) {
|
|
12963
13533
|
{
|
|
12964
13534
|
module.exports = factory(requireCore());
|
|
@@ -13065,7 +13635,7 @@ var hasRequiredMd5;
|
|
|
13065
13635
|
function requireMd5() {
|
|
13066
13636
|
if (hasRequiredMd5) return md5.exports;
|
|
13067
13637
|
hasRequiredMd5 = 1;
|
|
13068
|
-
(function(module, exports
|
|
13638
|
+
(function(module, exports) {
|
|
13069
13639
|
(function(root, factory) {
|
|
13070
13640
|
{
|
|
13071
13641
|
module.exports = factory(requireCore());
|
|
@@ -13244,7 +13814,7 @@ var hasRequiredSha1;
|
|
|
13244
13814
|
function requireSha1() {
|
|
13245
13815
|
if (hasRequiredSha1) return sha1.exports;
|
|
13246
13816
|
hasRequiredSha1 = 1;
|
|
13247
|
-
(function(module, exports
|
|
13817
|
+
(function(module, exports) {
|
|
13248
13818
|
(function(root, factory) {
|
|
13249
13819
|
{
|
|
13250
13820
|
module.exports = factory(requireCore());
|
|
@@ -13334,7 +13904,7 @@ var hasRequiredHmac;
|
|
|
13334
13904
|
function requireHmac() {
|
|
13335
13905
|
if (hasRequiredHmac) return hmac.exports;
|
|
13336
13906
|
hasRequiredHmac = 1;
|
|
13337
|
-
(function(module, exports
|
|
13907
|
+
(function(module, exports) {
|
|
13338
13908
|
(function(root, factory) {
|
|
13339
13909
|
{
|
|
13340
13910
|
module.exports = factory(requireCore());
|
|
@@ -13439,7 +14009,7 @@ var hasRequiredEvpkdf;
|
|
|
13439
14009
|
function requireEvpkdf() {
|
|
13440
14010
|
if (hasRequiredEvpkdf) return evpkdf.exports;
|
|
13441
14011
|
hasRequiredEvpkdf = 1;
|
|
13442
|
-
(function(module, exports
|
|
14012
|
+
(function(module, exports) {
|
|
13443
14013
|
(function(root, factory, undef) {
|
|
13444
14014
|
{
|
|
13445
14015
|
module.exports = factory(requireCore(), requireSha1(), requireHmac());
|
|
@@ -13529,7 +14099,7 @@ var hasRequiredCipherCore;
|
|
|
13529
14099
|
function requireCipherCore() {
|
|
13530
14100
|
if (hasRequiredCipherCore) return cipherCore.exports;
|
|
13531
14101
|
hasRequiredCipherCore = 1;
|
|
13532
|
-
(function(module, exports
|
|
14102
|
+
(function(module, exports) {
|
|
13533
14103
|
(function(root, factory, undef) {
|
|
13534
14104
|
{
|
|
13535
14105
|
module.exports = factory(requireCore(), requireEvpkdf());
|
|
@@ -14088,15 +14658,11 @@ function requireCipherCore() {
|
|
|
14088
14658
|
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
|
|
14089
14659
|
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
|
|
14090
14660
|
*/
|
|
14091
|
-
execute: function(password, keySize, ivSize, salt
|
|
14661
|
+
execute: function(password, keySize, ivSize, salt) {
|
|
14092
14662
|
if (!salt) {
|
|
14093
14663
|
salt = WordArray.random(64 / 8);
|
|
14094
14664
|
}
|
|
14095
|
-
|
|
14096
|
-
var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
|
|
14097
|
-
} else {
|
|
14098
|
-
var key = EvpKDF.create({ keySize: keySize + ivSize, hasher }).compute(password, salt);
|
|
14099
|
-
}
|
|
14665
|
+
var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
|
|
14100
14666
|
var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
|
|
14101
14667
|
key.sigBytes = keySize * 4;
|
|
14102
14668
|
return CipherParams.create({ key, iv, salt });
|
|
@@ -14130,7 +14696,7 @@ function requireCipherCore() {
|
|
|
14130
14696
|
*/
|
|
14131
14697
|
encrypt: function(cipher, message, password, cfg) {
|
|
14132
14698
|
cfg = this.cfg.extend(cfg);
|
|
14133
|
-
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize
|
|
14699
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
|
|
14134
14700
|
cfg.iv = derivedParams.iv;
|
|
14135
14701
|
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
|
|
14136
14702
|
ciphertext.mixIn(derivedParams);
|
|
@@ -14156,7 +14722,7 @@ function requireCipherCore() {
|
|
|
14156
14722
|
decrypt: function(cipher, ciphertext, password, cfg) {
|
|
14157
14723
|
cfg = this.cfg.extend(cfg);
|
|
14158
14724
|
ciphertext = this._parse(ciphertext, cfg.format);
|
|
14159
|
-
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt
|
|
14725
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
|
|
14160
14726
|
cfg.iv = derivedParams.iv;
|
|
14161
14727
|
var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
|
|
14162
14728
|
return plaintext;
|
|
@@ -14167,7 +14733,7 @@ function requireCipherCore() {
|
|
|
14167
14733
|
})(cipherCore);
|
|
14168
14734
|
return cipherCore.exports;
|
|
14169
14735
|
}
|
|
14170
|
-
(function(module, exports
|
|
14736
|
+
(function(module, exports) {
|
|
14171
14737
|
(function(root, factory, undef) {
|
|
14172
14738
|
{
|
|
14173
14739
|
module.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
|
|
@@ -14316,7 +14882,7 @@ function requireCipherCore() {
|
|
|
14316
14882
|
var aesExports = aes.exports;
|
|
14317
14883
|
const AES = /* @__PURE__ */ getDefaultExportFromCjs(aesExports);
|
|
14318
14884
|
var padPkcs7 = { exports: {} };
|
|
14319
|
-
(function(module, exports
|
|
14885
|
+
(function(module, exports) {
|
|
14320
14886
|
(function(root, factory, undef) {
|
|
14321
14887
|
{
|
|
14322
14888
|
module.exports = factory(requireCore(), requireCipherCore());
|
|
@@ -14328,7 +14894,7 @@ var padPkcs7 = { exports: {} };
|
|
|
14328
14894
|
var padPkcs7Exports = padPkcs7.exports;
|
|
14329
14895
|
const Pkcs7 = /* @__PURE__ */ getDefaultExportFromCjs(padPkcs7Exports);
|
|
14330
14896
|
var encUtf8 = { exports: {} };
|
|
14331
|
-
(function(module, exports
|
|
14897
|
+
(function(module, exports) {
|
|
14332
14898
|
(function(root, factory) {
|
|
14333
14899
|
{
|
|
14334
14900
|
module.exports = factory(requireCore());
|
|
@@ -16271,34 +16837,56 @@ function _frEventTrack(eventName, type = "custom") {
|
|
|
16271
16837
|
} catch (err) {
|
|
16272
16838
|
}
|
|
16273
16839
|
}
|
|
16840
|
+
const isSearchHistoryEntry = (value) => {
|
|
16841
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16842
|
+
};
|
|
16843
|
+
const normalizeSearchHistoryEntry = (value) => {
|
|
16844
|
+
if (typeof value === "string") {
|
|
16845
|
+
return { q: value, type: "repo" };
|
|
16846
|
+
}
|
|
16847
|
+
if (!isSearchHistoryEntry(value)) {
|
|
16848
|
+
return { q: "", type: "repo" };
|
|
16849
|
+
}
|
|
16850
|
+
return { ...value, type: value.type || "repo" };
|
|
16851
|
+
};
|
|
16852
|
+
const sameSearchHistory = (left, right) => {
|
|
16853
|
+
const leftEntry = normalizeSearchHistoryEntry(left);
|
|
16854
|
+
return leftEntry.q === right.q && leftEntry.type === right.type && leftEntry.repo === right.repo && leftEntry.org === right.org && leftEntry.user === right.user && leftEntry.namespace === right.namespace;
|
|
16855
|
+
};
|
|
16856
|
+
const upsertSearchHistory = (current, data, limit = 10) => {
|
|
16857
|
+
const next = current.filter((item) => Boolean(normalizeSearchHistoryEntry(item).q));
|
|
16858
|
+
const normalizedData = { ...data, type: data.type || "repo" };
|
|
16859
|
+
const existingIndex = next.findIndex((item) => sameSearchHistory(item, normalizedData));
|
|
16860
|
+
if (existingIndex === -1) {
|
|
16861
|
+
next.unshift({ ...normalizedData, count: normalizedData.count || 1 });
|
|
16862
|
+
} else {
|
|
16863
|
+
const existing = normalizeSearchHistoryEntry(next[existingIndex]);
|
|
16864
|
+
existing.count = (existing.count || 1) + 1;
|
|
16865
|
+
next.splice(existingIndex, 1);
|
|
16866
|
+
next.unshift(existing);
|
|
16867
|
+
}
|
|
16868
|
+
return next.slice(0, limit);
|
|
16869
|
+
};
|
|
16274
16870
|
const setlocalVistHistory = (data, localType) => {
|
|
16275
16871
|
const storeName = localType;
|
|
16276
16872
|
const localData = localStorage$2.getItem(storeName);
|
|
16277
16873
|
let cur = [];
|
|
16278
16874
|
if (localData) {
|
|
16279
16875
|
try {
|
|
16280
|
-
|
|
16876
|
+
const parsed = JSON.parse(localData);
|
|
16877
|
+
cur = Array.isArray(parsed) ? parsed : [];
|
|
16281
16878
|
if (localType) {
|
|
16282
|
-
cur = cur.filter((ele) => typeof ele === "string" ? !!ele : !!(ele == null ? void 0 : ele.q));
|
|
16283
16879
|
if (data.q) {
|
|
16284
|
-
|
|
16285
|
-
|
|
16286
|
-
);
|
|
16287
|
-
if (!target) {
|
|
16288
|
-
cur.unshift({ ...data, count: 1 });
|
|
16289
|
-
} else {
|
|
16290
|
-
target.count = (target.count || 1) + 1;
|
|
16291
|
-
data.type && (target.type = data.type);
|
|
16292
|
-
cur.splice(cur.indexOf(target), 1);
|
|
16293
|
-
cur.unshift(target);
|
|
16294
|
-
}
|
|
16880
|
+
cur = upsertSearchHistory(cur, data);
|
|
16881
|
+
} else {
|
|
16882
|
+
cur = cur.filter((ele) => Boolean(normalizeSearchHistoryEntry(ele).q));
|
|
16295
16883
|
}
|
|
16296
16884
|
}
|
|
16297
16885
|
} catch (e) {
|
|
16298
16886
|
console.error(e);
|
|
16299
16887
|
}
|
|
16300
16888
|
} else {
|
|
16301
|
-
cur = [data];
|
|
16889
|
+
cur = data.q ? [{ ...data, type: data.type || "repo", count: 1 }] : [];
|
|
16302
16890
|
}
|
|
16303
16891
|
const storageCount = 10;
|
|
16304
16892
|
cur.splice(storageCount);
|
|
@@ -16639,6 +17227,56 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
16639
17227
|
}
|
|
16640
17228
|
});
|
|
16641
17229
|
const HighlightInput = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-vue-layout-gitcode"]]);
|
|
17230
|
+
const SEARCH_ROUTE_PATHS = /* @__PURE__ */ new Set(["/search", "/search/"]);
|
|
17231
|
+
const SEARCH_SCOPE_QUERY_KEYS = ["scope", "repo", "org", "user", "namespace"];
|
|
17232
|
+
const firstNonEmpty = (...values) => {
|
|
17233
|
+
for (const value of values) {
|
|
17234
|
+
if (value == null ? void 0 : value.trim()) return value.trim();
|
|
17235
|
+
}
|
|
17236
|
+
return "";
|
|
17237
|
+
};
|
|
17238
|
+
const resolveSearchType = (input) => {
|
|
17239
|
+
const explicitType = firstNonEmpty(input.pendingType);
|
|
17240
|
+
if (explicitType) return explicitType;
|
|
17241
|
+
if (input.isSearchPage) {
|
|
17242
|
+
const currentPageType = firstNonEmpty(input.currentPageType);
|
|
17243
|
+
if (currentPageType && currentPageType !== "commit") return currentPageType;
|
|
17244
|
+
}
|
|
17245
|
+
const qualifierType = firstNonEmpty(input.qualifierType);
|
|
17246
|
+
if (qualifierType) return qualifierType;
|
|
17247
|
+
if (input.scope === "repo") return "code";
|
|
17248
|
+
if (input.scope === "group" || input.scope === "user") return "repo";
|
|
17249
|
+
return input.defaultGlobalSearchType || "repo";
|
|
17250
|
+
};
|
|
17251
|
+
const hasSearchQueryValue = (url, key) => {
|
|
17252
|
+
var _a;
|
|
17253
|
+
return Boolean((_a = url.searchParams.get(key)) == null ? void 0 : _a.trim());
|
|
17254
|
+
};
|
|
17255
|
+
const hasExplicitSearchScope = (url) => {
|
|
17256
|
+
return SEARCH_SCOPE_QUERY_KEYS.some((key) => hasSearchQueryValue(url, key));
|
|
17257
|
+
};
|
|
17258
|
+
const serializeHotWordUrl = (url, original) => {
|
|
17259
|
+
const serializedPath = `${url.pathname}${url.search}${url.hash}`;
|
|
17260
|
+
if (original.startsWith("//")) return `//${url.host}${serializedPath}`;
|
|
17261
|
+
if (/^[a-z][a-z\d+.-]*:\/\//i.test(original)) return url.toString();
|
|
17262
|
+
return serializedPath;
|
|
17263
|
+
};
|
|
17264
|
+
const normalizeSearchHotWordUrl = (original, defaultGlobalSearchType, sourceModule = "search_box_hot_word") => {
|
|
17265
|
+
if (!original) return original;
|
|
17266
|
+
let url;
|
|
17267
|
+
try {
|
|
17268
|
+
url = new URL(original, "https://gitcode-layout.invalid");
|
|
17269
|
+
} catch {
|
|
17270
|
+
return original;
|
|
17271
|
+
}
|
|
17272
|
+
if (SEARCH_ROUTE_PATHS.has(url.pathname) && !hasSearchQueryValue(url, "type") && !hasExplicitSearchScope(url)) {
|
|
17273
|
+
url.searchParams.set("type", defaultGlobalSearchType);
|
|
17274
|
+
}
|
|
17275
|
+
if (sourceModule && !url.searchParams.has("source_module")) {
|
|
17276
|
+
url.searchParams.set("source_module", sourceModule);
|
|
17277
|
+
}
|
|
17278
|
+
return serializeHotWordUrl(url, original);
|
|
17279
|
+
};
|
|
16642
17280
|
const _hoisted_1$r = { class: "g-header-search-prefix" };
|
|
16643
17281
|
const _hoisted_2$l = ["innerHTML"];
|
|
16644
17282
|
const _hoisted_3$k = { class: "g-header-search-suffix-splitline" };
|
|
@@ -16655,17 +17293,18 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
16655
17293
|
props: {
|
|
16656
17294
|
inAIHub: { type: Boolean },
|
|
16657
17295
|
sceneValue: {},
|
|
16658
|
-
isShowStickyNotice: { type: Boolean }
|
|
17296
|
+
isShowStickyNotice: { type: Boolean },
|
|
17297
|
+
defaultGlobalSearchType: { default: "repo" }
|
|
16659
17298
|
},
|
|
16660
17299
|
setup(__props) {
|
|
16661
17300
|
const layoutConfig2 = useLayoutConfig();
|
|
16662
17301
|
const { t: $t } = i18n.global;
|
|
16663
|
-
const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-
|
|
16664
|
-
const UserSearch = defineAsyncComponent(() => import("./UserSearch-
|
|
16665
|
-
const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-
|
|
16666
|
-
const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-
|
|
16667
|
-
const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-
|
|
16668
|
-
const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-
|
|
17302
|
+
const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-B--M9NKy.js"));
|
|
17303
|
+
const UserSearch = defineAsyncComponent(() => import("./UserSearch-C7yhRImW.js"));
|
|
17304
|
+
const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DOb49kb1.js"));
|
|
17305
|
+
const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-C6SlOUbd.js"));
|
|
17306
|
+
const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BTHTBdRL.js"));
|
|
17307
|
+
const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-B2nSbCak.js"));
|
|
16669
17308
|
const props = __props;
|
|
16670
17309
|
const repoInfo = inject("repoInfo");
|
|
16671
17310
|
const orgInfo = inject("orgInfo");
|
|
@@ -16961,6 +17600,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
16961
17600
|
const searchHistory = (data) => {
|
|
16962
17601
|
isSearchHistory.value = true;
|
|
16963
17602
|
isContextScopePrefill.value = false;
|
|
17603
|
+
pendingType.value = typeof data === "string" ? "repo" : (data == null ? void 0 : data.type) || "repo";
|
|
16964
17604
|
if (typeof data === "string") {
|
|
16965
17605
|
searchStr.value = data;
|
|
16966
17606
|
} else {
|
|
@@ -16968,21 +17608,16 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
16968
17608
|
}
|
|
16969
17609
|
onSearch();
|
|
16970
17610
|
};
|
|
16971
|
-
const resolveSearchType = (params) => {
|
|
17611
|
+
const resolveSearchType$1 = (params) => {
|
|
16972
17612
|
var _a;
|
|
16973
|
-
|
|
16974
|
-
|
|
16975
|
-
|
|
16976
|
-
|
|
16977
|
-
|
|
16978
|
-
|
|
16979
|
-
|
|
16980
|
-
|
|
16981
|
-
}
|
|
16982
|
-
if (params.scope === "repo") {
|
|
16983
|
-
return "code";
|
|
16984
|
-
}
|
|
16985
|
-
return "repo";
|
|
17613
|
+
return resolveSearchType({
|
|
17614
|
+
pendingType: pendingType.value,
|
|
17615
|
+
isSearchPage: isSearchPage.value,
|
|
17616
|
+
currentPageType: ((_a = route == null ? void 0 : route.query) == null ? void 0 : _a.type) ? String(route.query.type) : void 0,
|
|
17617
|
+
qualifierType: params.type,
|
|
17618
|
+
scope: params.scope,
|
|
17619
|
+
defaultGlobalSearchType: props.defaultGlobalSearchType
|
|
17620
|
+
});
|
|
16986
17621
|
};
|
|
16987
17622
|
const onSearch = () => {
|
|
16988
17623
|
var _a, _b;
|
|
@@ -16996,13 +17631,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
16996
17631
|
const scopeOnly = isContextScopePrefill.value && hasOnlyOrgOrRepoScope(params);
|
|
16997
17632
|
const targetHotWord = searchHotWords.value[activeSearchKey.value];
|
|
16998
17633
|
if ((!searchStr.value || scopeOnly) && (targetHotWord == null ? void 0 : targetHotWord.url) && !isSearchHistory.value) {
|
|
16999
|
-
|
|
17000
|
-
const urlObj = new URL(targetHotWord.url);
|
|
17001
|
-
if (urlObj.search.length > 1) {
|
|
17002
|
-
hotUrl = `${hotUrl}&source_module=search_box_hot_word`;
|
|
17003
|
-
} else {
|
|
17004
|
-
hotUrl = `${hotUrl}?source_module=search_box_hot_word`;
|
|
17005
|
-
}
|
|
17634
|
+
const hotUrl = normalizeSearchHotWordUrl(targetHotWord.url, props.defaultGlobalSearchType);
|
|
17006
17635
|
window.open(transformUrl(hotUrl), "_blank");
|
|
17007
17636
|
pendingType.value = "";
|
|
17008
17637
|
return;
|
|
@@ -17018,7 +17647,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
17018
17647
|
pendingType.value = "";
|
|
17019
17648
|
return;
|
|
17020
17649
|
}
|
|
17021
|
-
const type = resolveSearchType(params);
|
|
17650
|
+
const type = resolveSearchType$1(params);
|
|
17022
17651
|
pendingType.value = "";
|
|
17023
17652
|
const query = {
|
|
17024
17653
|
q: queryKey,
|
|
@@ -17239,13 +17868,13 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
17239
17868
|
searchStr: keyword.value,
|
|
17240
17869
|
searchInfo: derivedSearchInfo.value
|
|
17241
17870
|
}, null, 8, ["searchStr", "searchInfo"])) : createCommentVNode("", true),
|
|
17242
|
-
!derivedSearchInfo.value.searchScope ? renderSlot(_ctx.$slots, "globalSearch", normalizeProps(
|
|
17871
|
+
!derivedSearchInfo.value.searchScope ? renderSlot(_ctx.$slots, "globalSearch", normalizeProps(guardReactiveProps({ searchStr: keyword.value, searchMore: (type) => handleSearchMore(type) })), () => [
|
|
17243
17872
|
!derivedSearchInfo.value.searchScope ? (openBlock(), createBlock(unref(GloabarSearch), {
|
|
17244
17873
|
key: 0,
|
|
17245
17874
|
searchStr: keyword.value,
|
|
17246
17875
|
onSearchMore: _cache[5] || (_cache[5] = (type) => handleSearchMore(type))
|
|
17247
17876
|
}, null, 8, ["searchStr"])) : createCommentVNode("", true)
|
|
17248
|
-
], true) : createCommentVNode("", true)
|
|
17877
|
+
], true, 2) : createCommentVNode("", true)
|
|
17249
17878
|
], 512), [
|
|
17250
17879
|
[vShow, searchStr.value]
|
|
17251
17880
|
]),
|
|
@@ -17263,9 +17892,9 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
17263
17892
|
}, null, 8, ["searchHistoryList", "visitHistoryList", "activeIndex"]), [
|
|
17264
17893
|
[vShow, !searchStr.value]
|
|
17265
17894
|
]),
|
|
17266
|
-
!searchStr.value && showRecommend.value ? renderSlot(_ctx.$slots, "searchRecommend", {
|
|
17895
|
+
!searchStr.value && showRecommend.value ? renderSlot(_ctx.$slots, "searchRecommend", {}, () => [
|
|
17267
17896
|
createVNode(unref(SearchRecommed))
|
|
17268
|
-
], true) : createCommentVNode("", true)
|
|
17897
|
+
], true, 0) : createCommentVNode("", true)
|
|
17269
17898
|
])
|
|
17270
17899
|
]),
|
|
17271
17900
|
default: withCtx(() => [
|
|
@@ -18003,7 +18632,7 @@ const vElementExposure = {
|
|
|
18003
18632
|
beforeUnmount() {
|
|
18004
18633
|
}
|
|
18005
18634
|
};
|
|
18006
|
-
const NoticeModal = defineAsyncComponent(() => import("./notice-
|
|
18635
|
+
const NoticeModal = defineAsyncComponent(() => import("./notice-CxKzeiYF.js"));
|
|
18007
18636
|
function clearNotice() {
|
|
18008
18637
|
if (localStorage$2.getItem("validator_email")) {
|
|
18009
18638
|
localStorage$2.removeItem("validator_email");
|
|
@@ -18085,7 +18714,8 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
18085
18714
|
workspaceNavigate: {},
|
|
18086
18715
|
atomcodeLaunchQs: { default: "" },
|
|
18087
18716
|
showAtomCodeLauncher: { type: Boolean, default: false },
|
|
18088
|
-
launchAtomCode: { type: Function, default: void 0 }
|
|
18717
|
+
launchAtomCode: { type: Function, default: void 0 },
|
|
18718
|
+
defaultGlobalSearchType: { default: "repo" }
|
|
18089
18719
|
},
|
|
18090
18720
|
emits: ["followDevCommunity", "followUser", "resetPwdDirectlySuccess", "update:openCreateDropdown"],
|
|
18091
18721
|
setup(__props, { emit: __emit }) {
|
|
@@ -18516,7 +19146,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
18516
19146
|
key: 0,
|
|
18517
19147
|
class: normalizeClass(["g-toolbar-custom", inAIHub.value && !unref(isPhone)() ? "g-toolbar-custom--ai" : ""])
|
|
18518
19148
|
}, [
|
|
18519
|
-
_ctx.$slots.headerCustom ? renderSlot(_ctx.$slots, "headerCustom", {
|
|
19149
|
+
_ctx.$slots.headerCustom ? renderSlot(_ctx.$slots, "headerCustom", {}, void 0, true, 0) : isModuleVisible(unref(HeaderDisplayItem).CUSTOM_CONTENT) && !showNameAndIcon.value ? (openBlock(), createBlock(HeaderCustom, {
|
|
18520
19150
|
key: 1,
|
|
18521
19151
|
scene: __props.sceneValue,
|
|
18522
19152
|
isLogin: __props.isLogin,
|
|
@@ -18538,39 +19168,47 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
18538
19168
|
renderSlot(_ctx.$slots, "headerMiddleRight", {}, void 0, true)
|
|
18539
19169
|
])) : createCommentVNode("", true),
|
|
18540
19170
|
!inAIHub.value ? (openBlock(), createElementBlock("div", _hoisted_3$g, [
|
|
18541
|
-
isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {
|
|
19171
|
+
isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {}, () => [
|
|
18542
19172
|
(openBlock(), createBlock(Search, {
|
|
18543
19173
|
inAIHub: inAIHub.value,
|
|
18544
19174
|
key: _ctx.$route.fullPath,
|
|
18545
19175
|
sceneValue: __props.sceneValue,
|
|
18546
|
-
isShowStickyNotice: isShowStickyNoticeByClose.value
|
|
18547
|
-
|
|
18548
|
-
|
|
18549
|
-
|
|
18550
|
-
|
|
18551
|
-
|
|
18552
|
-
|
|
18553
|
-
|
|
18554
|
-
|
|
18555
|
-
|
|
18556
|
-
|
|
19176
|
+
isShowStickyNotice: isShowStickyNoticeByClose.value,
|
|
19177
|
+
defaultGlobalSearchType: props.defaultGlobalSearchType
|
|
19178
|
+
}, createSlots({ _: 2 }, [
|
|
19179
|
+
_ctx.$slots.searchRecommend ? {
|
|
19180
|
+
name: "searchRecommend",
|
|
19181
|
+
fn: withCtx(() => [
|
|
19182
|
+
renderSlot(_ctx.$slots, "searchRecommend", {}, void 0, true)
|
|
19183
|
+
]),
|
|
19184
|
+
key: "0"
|
|
19185
|
+
} : void 0,
|
|
19186
|
+
_ctx.$slots.globalSearch ? {
|
|
19187
|
+
name: "globalSearch",
|
|
19188
|
+
fn: withCtx(({ searchStr, searchMore }) => [
|
|
19189
|
+
renderSlot(_ctx.$slots, "globalSearch", normalizeProps(guardReactiveProps({ searchStr, searchMore })), void 0, true)
|
|
19190
|
+
]),
|
|
19191
|
+
key: "1"
|
|
19192
|
+
} : void 0
|
|
19193
|
+
]), 1032, ["inAIHub", "sceneValue", "isShowStickyNotice", "defaultGlobalSearchType"]))
|
|
19194
|
+
], true, 0) : createCommentVNode("", true)
|
|
18557
19195
|
])) : createCommentVNode("", true),
|
|
18558
19196
|
createElementVNode("div", {
|
|
18559
19197
|
class: normalizeClass(["g-toolbar-right allow-click-stop", inAIHub.value ? "g-toolbar-right--ai" : ""])
|
|
18560
19198
|
}, [
|
|
18561
|
-
!inAIHub.value && props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", {
|
|
19199
|
+
!inAIHub.value && props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", {}, () => [
|
|
18562
19200
|
createVNode(AtomCodeLauncher, {
|
|
18563
19201
|
atomcodeLaunchQs: props.atomcodeLaunchQs,
|
|
18564
19202
|
isLogin: props.isLogin,
|
|
18565
19203
|
launchAtomCode: props.launchAtomCode
|
|
18566
19204
|
}, null, 8, ["atomcodeLaunchQs", "isLogin", "launchAtomCode"])
|
|
18567
|
-
], true) : createCommentVNode("", true),
|
|
18568
|
-
!inAIHub.value ? renderSlot(_ctx.$slots, "headerActions", {
|
|
19205
|
+
], true, 0) : createCommentVNode("", true),
|
|
19206
|
+
!inAIHub.value ? renderSlot(_ctx.$slots, "headerActions", {}, () => [
|
|
18569
19207
|
createVNode(HomeHeaderActions, {
|
|
18570
19208
|
"workspace-navigate": props.workspaceNavigate,
|
|
18571
19209
|
isLogin: props.isLogin
|
|
18572
19210
|
}, null, 8, ["workspace-navigate", "isLogin"])
|
|
18573
|
-
], true) : createCommentVNode("", true),
|
|
19211
|
+
], true, 1) : createCommentVNode("", true),
|
|
18574
19212
|
createElementVNode("div", _hoisted_4$b, [
|
|
18575
19213
|
createVNode(ClaimPower, { config: claimPowerConfig.value }, null, 8, ["config"]),
|
|
18576
19214
|
isModuleVisible(unref(HeaderDisplayItem).OPERATION_ENTRY) ? (openBlock(), createBlock(OperationEntry, { key: 0 })) : createCommentVNode("", true)
|
|
@@ -20064,22 +20702,29 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
20064
20702
|
])
|
|
20065
20703
|
]),
|
|
20066
20704
|
createElementVNode("div", _hoisted_6$4, [
|
|
20067
|
-
isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {
|
|
20705
|
+
isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {}, () => [
|
|
20068
20706
|
(openBlock(), createBlock(Search, {
|
|
20069
20707
|
inAIHub: false,
|
|
20070
20708
|
key: _ctx.$route.fullPath,
|
|
20071
20709
|
sceneValue: unref(SceneValue).home,
|
|
20072
20710
|
isShowStickyNotice: false
|
|
20073
|
-
}, {
|
|
20074
|
-
searchRecommend
|
|
20075
|
-
|
|
20076
|
-
|
|
20077
|
-
|
|
20078
|
-
|
|
20079
|
-
|
|
20080
|
-
|
|
20081
|
-
|
|
20082
|
-
|
|
20711
|
+
}, createSlots({ _: 2 }, [
|
|
20712
|
+
_ctx.$slots.searchRecommend ? {
|
|
20713
|
+
name: "searchRecommend",
|
|
20714
|
+
fn: withCtx(() => [
|
|
20715
|
+
renderSlot(_ctx.$slots, "searchRecommend", {}, void 0, true)
|
|
20716
|
+
]),
|
|
20717
|
+
key: "0"
|
|
20718
|
+
} : void 0,
|
|
20719
|
+
_ctx.$slots.globalSearch ? {
|
|
20720
|
+
name: "globalSearch",
|
|
20721
|
+
fn: withCtx(({ searchStr, searchMore }) => [
|
|
20722
|
+
renderSlot(_ctx.$slots, "globalSearch", normalizeProps(guardReactiveProps({ searchStr, searchMore })), void 0, true)
|
|
20723
|
+
]),
|
|
20724
|
+
key: "1"
|
|
20725
|
+
} : void 0
|
|
20726
|
+
]), 1032, ["sceneValue"]))
|
|
20727
|
+
], true, 0) : createCommentVNode("", true)
|
|
20083
20728
|
]),
|
|
20084
20729
|
createElementVNode("div", _hoisted_7$3, [
|
|
20085
20730
|
__props.showAtomCodeLauncher ? (openBlock(), createBlock(AtomCodeLauncher, {
|
|
@@ -20411,9 +21056,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
20411
21056
|
const layoutConfig2 = useLayoutConfig();
|
|
20412
21057
|
const { t: t2 } = i18n.global;
|
|
20413
21058
|
const route = useRoute();
|
|
20414
|
-
const MenuItem = defineAsyncComponent(() => import("./MenuItem-
|
|
20415
|
-
const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-
|
|
20416
|
-
const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-
|
|
21059
|
+
const MenuItem = defineAsyncComponent(() => import("./MenuItem-BDykqVY_.js"));
|
|
21060
|
+
const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-BuyD7jOd.js"));
|
|
21061
|
+
const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-XmOFvTS9.js"));
|
|
20417
21062
|
const props = __props;
|
|
20418
21063
|
const useReport2 = inject("useReport");
|
|
20419
21064
|
const userInfo = inject("userInfo");
|
|
@@ -23983,7 +24628,7 @@ const verifyCodeRegExp4 = /^\d{4}$/;
|
|
|
23983
24628
|
const verifyCodeRegExp6 = /^\d{6}$/;
|
|
23984
24629
|
const mobileRegExp = /^1[3-9]\d{9}$/;
|
|
23985
24630
|
const usernameRegExp = /^(?!-)[a-zA-Z][a-zA-Z0-9_-]{1,49}$/;
|
|
23986
|
-
const metadata = { "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, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "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|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "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(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|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}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?: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(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "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[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "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, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "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|44)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "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", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|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-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\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, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "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-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\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{2})(\\d{4})", "$1 $2 $3", ["2"], "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"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "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)(\\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, 12], [["(\\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}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "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{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[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{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|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(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\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", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "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}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "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, "([2-7]\\d{6})$|1", "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", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "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-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "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{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "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", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "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|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "(?:[235]\\d{3}|800)\\d{5}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "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\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "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", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 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", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "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]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\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, "([25-8]\\d{5})$|0|180020", "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|8(?:28[235-7]|3))|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])\\d|8(?:[14-6]\\d|2[0-79]))|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,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|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[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|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", ["[47]"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "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-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "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, "([2-7]\\d{6})$|1", "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", ["[36]0|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\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "33622|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", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "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", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "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]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "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|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|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{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:[19]|2[2-46-9]|3[3-9])|8(?:0[89]|92)"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"], ["(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "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\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "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|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "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", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "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}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "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, "([34]\\d{6})$|1", "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])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 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", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 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]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "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", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-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[0467]"]]]], "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", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "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}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 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", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "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", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "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|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[45]\\d{5}|(?:708|8\\d\\d)\\d{6}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "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", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "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-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 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", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, 0, [["336(?:[013-9]\\d|2[013-9])\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}", [10]], ["9\\d{9}", [10]], ["8(?:0[04]|108\\d{3})\\d{7}"], ["80[39]\\d{7}", [10]], ["808\\d{7}", [10]]], "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [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{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\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, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "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}|(?:[489]\\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", "(?:[237-9]\\d|66)\\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|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-8]\\d|90)\\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-9]"]]]], "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", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\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, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "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, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|30|[689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 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]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 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|71)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 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]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "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]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 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}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"], 0, 0, 0, ["305209\\d{4}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "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, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "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, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "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", ["6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\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", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "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, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|51"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
|
|
24631
|
+
const metadata = { "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|[2-467])\\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, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "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|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "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(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|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}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?: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(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "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[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "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, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "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", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "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", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\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-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\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, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "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-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\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{2})(\\d{4})", "$1 $2 $3", ["2"], "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"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\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}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "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{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[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{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|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(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|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(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\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", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "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}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "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, "([2-7]\\d{6})$|1", "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", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "(?:400|[5-9]\\d\\d)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "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{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "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{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[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", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "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|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "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", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[48]\\d{8}|[2-9]\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|4(?:[0-35]|4[16-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[48]"]]]], "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", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "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", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 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", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "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]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\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(?:05|[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, "([25-8]\\d{5})$|0|180020", "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]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[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(?:(?: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)|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(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|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]|3[129]|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(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|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|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|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", ["16|[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[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,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|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[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|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", ["[47]"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "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-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "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, "([2-7]\\d{6})$|1", "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", ["[36]0|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\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "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", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "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", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "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]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "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", ["20"]], ["(\\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]"]], ["(\\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", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|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{4})(\\d{5})", "$1-$2", ["892"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], "0", 0, 0, 0, 0, "[5-8]"], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "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", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "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|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "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", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "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}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["11|2[16]"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "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, "([34]\\d{6})$|1", "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])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 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", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 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]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], ["(\\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", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-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[0467]"]]]], "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", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "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}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 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", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "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[02-46-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "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|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?: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", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "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", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,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", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 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", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [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{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\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, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "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[013]|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}|(?:[489]\\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", "(?:[237-9]\\d|66)\\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|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "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{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], ["(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\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-9]"]]]], "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", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\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, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "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, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 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]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 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-7]\\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", ["[67]"], "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$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, "([2-46-8]\\d{6})$|1", "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{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?: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]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 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", "20240"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["20[0-35-7]|4(?:6[45]|[7-9])|[7-9]", "20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[2-4]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "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, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "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, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\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", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], "ZW": ["263", "00", "(?:13|8\\d{4})\\d{5}|[235-8]\\d{8}|[2-689]\\d{6}", [7, 9, 10], [["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|29|58)|67[0-46-9]|(?:55|68)[0-69]"], "0$1"], ["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|[27]|48)|37|675|(?:55|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{4})(\\d{3,5})", "$1 $2", ["548"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[256]|39|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", ["3"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
|
|
23987
24632
|
function withMetadataArgument(func, _arguments) {
|
|
23988
24633
|
var args = Array.prototype.slice.call(_arguments);
|
|
23989
24634
|
args.push(metadata);
|
|
@@ -24011,6 +24656,10 @@ var objectConstructor = {}.constructor;
|
|
|
24011
24656
|
function isObject(object) {
|
|
24012
24657
|
return object !== void 0 && object !== null && object.constructor === objectConstructor;
|
|
24013
24658
|
}
|
|
24659
|
+
var CALLING_CODE_REG_EXP = /^\d+$/;
|
|
24660
|
+
function isCallingCode(string) {
|
|
24661
|
+
return CALLING_CODE_REG_EXP.test(string);
|
|
24662
|
+
}
|
|
24014
24663
|
function _typeof$7(o) {
|
|
24015
24664
|
"@babel/helpers - typeof";
|
|
24016
24665
|
return _typeof$7 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
@@ -24048,7 +24697,6 @@ function _toPrimitive$6(t2, r) {
|
|
|
24048
24697
|
var V3 = "1.2.0";
|
|
24049
24698
|
var V4 = "1.7.35";
|
|
24050
24699
|
var DEFAULT_EXT_PREFIX = " ext. ";
|
|
24051
|
-
var CALLING_CODE_REG_EXP = /^\d+$/;
|
|
24052
24700
|
var Metadata = /* @__PURE__ */ function() {
|
|
24053
24701
|
function Metadata2(metadata2) {
|
|
24054
24702
|
_classCallCheck$2(this, Metadata2);
|
|
@@ -24111,18 +24759,32 @@ var Metadata = /* @__PURE__ */ function() {
|
|
|
24111
24759
|
value: function country(countryCode) {
|
|
24112
24760
|
return this.selectNumberingPlan(countryCode);
|
|
24113
24761
|
}
|
|
24762
|
+
/**
|
|
24763
|
+
* Selects a telephone numbering plan based on either a country code or a calling code.
|
|
24764
|
+
* @param {string} argument — Country code or calling code.
|
|
24765
|
+
* @param {string} legacyArgumentCallingCode — Legacy argument: calling code, if the first argument is not passed.
|
|
24766
|
+
*/
|
|
24114
24767
|
}, {
|
|
24115
24768
|
key: "selectNumberingPlan",
|
|
24116
|
-
value: function selectNumberingPlan(
|
|
24117
|
-
|
|
24118
|
-
|
|
24119
|
-
|
|
24769
|
+
value: function selectNumberingPlan(argument, legacyArgumentCallingCode) {
|
|
24770
|
+
var countryCode;
|
|
24771
|
+
var callingCode;
|
|
24772
|
+
if (argument) {
|
|
24773
|
+
if (isCallingCode(argument)) {
|
|
24774
|
+
callingCode = argument;
|
|
24775
|
+
} else {
|
|
24776
|
+
countryCode = argument;
|
|
24777
|
+
}
|
|
24778
|
+
}
|
|
24779
|
+
if (legacyArgumentCallingCode) {
|
|
24780
|
+
callingCode = legacyArgumentCallingCode;
|
|
24120
24781
|
}
|
|
24121
24782
|
if (countryCode && countryCode !== "001") {
|
|
24122
|
-
|
|
24783
|
+
var countryMetadata = this.getCountryMetadata(countryCode);
|
|
24784
|
+
if (!countryMetadata) {
|
|
24123
24785
|
throw new Error("Unknown country: ".concat(countryCode));
|
|
24124
24786
|
}
|
|
24125
|
-
this.numberingPlan = new NumberingPlan(
|
|
24787
|
+
this.numberingPlan = new NumberingPlan(countryMetadata, this);
|
|
24126
24788
|
} else if (callingCode) {
|
|
24127
24789
|
if (!this.hasCallingCode(callingCode)) {
|
|
24128
24790
|
throw new Error("Unknown calling code: ".concat(callingCode));
|
|
@@ -24274,16 +24936,28 @@ var NumberingPlan = /* @__PURE__ */ function() {
|
|
|
24274
24936
|
value: function callingCode() {
|
|
24275
24937
|
return this.metadata[0];
|
|
24276
24938
|
}
|
|
24277
|
-
//
|
|
24278
|
-
//
|
|
24279
|
-
//
|
|
24280
|
-
//
|
|
24281
|
-
//
|
|
24282
|
-
//
|
|
24939
|
+
// When multiple countries share the same calling code,
|
|
24940
|
+
// all phone number formatting rules are included in the metadata
|
|
24941
|
+
// of the "default" country for that calling code.
|
|
24942
|
+
// Any other countries' metdata doesn't include any formatting rules.
|
|
24943
|
+
// Google developers said that such storage architecture was chosen for performance reasons.
|
|
24944
|
+
//
|
|
24945
|
+
// For example, for NANPA region ("North American Numbering Plan Administration",
|
|
24946
|
+
// which includes USA, Canada, Cayman Islands, Bahamas, etc) all formatting rules
|
|
24947
|
+
// are contained in the metadata of `US` country.
|
|
24948
|
+
//
|
|
24949
|
+
// This is not public API.
|
|
24950
|
+
//
|
|
24951
|
+
}, {
|
|
24952
|
+
key: "_getDefaultCountryMetadataForThisCallingCode",
|
|
24953
|
+
value: function _getDefaultCountryMetadataForThisCallingCode() {
|
|
24954
|
+
return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
|
|
24955
|
+
}
|
|
24956
|
+
// Deprecated.
|
|
24283
24957
|
}, {
|
|
24284
24958
|
key: "getDefaultCountryMetadataForRegion",
|
|
24285
24959
|
value: function getDefaultCountryMetadataForRegion() {
|
|
24286
|
-
return this.
|
|
24960
|
+
return this._getDefaultCountryMetadataForThisCallingCode();
|
|
24287
24961
|
}
|
|
24288
24962
|
// Is always present.
|
|
24289
24963
|
}, {
|
|
@@ -24324,7 +24998,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
|
|
|
24324
24998
|
key: "formats",
|
|
24325
24999
|
value: function formats() {
|
|
24326
25000
|
var _this = this;
|
|
24327
|
-
var formats2 = this._getFormats(this.metadata) || this._getFormats(this.
|
|
25001
|
+
var formats2 = this._getFormats(this.metadata) || this._getFormats(this._getDefaultCountryMetadataForThisCallingCode()) || [];
|
|
24328
25002
|
return formats2.map(function(_) {
|
|
24329
25003
|
return new Format(_, _this);
|
|
24330
25004
|
});
|
|
@@ -24345,7 +25019,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
|
|
|
24345
25019
|
}, {
|
|
24346
25020
|
key: "nationalPrefixFormattingRule",
|
|
24347
25021
|
value: function nationalPrefixFormattingRule() {
|
|
24348
|
-
return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.
|
|
25022
|
+
return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode());
|
|
24349
25023
|
}
|
|
24350
25024
|
}, {
|
|
24351
25025
|
key: "_nationalPrefixForParsing",
|
|
@@ -24374,7 +25048,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
|
|
|
24374
25048
|
}, {
|
|
24375
25049
|
key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
|
|
24376
25050
|
value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {
|
|
24377
|
-
return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.
|
|
25051
|
+
return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode());
|
|
24378
25052
|
}
|
|
24379
25053
|
}, {
|
|
24380
25054
|
key: "leadingDigits",
|
|
@@ -24515,15 +25189,15 @@ function validateMetadata(metadata2) {
|
|
|
24515
25189
|
var typeOf = function typeOf2(_) {
|
|
24516
25190
|
return _typeof$7(_);
|
|
24517
25191
|
};
|
|
24518
|
-
function getCountryCallingCode(country,
|
|
24519
|
-
metadata2 = new Metadata(
|
|
25192
|
+
function getCountryCallingCode(country, metadataJson) {
|
|
25193
|
+
var metadata2 = new Metadata(metadataJson);
|
|
24520
25194
|
if (metadata2.hasCountry(country)) {
|
|
24521
25195
|
return metadata2.selectNumberingPlan(country).countryCallingCode();
|
|
24522
25196
|
}
|
|
24523
25197
|
throw new Error("Unknown country: ".concat(country));
|
|
24524
25198
|
}
|
|
24525
|
-
function isSupportedCountry(country,
|
|
24526
|
-
return
|
|
25199
|
+
function isSupportedCountry(country, metadataJson) {
|
|
25200
|
+
return metadataJson.countries.hasOwnProperty(country);
|
|
24527
25201
|
}
|
|
24528
25202
|
function setVersion(metadata2) {
|
|
24529
25203
|
var version = metadata2.version;
|
|
@@ -24545,9 +25219,9 @@ function setVersion(metadata2) {
|
|
|
24545
25219
|
}
|
|
24546
25220
|
}
|
|
24547
25221
|
function checkNumberLength(nationalNumber, country, metadata2) {
|
|
24548
|
-
return checkNumberLengthForType(nationalNumber,
|
|
25222
|
+
return checkNumberLengthForType(nationalNumber, void 0, country, metadata2);
|
|
24549
25223
|
}
|
|
24550
|
-
function checkNumberLengthForType(nationalNumber,
|
|
25224
|
+
function checkNumberLengthForType(nationalNumber, type, country, metadata2) {
|
|
24551
25225
|
if (country) {
|
|
24552
25226
|
metadata2 = new Metadata(metadata2.metadata);
|
|
24553
25227
|
metadata2.selectNumberingPlan(country);
|
|
@@ -24570,16 +25244,16 @@ function checkNumberLengthForType(nationalNumber, country, type, metadata2) {
|
|
|
24570
25244
|
}
|
|
24571
25245
|
return possible_lengths.indexOf(actual_length, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
|
|
24572
25246
|
}
|
|
24573
|
-
function isPossiblePhoneNumber$2(input, options,
|
|
25247
|
+
function isPossiblePhoneNumber$2(input, options, metadataJson) {
|
|
24574
25248
|
if (options === void 0) {
|
|
24575
25249
|
options = {};
|
|
24576
25250
|
}
|
|
24577
|
-
metadata2 = new Metadata(
|
|
25251
|
+
var metadata2 = new Metadata(metadataJson);
|
|
24578
25252
|
if (options.v2) {
|
|
24579
25253
|
if (!input.countryCallingCode) {
|
|
24580
25254
|
throw new Error("Invalid phone number object passed");
|
|
24581
25255
|
}
|
|
24582
|
-
metadata2.selectNumberingPlan(input.countryCallingCode);
|
|
25256
|
+
metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
|
|
24583
25257
|
} else {
|
|
24584
25258
|
if (!input.phone) {
|
|
24585
25259
|
return false;
|
|
@@ -24597,17 +25271,15 @@ function isPossiblePhoneNumber$2(input, options, metadata2) {
|
|
|
24597
25271
|
}
|
|
24598
25272
|
}
|
|
24599
25273
|
if (metadata2.possibleLengths()) {
|
|
24600
|
-
return isPossibleNumber(input.phone || input.nationalNumber,
|
|
24601
|
-
}
|
|
24602
|
-
|
|
24603
|
-
|
|
24604
|
-
} else {
|
|
24605
|
-
throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
|
|
24606
|
-
}
|
|
25274
|
+
return isPossibleNumber(input.phone || input.nationalNumber, metadata2);
|
|
25275
|
+
}
|
|
25276
|
+
if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {
|
|
25277
|
+
return true;
|
|
24607
25278
|
}
|
|
25279
|
+
throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
|
|
24608
25280
|
}
|
|
24609
|
-
function isPossibleNumber(nationalNumber,
|
|
24610
|
-
switch (checkNumberLength(nationalNumber,
|
|
25281
|
+
function isPossibleNumber(nationalNumber, metadata2) {
|
|
25282
|
+
switch (checkNumberLength(nationalNumber, void 0, metadata2)) {
|
|
24611
25283
|
case "IS_POSSIBLE":
|
|
24612
25284
|
return true;
|
|
24613
25285
|
default:
|
|
@@ -24643,13 +25315,13 @@ function _arrayLikeToArray$3(r, a) {
|
|
|
24643
25315
|
return n;
|
|
24644
25316
|
}
|
|
24645
25317
|
var NON_FIXED_LINE_PHONE_TYPES = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
|
|
24646
|
-
function getNumberType(input, options,
|
|
25318
|
+
function getNumberType(input, options, metadataJson) {
|
|
24647
25319
|
options = options || {};
|
|
24648
25320
|
if (!input.country && !input.countryCallingCode) {
|
|
24649
25321
|
return;
|
|
24650
25322
|
}
|
|
24651
|
-
metadata2 = new Metadata(
|
|
24652
|
-
metadata2.selectNumberingPlan(input.country
|
|
25323
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25324
|
+
metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
|
|
24653
25325
|
var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
|
|
24654
25326
|
if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern())) {
|
|
24655
25327
|
return;
|
|
@@ -24674,25 +25346,45 @@ function getNumberType(input, options, metadata2) {
|
|
|
24674
25346
|
}
|
|
24675
25347
|
}
|
|
24676
25348
|
function isNumberTypeEqualTo(nationalNumber, type, metadata2) {
|
|
24677
|
-
|
|
24678
|
-
if (!
|
|
25349
|
+
var typeDefinition = metadata2.type(type);
|
|
25350
|
+
if (!typeDefinition || !typeDefinition.pattern()) {
|
|
24679
25351
|
return false;
|
|
24680
25352
|
}
|
|
24681
|
-
if (
|
|
25353
|
+
if (typeDefinition.possibleLengths() && typeDefinition.possibleLengths().indexOf(nationalNumber.length) < 0) {
|
|
24682
25354
|
return false;
|
|
24683
25355
|
}
|
|
24684
|
-
return matchesEntirely(nationalNumber,
|
|
25356
|
+
return matchesEntirely(nationalNumber, typeDefinition.pattern());
|
|
24685
25357
|
}
|
|
24686
|
-
function isValidNumber(input, options,
|
|
25358
|
+
function isValidNumber(input, options, metadataJson) {
|
|
24687
25359
|
options = options || {};
|
|
24688
|
-
metadata2 = new Metadata(
|
|
24689
|
-
metadata2.selectNumberingPlan(input.country
|
|
25360
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25361
|
+
metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
|
|
24690
25362
|
if (metadata2.hasTypes()) {
|
|
24691
25363
|
return getNumberType(input, options, metadata2.metadata) !== void 0;
|
|
24692
25364
|
}
|
|
24693
25365
|
var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
|
|
24694
25366
|
return matchesEntirely(nationalNumber, metadata2.nationalNumberPattern());
|
|
24695
25367
|
}
|
|
25368
|
+
var COUNTRY_CODE_REG_EXP = /^[A-Z]{2}$/;
|
|
25369
|
+
function isCountryCode(string) {
|
|
25370
|
+
return COUNTRY_CODE_REG_EXP.test(string);
|
|
25371
|
+
}
|
|
25372
|
+
function getCountryAndCallingCodeFromOneOfThem(countryOrCallingCode, metadataJson) {
|
|
25373
|
+
var country;
|
|
25374
|
+
var callingCode;
|
|
25375
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25376
|
+
if (isCountryCode(countryOrCallingCode)) {
|
|
25377
|
+
country = countryOrCallingCode;
|
|
25378
|
+
metadata2.selectNumberingPlan(country);
|
|
25379
|
+
callingCode = metadata2.countryCallingCode();
|
|
25380
|
+
} else {
|
|
25381
|
+
callingCode = countryOrCallingCode;
|
|
25382
|
+
}
|
|
25383
|
+
return {
|
|
25384
|
+
country,
|
|
25385
|
+
callingCode
|
|
25386
|
+
};
|
|
25387
|
+
}
|
|
24696
25388
|
function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata2) {
|
|
24697
25389
|
var _metadata = new Metadata(metadata2);
|
|
24698
25390
|
var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);
|
|
@@ -24703,13 +25395,10 @@ function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata2) {
|
|
|
24703
25395
|
return couldNationalNumberBelongToCountry(nationalNumber, country, metadata2);
|
|
24704
25396
|
});
|
|
24705
25397
|
}
|
|
24706
|
-
function couldNationalNumberBelongToCountry(nationalNumber, country,
|
|
24707
|
-
var
|
|
24708
|
-
|
|
24709
|
-
|
|
24710
|
-
return true;
|
|
24711
|
-
}
|
|
24712
|
-
return false;
|
|
25398
|
+
function couldNationalNumberBelongToCountry(nationalNumber, country, metadataJson) {
|
|
25399
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25400
|
+
metadata2.selectNumberingPlan(country);
|
|
25401
|
+
return metadata2.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0;
|
|
24713
25402
|
}
|
|
24714
25403
|
var MIN_LENGTH_FOR_NSN = 2;
|
|
24715
25404
|
var MAX_LENGTH_FOR_NSN = 17;
|
|
@@ -24724,13 +25413,13 @@ var TILDES = "~⁓∼~";
|
|
|
24724
25413
|
var VALID_PUNCTUATION = "".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);
|
|
24725
25414
|
var PLUS_CHARS = "++";
|
|
24726
25415
|
var CAPTURING_DIGIT_PATTERN = new RegExp("([" + VALID_DIGITS + "])");
|
|
24727
|
-
function stripIddPrefix(number2, country, callingCode,
|
|
25416
|
+
function stripIddPrefix(number2, country, callingCode, metadataJson) {
|
|
24728
25417
|
if (!country) {
|
|
24729
25418
|
return;
|
|
24730
25419
|
}
|
|
24731
|
-
var
|
|
24732
|
-
|
|
24733
|
-
var IDDPrefixPattern = new RegExp(
|
|
25420
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25421
|
+
metadata2.selectNumberingPlan(country || callingCode);
|
|
25422
|
+
var IDDPrefixPattern = new RegExp(metadata2.IDDPrefix());
|
|
24734
25423
|
if (number2.search(IDDPrefixPattern) !== 0) {
|
|
24735
25424
|
return;
|
|
24736
25425
|
}
|
|
@@ -24809,26 +25498,25 @@ function _arrayLikeToArray$2(r, a) {
|
|
|
24809
25498
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
24810
25499
|
return n;
|
|
24811
25500
|
}
|
|
24812
|
-
function getCountryByNationalNumber(
|
|
24813
|
-
var
|
|
24814
|
-
metadata2 = new Metadata(metadata2);
|
|
25501
|
+
function getCountryByNationalNumber(nationalNumber, countries, metadataJson) {
|
|
25502
|
+
var metadata2 = new Metadata(metadataJson);
|
|
24815
25503
|
for (var _iterator = _createForOfIteratorHelperLoose$1(countries), _step; !(_step = _iterator()).done; ) {
|
|
24816
25504
|
var country = _step.value;
|
|
24817
25505
|
metadata2.selectNumberingPlan(country);
|
|
24818
25506
|
if (metadata2.leadingDigits()) {
|
|
24819
|
-
if (
|
|
25507
|
+
if (nationalNumber && nationalNumber.search(metadata2.leadingDigits()) === 0) {
|
|
24820
25508
|
return country;
|
|
24821
25509
|
}
|
|
24822
25510
|
} else if (getNumberType({
|
|
24823
|
-
phone:
|
|
25511
|
+
phone: nationalNumber,
|
|
24824
25512
|
country
|
|
24825
25513
|
}, void 0, metadata2.metadata)) {
|
|
24826
25514
|
return country;
|
|
24827
25515
|
}
|
|
24828
25516
|
}
|
|
24829
25517
|
}
|
|
24830
|
-
function getCountryByCallingCode(callingCode,
|
|
24831
|
-
var
|
|
25518
|
+
function getCountryByCallingCode(callingCode, _ref2) {
|
|
25519
|
+
var nationalNumber = _ref2.nationalNumber, metadata2 = _ref2.metadata;
|
|
24832
25520
|
var possibleCountries = metadata2.getCountryCodesForCallingCode(callingCode);
|
|
24833
25521
|
if (!possibleCountries) {
|
|
24834
25522
|
return;
|
|
@@ -24836,10 +25524,7 @@ function getCountryByCallingCode(callingCode, _ref) {
|
|
|
24836
25524
|
if (possibleCountries.length === 1) {
|
|
24837
25525
|
return possibleCountries[0];
|
|
24838
25526
|
}
|
|
24839
|
-
return getCountryByNationalNumber(
|
|
24840
|
-
countries: possibleCountries,
|
|
24841
|
-
metadata: metadata2.metadata
|
|
24842
|
-
});
|
|
25527
|
+
return getCountryByNationalNumber(nationalNumber, possibleCountries, metadata2.metadata);
|
|
24843
25528
|
}
|
|
24844
25529
|
function extractNationalNumber(number2, country, metadata2) {
|
|
24845
25530
|
var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number2, metadata2), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;
|
|
@@ -24883,15 +25568,20 @@ function isPossibleIncompleteNationalNumber(nationalNumber, country, metadata2)
|
|
|
24883
25568
|
return true;
|
|
24884
25569
|
}
|
|
24885
25570
|
}
|
|
24886
|
-
function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode,
|
|
24887
|
-
|
|
25571
|
+
function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadataJson) {
|
|
25572
|
+
if (!(defaultCountry || defaultCallingCode)) {
|
|
25573
|
+
return {
|
|
25574
|
+
number: number2
|
|
25575
|
+
};
|
|
25576
|
+
}
|
|
25577
|
+
var countryCallingCode = defaultCountry ? getCountryCallingCode(defaultCountry, metadataJson) : defaultCallingCode;
|
|
24888
25578
|
if (number2.indexOf(countryCallingCode) === 0) {
|
|
24889
|
-
metadata2 = new Metadata(
|
|
24890
|
-
metadata2.selectNumberingPlan(defaultCountry
|
|
25579
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25580
|
+
metadata2.selectNumberingPlan(defaultCountry || defaultCallingCode);
|
|
24891
25581
|
var possibleShorterNumber = number2.slice(countryCallingCode.length);
|
|
24892
|
-
var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber,
|
|
24893
|
-
var _extractNationalNumbe2 = extractNationalNumber(number2,
|
|
24894
|
-
if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber,
|
|
25582
|
+
var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, void 0, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;
|
|
25583
|
+
var _extractNationalNumbe2 = extractNationalNumber(number2, void 0, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;
|
|
25584
|
+
if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, void 0, metadata2) === "TOO_LONG") {
|
|
24895
25585
|
return {
|
|
24896
25586
|
countryCallingCode,
|
|
24897
25587
|
number: possibleShorterNumber
|
|
@@ -24902,19 +25592,19 @@ function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2
|
|
|
24902
25592
|
number: number2
|
|
24903
25593
|
};
|
|
24904
25594
|
}
|
|
24905
|
-
function extractCountryCallingCode(number2, country, defaultCountry, defaultCallingCode,
|
|
25595
|
+
function extractCountryCallingCode(number2, country, defaultCountry, defaultCallingCode, metadataJson) {
|
|
24906
25596
|
if (!number2) {
|
|
24907
25597
|
return {};
|
|
24908
25598
|
}
|
|
24909
25599
|
var isNumberWithIddPrefix;
|
|
24910
25600
|
if (number2[0] !== "+") {
|
|
24911
|
-
var numberWithoutIDD = stripIddPrefix(number2, defaultCountry, defaultCallingCode,
|
|
25601
|
+
var numberWithoutIDD = stripIddPrefix(number2, defaultCountry, defaultCallingCode, metadataJson);
|
|
24912
25602
|
if (numberWithoutIDD && numberWithoutIDD !== number2) {
|
|
24913
25603
|
isNumberWithIddPrefix = true;
|
|
24914
25604
|
number2 = "+" + numberWithoutIDD;
|
|
24915
25605
|
} else {
|
|
24916
25606
|
if (defaultCountry || defaultCallingCode) {
|
|
24917
|
-
var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode,
|
|
25607
|
+
var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadataJson), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;
|
|
24918
25608
|
if (countryCallingCode) {
|
|
24919
25609
|
return {
|
|
24920
25610
|
countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
|
|
@@ -24933,7 +25623,7 @@ function extractCountryCallingCode(number2, country, defaultCountry, defaultCall
|
|
|
24933
25623
|
if (number2[1] === "0") {
|
|
24934
25624
|
return {};
|
|
24935
25625
|
}
|
|
24936
|
-
metadata2 = new Metadata(
|
|
25626
|
+
var metadata2 = new Metadata(metadataJson);
|
|
24937
25627
|
var i = 2;
|
|
24938
25628
|
while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number2.length) {
|
|
24939
25629
|
var _countryCallingCode = number2.slice(1, i);
|
|
@@ -24953,8 +25643,8 @@ function applyInternationalSeparatorStyle(formattedNumber) {
|
|
|
24953
25643
|
return formattedNumber.replace(new RegExp("[".concat(VALID_PUNCTUATION, "]+"), "g"), " ").trim();
|
|
24954
25644
|
}
|
|
24955
25645
|
var FIRST_GROUP_PATTERN = /(\$\d)/;
|
|
24956
|
-
function formatNationalNumberUsingFormat(number2, format2,
|
|
24957
|
-
var useInternationalFormat =
|
|
25646
|
+
function formatNationalNumberUsingFormat(number2, format2, _ref2) {
|
|
25647
|
+
var useInternationalFormat = _ref2.useInternationalFormat, withNationalPrefix = _ref2.withNationalPrefix;
|
|
24958
25648
|
var formattedNumber = number2.replace(new RegExp(format2.pattern()), useInternationalFormat ? format2.internationalFormat() : (
|
|
24959
25649
|
// This library doesn't use `domestic_carrier_code_formatting_rule`,
|
|
24960
25650
|
// because that one is only used when formatting phone numbers
|
|
@@ -24979,7 +25669,7 @@ function formatNationalNumberUsingFormat(number2, format2, _ref) {
|
|
|
24979
25669
|
var SINGLE_IDD_PREFIX_REG_EXP = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
|
|
24980
25670
|
function getIddPrefix(country, callingCode, metadata2) {
|
|
24981
25671
|
var countryMetadata = new Metadata(metadata2);
|
|
24982
|
-
countryMetadata.selectNumberingPlan(country
|
|
25672
|
+
countryMetadata.selectNumberingPlan(country || callingCode);
|
|
24983
25673
|
if (countryMetadata.defaultIDDPrefix()) {
|
|
24984
25674
|
return countryMetadata.defaultIDDPrefix();
|
|
24985
25675
|
}
|
|
@@ -25028,8 +25718,8 @@ function isViablePhoneNumber(number2) {
|
|
|
25028
25718
|
function isViablePhoneNumberStart(number2) {
|
|
25029
25719
|
return VALID_PHONE_NUMBER_START_REG_EXP.test(number2);
|
|
25030
25720
|
}
|
|
25031
|
-
function formatRFC3966(
|
|
25032
|
-
var number2 =
|
|
25721
|
+
function formatRFC3966(_ref2) {
|
|
25722
|
+
var number2 = _ref2.number, ext = _ref2.ext;
|
|
25033
25723
|
if (!number2) {
|
|
25034
25724
|
return "";
|
|
25035
25725
|
}
|
|
@@ -25043,13 +25733,13 @@ var DEFAULT_OPTIONS = {
|
|
|
25043
25733
|
return "".concat(formattedNumber).concat(metadata2.ext()).concat(extension);
|
|
25044
25734
|
}
|
|
25045
25735
|
};
|
|
25046
|
-
function formatNumber(input, format2, options,
|
|
25736
|
+
function formatNumber(input, format2, options, metadataJson) {
|
|
25047
25737
|
if (options) {
|
|
25048
25738
|
options = merge({}, DEFAULT_OPTIONS, options);
|
|
25049
25739
|
} else {
|
|
25050
25740
|
options = DEFAULT_OPTIONS;
|
|
25051
25741
|
}
|
|
25052
|
-
metadata2 = new Metadata(
|
|
25742
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25053
25743
|
if (input.country && input.country !== "001") {
|
|
25054
25744
|
if (!metadata2.hasCountry(input.country)) {
|
|
25055
25745
|
throw new Error("Unknown country: ".concat(input.country));
|
|
@@ -25087,6 +25777,9 @@ function formatNumber(input, format2, options, metadata2) {
|
|
|
25087
25777
|
return;
|
|
25088
25778
|
}
|
|
25089
25779
|
var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata2);
|
|
25780
|
+
if (!formattedNumber) {
|
|
25781
|
+
return;
|
|
25782
|
+
}
|
|
25090
25783
|
return addExtension(formattedNumber, input.ext, metadata2, options.formatExtension);
|
|
25091
25784
|
default:
|
|
25092
25785
|
throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(format2, '"'));
|
|
@@ -25244,7 +25937,7 @@ var PhoneNumber = /* @__PURE__ */ function() {
|
|
|
25244
25937
|
throw new TypeError("`nationalNumber` argument must be a string");
|
|
25245
25938
|
}
|
|
25246
25939
|
validateMetadata(metadata2);
|
|
25247
|
-
var
|
|
25940
|
+
var _getCountryAndCalling = getCountryAndCallingCodeFromOneOfThem(countryOrCountryCallingCode, metadata2), country = _getCountryAndCalling.country, countryCallingCode = _getCountryAndCalling.callingCode;
|
|
25248
25941
|
this.country = country;
|
|
25249
25942
|
this.countryCallingCode = countryCallingCode;
|
|
25250
25943
|
this.nationalNumber = nationalNumber;
|
|
@@ -25291,16 +25984,29 @@ var PhoneNumber = /* @__PURE__ */ function() {
|
|
|
25291
25984
|
value: function isEqual(phoneNumber) {
|
|
25292
25985
|
return this.number === phoneNumber.number && this.ext === phoneNumber.ext;
|
|
25293
25986
|
}
|
|
25294
|
-
//
|
|
25295
|
-
//
|
|
25296
|
-
//
|
|
25297
|
-
//
|
|
25298
|
-
//
|
|
25299
|
-
//
|
|
25987
|
+
// `validateLength()` method was originally meant to be an equivalent for `validatePhoneNumberLength()`.
|
|
25988
|
+
//
|
|
25989
|
+
// Later, it became apparent that it's not really a true equivalent.
|
|
25990
|
+
// The reason is that a `PhoneNumber` instance is not created
|
|
25991
|
+
// when the phone number string is too short for it to be considered a valid phone number:
|
|
25992
|
+
// * When there must be at least 2 national (significant) number digits: `"1"`.
|
|
25993
|
+
// * When the country calling code part of an international number is incomplete: `"+12"`.
|
|
25994
|
+
//
|
|
25995
|
+
// So leaving this `validateLength()` method here would suggest a hidden anti-pattern
|
|
25996
|
+
// of using it instead of `validatePhoneNumberLength()` while ignoring
|
|
25997
|
+
// the "too short to be even possible" case from phone number length validation.
|
|
25998
|
+
// And ignoring that case wouldn't make any sense in a real-world application
|
|
25999
|
+
// because it would still be a valid case that should be handled.
|
|
26000
|
+
//
|
|
26001
|
+
// Because of that, this method was eventually commented out in order to not introduce
|
|
26002
|
+
// that kind of an anti-pattern.
|
|
26003
|
+
//
|
|
25300
26004
|
// validateLength() {
|
|
25301
|
-
// const
|
|
25302
|
-
//
|
|
25303
|
-
//
|
|
26005
|
+
// const result = checkNumberLength(
|
|
26006
|
+
// this.nationalNumber,
|
|
26007
|
+
// undefined,
|
|
26008
|
+
// this.getMetadata()
|
|
26009
|
+
// )
|
|
25304
26010
|
// if (result !== 'IS_POSSIBLE') {
|
|
25305
26011
|
// return result
|
|
25306
26012
|
// }
|
|
@@ -25338,25 +26044,6 @@ var PhoneNumber = /* @__PURE__ */ function() {
|
|
|
25338
26044
|
}
|
|
25339
26045
|
}]);
|
|
25340
26046
|
}();
|
|
25341
|
-
var isCountryCode = function isCountryCode2(value) {
|
|
25342
|
-
return /^[A-Z]{2}$/.test(value);
|
|
25343
|
-
};
|
|
25344
|
-
function getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {
|
|
25345
|
-
var country;
|
|
25346
|
-
var countryCallingCode;
|
|
25347
|
-
var metadata2 = new Metadata(metadataJson);
|
|
25348
|
-
if (isCountryCode(countryOrCountryCallingCode)) {
|
|
25349
|
-
country = countryOrCountryCallingCode;
|
|
25350
|
-
metadata2.selectNumberingPlan(country);
|
|
25351
|
-
countryCallingCode = metadata2.countryCallingCode();
|
|
25352
|
-
} else {
|
|
25353
|
-
countryCallingCode = countryOrCountryCallingCode;
|
|
25354
|
-
}
|
|
25355
|
-
return {
|
|
25356
|
-
country,
|
|
25357
|
-
countryCallingCode
|
|
25358
|
-
};
|
|
25359
|
-
}
|
|
25360
26047
|
var E164_NUMBER_REGEXP = /^\+\d+$/;
|
|
25361
26048
|
function _typeof$5(o) {
|
|
25362
26049
|
"@babel/helpers - typeof";
|
|
@@ -25623,8 +26310,8 @@ function isPhoneContextValid(phoneContext) {
|
|
|
25623
26310
|
}
|
|
25624
26311
|
return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);
|
|
25625
26312
|
}
|
|
25626
|
-
function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse,
|
|
25627
|
-
var extractFormattedPhoneNumber =
|
|
26313
|
+
function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref2) {
|
|
26314
|
+
var extractFormattedPhoneNumber = _ref2.extractFormattedPhoneNumber;
|
|
25628
26315
|
var phoneContext = extractPhoneContext(numberToParse);
|
|
25629
26316
|
if (!isPhoneContextValid(phoneContext)) {
|
|
25630
26317
|
throw new ParseError("NOT_A_NUMBER");
|
|
@@ -25658,9 +26345,9 @@ function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse,
|
|
|
25658
26345
|
var MAX_INPUT_STRING_LENGTH = 250;
|
|
25659
26346
|
var PHONE_NUMBER_START_PATTERN = new RegExp("[" + PLUS_CHARS + VALID_DIGITS + "]");
|
|
25660
26347
|
var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp("[^" + VALID_DIGITS + "#]+$");
|
|
25661
|
-
function parse(text2, options,
|
|
26348
|
+
function parse(text2, options, metadataJson) {
|
|
25662
26349
|
options = options || {};
|
|
25663
|
-
metadata2 = new Metadata(
|
|
26350
|
+
var metadata2 = new Metadata(metadataJson);
|
|
25664
26351
|
if (options.defaultCountry && !metadata2.hasCountry(options.defaultCountry)) {
|
|
25665
26352
|
if (options.v2) {
|
|
25666
26353
|
throw new ParseError("INVALID_COUNTRY");
|
|
@@ -25677,7 +26364,15 @@ function parse(text2, options, metadata2) {
|
|
|
25677
26364
|
}
|
|
25678
26365
|
return {};
|
|
25679
26366
|
}
|
|
25680
|
-
var _parsePhoneNumber = parsePhoneNumber$1(
|
|
26367
|
+
var _parsePhoneNumber = parsePhoneNumber$1(
|
|
26368
|
+
formattedPhoneNumber,
|
|
26369
|
+
options.defaultCountry,
|
|
26370
|
+
options.defaultCallingCode,
|
|
26371
|
+
// If `country` is returned, its numbering plan will also be selected in `metadata`.
|
|
26372
|
+
// Otherwise, if `countryCallingCode` is returned, its numbering plan will also be selected in `metadata`.
|
|
26373
|
+
// Otherwise, if neither `country` nor `countryCallingCode` are returned, no numbering plan will be selected in `metadata`.
|
|
26374
|
+
metadata2
|
|
26375
|
+
), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource, carrierCode = _parsePhoneNumber.carrierCode;
|
|
25681
26376
|
if (!metadata2.hasSelectedNumberingPlan()) {
|
|
25682
26377
|
if (options.v2) {
|
|
25683
26378
|
throw new ParseError("INVALID_COUNTRY");
|
|
@@ -25719,7 +26414,7 @@ function parse(text2, options, metadata2) {
|
|
|
25719
26414
|
countryCallingCode,
|
|
25720
26415
|
carrierCode,
|
|
25721
26416
|
valid,
|
|
25722
|
-
possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber,
|
|
26417
|
+
possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, metadata2) ? true : false,
|
|
25723
26418
|
phone: nationalNumber,
|
|
25724
26419
|
ext
|
|
25725
26420
|
};
|
|
@@ -25779,16 +26474,28 @@ function result(country, nationalNumber, ext) {
|
|
|
25779
26474
|
return result2;
|
|
25780
26475
|
}
|
|
25781
26476
|
function parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata2) {
|
|
25782
|
-
var _extractCountryCallin = extractCountryCallingCode(
|
|
26477
|
+
var _extractCountryCallin = extractCountryCallingCode(
|
|
26478
|
+
parseIncompletePhoneNumber(formattedPhoneNumber),
|
|
26479
|
+
void 0,
|
|
26480
|
+
// `defaultCountry` and `defaultCallingCode` are only used to detect
|
|
26481
|
+
// if it's an "international" phone number or not. They won't be used
|
|
26482
|
+
// to derive the resulting `countryCallingCode` from them, or anything like that.
|
|
26483
|
+
defaultCountry,
|
|
26484
|
+
defaultCallingCode,
|
|
26485
|
+
metadata2.metadata
|
|
26486
|
+
), countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource, countryCallingCode = _extractCountryCallin.countryCallingCode, number2 = _extractCountryCallin.number;
|
|
25783
26487
|
var country;
|
|
25784
26488
|
if (countryCallingCode) {
|
|
25785
26489
|
metadata2.selectNumberingPlan(countryCallingCode);
|
|
25786
26490
|
} else if (number2 && (defaultCountry || defaultCallingCode)) {
|
|
25787
|
-
metadata2.selectNumberingPlan(defaultCountry, defaultCallingCode);
|
|
25788
26491
|
if (defaultCountry) {
|
|
25789
26492
|
country = defaultCountry;
|
|
26493
|
+
metadata2.selectNumberingPlan(defaultCountry);
|
|
26494
|
+
countryCallingCode = metadata2.numberingPlan.callingCode();
|
|
26495
|
+
} else {
|
|
26496
|
+
metadata2.selectNumberingPlan(defaultCallingCode);
|
|
26497
|
+
countryCallingCode = defaultCallingCode;
|
|
25790
26498
|
}
|
|
25791
|
-
countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata2.metadata);
|
|
25792
26499
|
} else return {};
|
|
25793
26500
|
if (!number2) {
|
|
25794
26501
|
return {
|
|
@@ -25796,7 +26503,7 @@ function parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCalling
|
|
|
25796
26503
|
countryCallingCode
|
|
25797
26504
|
};
|
|
25798
26505
|
}
|
|
25799
|
-
var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number2),
|
|
26506
|
+
var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number2), void 0, metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;
|
|
25800
26507
|
var exactCountry = getCountryByCallingCode(countryCallingCode, {
|
|
25801
26508
|
nationalNumber,
|
|
25802
26509
|
metadata: metadata2
|
|
@@ -26835,7 +27542,7 @@ const _SlidCaptchaManager = class _SlidCaptchaManager {
|
|
|
26835
27542
|
__publicField(_SlidCaptchaManager, "instance");
|
|
26836
27543
|
let SlidCaptchaManager = _SlidCaptchaManager;
|
|
26837
27544
|
const slidCaptchaManager = SlidCaptchaManager.getInstance();
|
|
26838
|
-
const SlidCaptcha = defineAsyncComponent(() => import("./index-
|
|
27545
|
+
const SlidCaptcha = defineAsyncComponent(() => import("./index-CH0gI_tL.js"));
|
|
26839
27546
|
const useSlidCaptcha = () => {
|
|
26840
27547
|
const { mount, unMount, isMounted } = usePopup("slid-captcha-popup");
|
|
26841
27548
|
const open = (config) => {
|
|
@@ -26865,7 +27572,7 @@ const useSlidCaptcha = () => {
|
|
|
26865
27572
|
close
|
|
26866
27573
|
};
|
|
26867
27574
|
};
|
|
26868
|
-
const YunpianCaptcha = defineAsyncComponent(() => import("./index-
|
|
27575
|
+
const YunpianCaptcha = defineAsyncComponent(() => import("./index-DFsuUGSz.js"));
|
|
26869
27576
|
const useYunpianCaptcha = () => {
|
|
26870
27577
|
const { mount, unMount } = usePopup("yunpian-captcha-popup");
|
|
26871
27578
|
const open = (config) => {
|
|
@@ -27289,7 +27996,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
27289
27996
|
class: normalizeClass(["g-data-panel i-data-panel", { "g-card": __props.card, "g-border": __props.border }])
|
|
27290
27997
|
}, [
|
|
27291
27998
|
renderSlot(_ctx.$slots, "header", {}, void 0, true),
|
|
27292
|
-
__props.loading ? renderSlot(_ctx.$slots, "loading", {
|
|
27999
|
+
__props.loading ? renderSlot(_ctx.$slots, "loading", {}, () => [
|
|
27293
28000
|
__props.skeleton ? (openBlock(), createBlock(unref(Skeleton), {
|
|
27294
28001
|
key: 0,
|
|
27295
28002
|
class: "data-panel__skeleton",
|
|
@@ -27299,7 +28006,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
27299
28006
|
name: "loading",
|
|
27300
28007
|
class: "data-panel__content-loading"
|
|
27301
28008
|
})) : createCommentVNode("", true)
|
|
27302
|
-
], true) : renderSlot(_ctx.$slots, "default", {
|
|
28009
|
+
], true, 0) : renderSlot(_ctx.$slots, "default", {}, void 0, true, 1)
|
|
27303
28010
|
], 2);
|
|
27304
28011
|
};
|
|
27305
28012
|
}
|
|
@@ -29846,43 +30553,44 @@ const index = {
|
|
|
29846
30553
|
}
|
|
29847
30554
|
};
|
|
29848
30555
|
export {
|
|
29849
|
-
|
|
29850
|
-
|
|
29851
|
-
|
|
29852
|
-
|
|
29853
|
-
|
|
30556
|
+
HomeHeaderActions as $,
|
|
30557
|
+
isZh as A,
|
|
30558
|
+
ThemeType as B,
|
|
30559
|
+
currentTheme as C,
|
|
30560
|
+
LANG_EN as D,
|
|
29854
30561
|
EVENT_NAME as E,
|
|
29855
|
-
|
|
30562
|
+
getLocaleLang as F,
|
|
29856
30563
|
GIcon as G,
|
|
29857
|
-
|
|
29858
|
-
|
|
29859
|
-
|
|
29860
|
-
|
|
30564
|
+
emitEvent as H,
|
|
30565
|
+
ASIDE_MENU_REPO as I,
|
|
30566
|
+
isHttps as J,
|
|
30567
|
+
navigateWithMigrationGuard as K,
|
|
29861
30568
|
LANG_ZH as L,
|
|
29862
|
-
|
|
29863
|
-
|
|
29864
|
-
|
|
29865
|
-
|
|
29866
|
-
|
|
30569
|
+
asideRequest as M,
|
|
30570
|
+
_sfc_main$M as N,
|
|
30571
|
+
loadAsideData as O,
|
|
30572
|
+
AsideFooterTools as P,
|
|
30573
|
+
AtomCodeLauncher as Q,
|
|
29867
30574
|
REPO_MODULE as R,
|
|
29868
|
-
|
|
30575
|
+
EnterpriseHeader as S,
|
|
29869
30576
|
TOPIC_TYPE as T,
|
|
29870
|
-
|
|
29871
|
-
|
|
30577
|
+
GitCodeAside as U,
|
|
30578
|
+
GitCodeAsideV2 as V,
|
|
29872
30579
|
GitCodeHeader as W,
|
|
29873
|
-
|
|
29874
|
-
|
|
30580
|
+
GitCodeLayoutEmitter as X,
|
|
30581
|
+
HEADER_CREATE_MENU_PATHS as Y,
|
|
29875
30582
|
HeaderCreateMenu as Z,
|
|
29876
30583
|
_export_sfc as _,
|
|
29877
30584
|
i18n as a,
|
|
29878
|
-
|
|
29879
|
-
|
|
29880
|
-
|
|
29881
|
-
|
|
29882
|
-
|
|
29883
|
-
|
|
29884
|
-
|
|
29885
|
-
|
|
30585
|
+
_sfc_main as a0,
|
|
30586
|
+
SceneValue as a1,
|
|
30587
|
+
ScrollActiveContainer as a2,
|
|
30588
|
+
SiteAnnouncement as a3,
|
|
30589
|
+
ToolsFloat as a4,
|
|
30590
|
+
index as a5,
|
|
30591
|
+
setLayoutConfig as a6,
|
|
30592
|
+
setTheme as a7,
|
|
30593
|
+
useLogin as a8,
|
|
29886
30594
|
REPO_EVENT as b,
|
|
29887
30595
|
REPO_TYPE as c,
|
|
29888
30596
|
transferNumber as d,
|
|
@@ -29895,17 +30603,17 @@ export {
|
|
|
29895
30603
|
usePageResize as k,
|
|
29896
30604
|
localStorage$2 as l,
|
|
29897
30605
|
isGstarRepo as m,
|
|
29898
|
-
|
|
29899
|
-
|
|
29900
|
-
|
|
29901
|
-
|
|
30606
|
+
normalizeSearchHistoryEntry as n,
|
|
30607
|
+
_sfc_main$L as o,
|
|
30608
|
+
isIncubationRepo as p,
|
|
30609
|
+
highlightWords as q,
|
|
29902
30610
|
reqCatch as r,
|
|
29903
30611
|
setLoginTriggerSource as s,
|
|
29904
30612
|
transformUrl as t,
|
|
29905
30613
|
useModel as u,
|
|
29906
30614
|
vElementExposure as v,
|
|
29907
|
-
|
|
29908
|
-
|
|
29909
|
-
|
|
29910
|
-
|
|
30615
|
+
_frEventTrack as w,
|
|
30616
|
+
LANG_KEY as x,
|
|
30617
|
+
slidCaptchaManager as y,
|
|
30618
|
+
useLayoutConfig as z
|
|
29911
30619
|
};
|