vue-layout-gitcode 1.12.53 → 1.12.54

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.
@@ -1,7 +1,7 @@
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 { reactive, readonly, inject, effectScope, ref, shallowRef, computed, watch, isRef, defineComponent, getCurrentInstance, h, Fragment, onBeforeMount, onMounted, onUnmounted, createVNode, Text, provide, createElementBlock, openBlock, createCommentVNode, Transition, withCtx, unref, normalizeClass, createElementVNode, toDisplayString as toDisplayString$1, createStaticVNode, withModifiers, createBlock, normalizeProps, mergeProps, renderSlot, normalizeStyle, resolveComponent, watchEffect, renderList, createTextVNode, nextTick, resolveDirective, withDirectives, onBeforeUnmount, guardReactiveProps, markRaw, resolveDynamicComponent, useAttrs, defineAsyncComponent, vShow, withKeys, useCssVars, createSlots, render, toRaw, mergeModels, useModel as useModel$1, watchPostEffect, useSlots } from "vue";
4
+ import { reactive, readonly, inject, effectScope, computed, watch, isRef, getCurrentInstance, ref, shallowRef, defineComponent, h, Fragment, onBeforeMount, onMounted, onUnmounted, createVNode, Text, provide, openBlock, createElementBlock, Transition, withCtx, unref, normalizeClass, createElementVNode, toDisplayString as toDisplayString$1, createCommentVNode, createStaticVNode, withModifiers, createBlock, normalizeProps, mergeProps, renderSlot, normalizeStyle, resolveComponent, watchEffect, renderList, createTextVNode, nextTick, resolveDirective, withDirectives, onBeforeUnmount, guardReactiveProps, markRaw, resolveDynamicComponent, useAttrs, defineAsyncComponent, vShow, withKeys, useCssVars, createSlots, render, toRaw, useModel as useModel$1, mergeModels, watchPostEffect, useSlots } from "vue";
5
5
  import axios from "axios";
6
6
  import { useRouter, useRoute, createRouter, createWebHistory, createMemoryHistory } from "vue-router";
7
7
  import { Icon } from "vue-devui-lal/icon";
@@ -520,96 +520,117 @@ const LOGO_MAP = {
520
520
  aiLogoDark: "https://cdn-static.gitcode.com/static/images/gitcode-ai-logo-dark_atomgit.png"
521
521
  }
522
522
  };
523
- /*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */
524
- const {
525
- entries,
526
- setPrototypeOf,
527
- isFrozen,
528
- getPrototypeOf,
529
- getOwnPropertyDescriptor
530
- } = Object;
531
- let {
532
- freeze,
533
- seal,
534
- create: create$1
535
- } = Object;
536
- let {
537
- apply: apply$1,
538
- construct
539
- } = typeof Reflect !== "undefined" && Reflect;
540
- if (!freeze) {
541
- freeze = function freeze2(x) {
542
- return x;
543
- };
523
+ /*! @license DOMPurify 3.4.16 | (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.16/LICENSE */
524
+ function _arrayLikeToArray$4(r, a) {
525
+ (null == a || a > r.length) && (a = r.length);
526
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
527
+ return n;
544
528
  }
545
- if (!seal) {
546
- seal = function seal2(x) {
547
- return x;
548
- };
529
+ function _arrayWithHoles$1(r) {
530
+ if (Array.isArray(r)) return r;
549
531
  }
550
- if (!apply$1) {
551
- apply$1 = function apply2(func, thisArg) {
552
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
553
- args[_key - 2] = arguments[_key];
532
+ function _iterableToArrayLimit$1(r, l) {
533
+ var t2 = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
534
+ if (null != t2) {
535
+ var e, n, i, u, a = [], f = true, o = false;
536
+ try {
537
+ if (i = (t2 = t2.call(r)).next, 0 === l) ;
538
+ else for (; !(f = (e = i.call(t2)).done) && (a.push(e.value), a.length !== l); f = true) ;
539
+ } catch (r2) {
540
+ o = true, n = r2;
541
+ } finally {
542
+ try {
543
+ if (!f && null != t2.return && (u = t2.return(), Object(u) !== u)) return;
544
+ } finally {
545
+ if (o) throw n;
546
+ }
554
547
  }
555
- return func.apply(thisArg, args);
556
- };
548
+ return a;
549
+ }
557
550
  }
558
- if (!construct) {
559
- construct = function construct2(Func) {
560
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
561
- args[_key2 - 1] = arguments[_key2];
562
- }
563
- return new Func(...args);
564
- };
551
+ function _nonIterableRest$1() {
552
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
553
+ }
554
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
555
+ function _slicedToArray$1(r, e) {
556
+ return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$4(r, e) || _nonIterableRest$1();
565
557
  }
558
+ function _unsupportedIterableToArray$4(r, a) {
559
+ if (r) {
560
+ if ("string" == typeof r) return _arrayLikeToArray$4(r, a);
561
+ var t2 = {}.toString.call(r).slice(8, -1);
562
+ 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;
563
+ }
564
+ }
565
+ const entries = Object.entries;
566
+ const setPrototypeOf = Object.setPrototypeOf;
567
+ const isFrozen = Object.isFrozen;
568
+ const getPrototypeOf = Object.getPrototypeOf;
569
+ const getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
570
+ let freeze = Object.freeze;
571
+ let seal = Object.seal;
572
+ let create$1 = Object.create;
573
+ let _ref = typeof Reflect !== "undefined" && Reflect;
574
+ let apply$1 = _ref.apply;
575
+ let construct = _ref.construct;
576
+ if (!freeze) freeze = function freeze2(x) {
577
+ return x;
578
+ };
579
+ if (!seal) seal = function seal2(x) {
580
+ return x;
581
+ };
582
+ if (!apply$1) apply$1 = function apply(func, thisArg) {
583
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];
584
+ return func.apply(thisArg, args);
585
+ };
586
+ if (!construct) construct = function construct2(Func) {
587
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2];
588
+ return new Func(...args);
589
+ };
566
590
  const arrayForEach = unapply(Array.prototype.forEach);
567
591
  const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
568
592
  const arrayPop = unapply(Array.prototype.pop);
569
593
  const arrayPush = unapply(Array.prototype.push);
570
594
  const arraySplice = unapply(Array.prototype.splice);
595
+ const arrayIsArray = Array.isArray;
571
596
  const stringToLowerCase = unapply(String.prototype.toLowerCase);
572
597
  const stringToString = unapply(String.prototype.toString);
573
598
  const stringMatch = unapply(String.prototype.match);
574
599
  const stringReplace = unapply(String.prototype.replace);
575
600
  const stringIndexOf = unapply(String.prototype.indexOf);
576
601
  const stringTrim = unapply(String.prototype.trim);
602
+ const numberToString = unapply(Number.prototype.toString);
603
+ const booleanToString = unapply(Boolean.prototype.toString);
604
+ const bigintToString = typeof BigInt === "undefined" ? null : unapply(BigInt.prototype.toString);
605
+ const symbolToString = typeof Symbol === "undefined" ? null : unapply(Symbol.prototype.toString);
577
606
  const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
607
+ const objectToString$1 = unapply(Object.prototype.toString);
578
608
  const regExpTest = unapply(RegExp.prototype.test);
579
609
  const typeErrorCreate = unconstruct(TypeError);
580
610
  function unapply(func) {
581
611
  return function(thisArg) {
582
- if (thisArg instanceof RegExp) {
583
- thisArg.lastIndex = 0;
584
- }
585
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
586
- args[_key3 - 1] = arguments[_key3];
587
- }
612
+ if (thisArg instanceof RegExp) thisArg.lastIndex = 0;
613
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];
588
614
  return apply$1(func, thisArg, args);
589
615
  };
590
616
  }
591
617
  function unconstruct(Func) {
592
618
  return function() {
593
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
594
- args[_key4] = arguments[_key4];
595
- }
619
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];
596
620
  return construct(Func, args);
597
621
  };
598
622
  }
599
623
  function addToSet(set, array) {
600
624
  let transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase;
601
- if (setPrototypeOf) {
602
- setPrototypeOf(set, null);
603
- }
625
+ if (setPrototypeOf) setPrototypeOf(set, null);
626
+ if (!arrayIsArray(array)) return set;
604
627
  let l = array.length;
605
628
  while (l--) {
606
629
  let element = array[l];
607
630
  if (typeof element === "string") {
608
631
  const lcElement = transformCaseFunc(element);
609
632
  if (lcElement !== element) {
610
- if (!isFrozen(array)) {
611
- array[l] = lcElement;
612
- }
633
+ if (!isFrozen(array)) array[l] = lcElement;
613
634
  element = lcElement;
614
635
  }
615
636
  }
@@ -618,40 +639,58 @@ function addToSet(set, array) {
618
639
  return set;
619
640
  }
620
641
  function cleanArray(array) {
621
- for (let index2 = 0; index2 < array.length; index2++) {
622
- const isPropertyExist = objectHasOwnProperty(array, index2);
623
- if (!isPropertyExist) {
624
- array[index2] = null;
625
- }
626
- }
642
+ for (let index2 = 0; index2 < array.length; index2++) if (!objectHasOwnProperty(array, index2)) array[index2] = null;
627
643
  return array;
628
644
  }
629
645
  function clone(object) {
630
646
  const newObject = create$1(null);
631
- for (const [property, value] of entries(object)) {
632
- const isPropertyExist = objectHasOwnProperty(object, property);
633
- if (isPropertyExist) {
634
- if (Array.isArray(value)) {
635
- newObject[property] = cleanArray(value);
636
- } else if (value && typeof value === "object" && value.constructor === Object) {
637
- newObject[property] = clone(value);
638
- } else {
639
- newObject[property] = value;
640
- }
647
+ for (const _ref2 of entries(object)) {
648
+ var _ref3 = _slicedToArray$1(_ref2, 2);
649
+ const property = _ref3[0];
650
+ const value = _ref3[1];
651
+ if (objectHasOwnProperty(object, property)) {
652
+ if (arrayIsArray(value)) newObject[property] = cleanArray(value);
653
+ else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
654
+ else newObject[property] = value;
641
655
  }
642
656
  }
643
657
  return newObject;
644
658
  }
659
+ function stringifyValue(value) {
660
+ switch (typeof value) {
661
+ case "string":
662
+ return value;
663
+ case "number":
664
+ return numberToString(value);
665
+ case "boolean":
666
+ return booleanToString(value);
667
+ case "bigint":
668
+ return bigintToString ? bigintToString(value) : "0";
669
+ case "symbol":
670
+ return symbolToString ? symbolToString(value) : "Symbol()";
671
+ case "undefined":
672
+ return objectToString$1(value);
673
+ case "function":
674
+ case "object": {
675
+ if (value === null) return objectToString$1(value);
676
+ const valueAsRecord = value;
677
+ const valueToString = lookupGetter(valueAsRecord, "toString");
678
+ if (typeof valueToString === "function") {
679
+ const stringified = valueToString(valueAsRecord);
680
+ return typeof stringified === "string" ? stringified : objectToString$1(stringified);
681
+ }
682
+ return objectToString$1(value);
683
+ }
684
+ default:
685
+ return objectToString$1(value);
686
+ }
687
+ }
645
688
  function lookupGetter(object, prop) {
646
689
  while (object !== null) {
647
690
  const desc = getOwnPropertyDescriptor(object, prop);
648
691
  if (desc) {
649
- if (desc.get) {
650
- return unapply(desc.get);
651
- }
652
- if (typeof desc.value === "function") {
653
- return unapply(desc.value);
654
- }
692
+ if (desc.get) return unapply(desc.get);
693
+ if (typeof desc.value === "function") return unapply(desc.value);
655
694
  }
656
695
  object = getPrototypeOf(object);
657
696
  }
@@ -660,66 +699,716 @@ function lookupGetter(object, prop) {
660
699
  }
661
700
  return fallbackValue;
662
701
  }
663
- 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"]);
664
- 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"]);
665
- 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"]);
666
- const svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]);
667
- 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"]);
668
- const mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]);
702
+ function isRegex(value) {
703
+ try {
704
+ regExpTest(value, "");
705
+ return true;
706
+ } catch (_unused) {
707
+ return false;
708
+ }
709
+ }
710
+ const html$1 = freeze([
711
+ "a",
712
+ "abbr",
713
+ "acronym",
714
+ "address",
715
+ "area",
716
+ "article",
717
+ "aside",
718
+ "audio",
719
+ "b",
720
+ "bdi",
721
+ "bdo",
722
+ "big",
723
+ "blink",
724
+ "blockquote",
725
+ "body",
726
+ "br",
727
+ "button",
728
+ "canvas",
729
+ "caption",
730
+ "center",
731
+ "cite",
732
+ "code",
733
+ "col",
734
+ "colgroup",
735
+ "content",
736
+ "data",
737
+ "datalist",
738
+ "dd",
739
+ "decorator",
740
+ "del",
741
+ "details",
742
+ "dfn",
743
+ "dialog",
744
+ "dir",
745
+ "div",
746
+ "dl",
747
+ "dt",
748
+ "element",
749
+ "em",
750
+ "fieldset",
751
+ "figcaption",
752
+ "figure",
753
+ "font",
754
+ "footer",
755
+ "form",
756
+ "h1",
757
+ "h2",
758
+ "h3",
759
+ "h4",
760
+ "h5",
761
+ "h6",
762
+ "head",
763
+ "header",
764
+ "hgroup",
765
+ "hr",
766
+ "html",
767
+ "i",
768
+ "img",
769
+ "input",
770
+ "ins",
771
+ "kbd",
772
+ "label",
773
+ "legend",
774
+ "li",
775
+ "main",
776
+ "map",
777
+ "mark",
778
+ "marquee",
779
+ "menu",
780
+ "menuitem",
781
+ "meter",
782
+ "nav",
783
+ "nobr",
784
+ "ol",
785
+ "optgroup",
786
+ "option",
787
+ "output",
788
+ "p",
789
+ "picture",
790
+ "pre",
791
+ "progress",
792
+ "q",
793
+ "rp",
794
+ "rt",
795
+ "ruby",
796
+ "s",
797
+ "samp",
798
+ "search",
799
+ "section",
800
+ "select",
801
+ "shadow",
802
+ "slot",
803
+ "small",
804
+ "source",
805
+ "spacer",
806
+ "span",
807
+ "strike",
808
+ "strong",
809
+ "style",
810
+ "sub",
811
+ "summary",
812
+ "sup",
813
+ "table",
814
+ "tbody",
815
+ "td",
816
+ "template",
817
+ "textarea",
818
+ "tfoot",
819
+ "th",
820
+ "thead",
821
+ "time",
822
+ "tr",
823
+ "track",
824
+ "tt",
825
+ "u",
826
+ "ul",
827
+ "var",
828
+ "video",
829
+ "wbr"
830
+ ]);
831
+ const svg$1 = freeze([
832
+ "svg",
833
+ "a",
834
+ "altglyph",
835
+ "altglyphdef",
836
+ "altglyphitem",
837
+ "animatecolor",
838
+ "animatemotion",
839
+ "animatetransform",
840
+ "circle",
841
+ "clippath",
842
+ "defs",
843
+ "desc",
844
+ "ellipse",
845
+ "enterkeyhint",
846
+ "exportparts",
847
+ "filter",
848
+ "font",
849
+ "g",
850
+ "glyph",
851
+ "glyphref",
852
+ "hkern",
853
+ "image",
854
+ "inputmode",
855
+ "line",
856
+ "lineargradient",
857
+ "marker",
858
+ "mask",
859
+ "metadata",
860
+ "mpath",
861
+ "part",
862
+ "path",
863
+ "pattern",
864
+ "polygon",
865
+ "polyline",
866
+ "radialgradient",
867
+ "rect",
868
+ "stop",
869
+ "style",
870
+ "switch",
871
+ "symbol",
872
+ "text",
873
+ "textpath",
874
+ "title",
875
+ "tref",
876
+ "tspan",
877
+ "view",
878
+ "vkern"
879
+ ]);
880
+ const svgFilters = freeze([
881
+ "feBlend",
882
+ "feColorMatrix",
883
+ "feComponentTransfer",
884
+ "feComposite",
885
+ "feConvolveMatrix",
886
+ "feDiffuseLighting",
887
+ "feDisplacementMap",
888
+ "feDistantLight",
889
+ "feDropShadow",
890
+ "feFlood",
891
+ "feFuncA",
892
+ "feFuncB",
893
+ "feFuncG",
894
+ "feFuncR",
895
+ "feGaussianBlur",
896
+ "feImage",
897
+ "feMerge",
898
+ "feMergeNode",
899
+ "feMorphology",
900
+ "feOffset",
901
+ "fePointLight",
902
+ "feSpecularLighting",
903
+ "feSpotLight",
904
+ "feTile",
905
+ "feTurbulence"
906
+ ]);
907
+ const svgDisallowed = freeze([
908
+ "animate",
909
+ "color-profile",
910
+ "cursor",
911
+ "discard",
912
+ "font-face",
913
+ "font-face-format",
914
+ "font-face-name",
915
+ "font-face-src",
916
+ "font-face-uri",
917
+ "foreignobject",
918
+ "hatch",
919
+ "hatchpath",
920
+ "mesh",
921
+ "meshgradient",
922
+ "meshpatch",
923
+ "meshrow",
924
+ "missing-glyph",
925
+ "script",
926
+ "set",
927
+ "solidcolor",
928
+ "unknown",
929
+ "use"
930
+ ]);
931
+ const mathMl$1 = freeze([
932
+ "math",
933
+ "menclose",
934
+ "merror",
935
+ "mfenced",
936
+ "mfrac",
937
+ "mglyph",
938
+ "mi",
939
+ "mlabeledtr",
940
+ "mmultiscripts",
941
+ "mn",
942
+ "mo",
943
+ "mover",
944
+ "mpadded",
945
+ "mphantom",
946
+ "mroot",
947
+ "mrow",
948
+ "ms",
949
+ "mspace",
950
+ "msqrt",
951
+ "mstyle",
952
+ "msub",
953
+ "msup",
954
+ "msubsup",
955
+ "mtable",
956
+ "mtd",
957
+ "mtext",
958
+ "mtr",
959
+ "munder",
960
+ "munderover",
961
+ "mprescripts"
962
+ ]);
963
+ const mathMlDisallowed = freeze([
964
+ "maction",
965
+ "maligngroup",
966
+ "malignmark",
967
+ "mlongdiv",
968
+ "mscarries",
969
+ "mscarry",
970
+ "msgroup",
971
+ "mstack",
972
+ "msline",
973
+ "msrow",
974
+ "semantics",
975
+ "annotation",
976
+ "annotation-xml",
977
+ "mprescripts",
978
+ "none"
979
+ ]);
669
980
  const text = freeze(["#text"]);
670
- 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", "slot"]);
671
- 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"]);
672
- const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "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"]);
673
- const xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]);
674
- const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
675
- const ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
676
- const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
981
+ const html = freeze([
982
+ "accept",
983
+ "action",
984
+ "align",
985
+ "alt",
986
+ "autocapitalize",
987
+ "autocomplete",
988
+ "autopictureinpicture",
989
+ "autoplay",
990
+ "background",
991
+ "bgcolor",
992
+ "border",
993
+ "capture",
994
+ "cellpadding",
995
+ "cellspacing",
996
+ "checked",
997
+ "cite",
998
+ "class",
999
+ "clear",
1000
+ "color",
1001
+ "cols",
1002
+ "colspan",
1003
+ "command",
1004
+ "commandfor",
1005
+ "controls",
1006
+ "controlslist",
1007
+ "coords",
1008
+ "crossorigin",
1009
+ "datetime",
1010
+ "decoding",
1011
+ "default",
1012
+ "dir",
1013
+ "disabled",
1014
+ "disablepictureinpicture",
1015
+ "disableremoteplayback",
1016
+ "download",
1017
+ "draggable",
1018
+ "enctype",
1019
+ "enterkeyhint",
1020
+ "exportparts",
1021
+ "face",
1022
+ "for",
1023
+ "headers",
1024
+ "height",
1025
+ "hidden",
1026
+ "high",
1027
+ "href",
1028
+ "hreflang",
1029
+ "id",
1030
+ "inert",
1031
+ "inputmode",
1032
+ "integrity",
1033
+ "ismap",
1034
+ "kind",
1035
+ "label",
1036
+ "lang",
1037
+ "list",
1038
+ "loading",
1039
+ "loop",
1040
+ "low",
1041
+ "max",
1042
+ "maxlength",
1043
+ "media",
1044
+ "method",
1045
+ "min",
1046
+ "minlength",
1047
+ "multiple",
1048
+ "muted",
1049
+ "name",
1050
+ "nonce",
1051
+ "noshade",
1052
+ "novalidate",
1053
+ "nowrap",
1054
+ "open",
1055
+ "optimum",
1056
+ "part",
1057
+ "pattern",
1058
+ "placeholder",
1059
+ "playsinline",
1060
+ "popover",
1061
+ "popovertarget",
1062
+ "popovertargetaction",
1063
+ "poster",
1064
+ "preload",
1065
+ "pubdate",
1066
+ "radiogroup",
1067
+ "readonly",
1068
+ "rel",
1069
+ "required",
1070
+ "rev",
1071
+ "reversed",
1072
+ "role",
1073
+ "rows",
1074
+ "rowspan",
1075
+ "spellcheck",
1076
+ "scope",
1077
+ "selected",
1078
+ "shape",
1079
+ "size",
1080
+ "sizes",
1081
+ "slot",
1082
+ "span",
1083
+ "srclang",
1084
+ "start",
1085
+ "src",
1086
+ "srcset",
1087
+ "step",
1088
+ "style",
1089
+ "summary",
1090
+ "tabindex",
1091
+ "title",
1092
+ "translate",
1093
+ "type",
1094
+ "usemap",
1095
+ "valign",
1096
+ "value",
1097
+ "width",
1098
+ "wrap",
1099
+ "xmlns"
1100
+ ]);
1101
+ const svg = freeze([
1102
+ "accent-height",
1103
+ "accumulate",
1104
+ "additive",
1105
+ "alignment-baseline",
1106
+ "amplitude",
1107
+ "ascent",
1108
+ "attributename",
1109
+ "attributetype",
1110
+ "azimuth",
1111
+ "basefrequency",
1112
+ "baseline-shift",
1113
+ "begin",
1114
+ "bias",
1115
+ "by",
1116
+ "class",
1117
+ "clip",
1118
+ "clippathunits",
1119
+ "clip-path",
1120
+ "clip-rule",
1121
+ "color",
1122
+ "color-interpolation",
1123
+ "color-interpolation-filters",
1124
+ "color-profile",
1125
+ "color-rendering",
1126
+ "cx",
1127
+ "cy",
1128
+ "d",
1129
+ "dx",
1130
+ "dy",
1131
+ "diffuseconstant",
1132
+ "direction",
1133
+ "display",
1134
+ "divisor",
1135
+ "dominant-baseline",
1136
+ "dur",
1137
+ "edgemode",
1138
+ "elevation",
1139
+ "end",
1140
+ "exponent",
1141
+ "fill",
1142
+ "fill-opacity",
1143
+ "fill-rule",
1144
+ "filter",
1145
+ "filterunits",
1146
+ "flood-color",
1147
+ "flood-opacity",
1148
+ "font-family",
1149
+ "font-size",
1150
+ "font-size-adjust",
1151
+ "font-stretch",
1152
+ "font-style",
1153
+ "font-variant",
1154
+ "font-weight",
1155
+ "fx",
1156
+ "fy",
1157
+ "g1",
1158
+ "g2",
1159
+ "glyph-name",
1160
+ "glyphref",
1161
+ "gradientunits",
1162
+ "gradienttransform",
1163
+ "height",
1164
+ "href",
1165
+ "id",
1166
+ "image-rendering",
1167
+ "in",
1168
+ "in2",
1169
+ "intercept",
1170
+ "k",
1171
+ "k1",
1172
+ "k2",
1173
+ "k3",
1174
+ "k4",
1175
+ "kerning",
1176
+ "keypoints",
1177
+ "keysplines",
1178
+ "keytimes",
1179
+ "lang",
1180
+ "lengthadjust",
1181
+ "letter-spacing",
1182
+ "kernelmatrix",
1183
+ "kernelunitlength",
1184
+ "lighting-color",
1185
+ "local",
1186
+ "marker-end",
1187
+ "marker-mid",
1188
+ "marker-start",
1189
+ "markerheight",
1190
+ "markerunits",
1191
+ "markerwidth",
1192
+ "maskcontentunits",
1193
+ "maskunits",
1194
+ "max",
1195
+ "mask",
1196
+ "mask-type",
1197
+ "media",
1198
+ "method",
1199
+ "mode",
1200
+ "min",
1201
+ "name",
1202
+ "numoctaves",
1203
+ "offset",
1204
+ "operator",
1205
+ "opacity",
1206
+ "order",
1207
+ "orient",
1208
+ "orientation",
1209
+ "origin",
1210
+ "overflow",
1211
+ "paint-order",
1212
+ "path",
1213
+ "pathlength",
1214
+ "patterncontentunits",
1215
+ "patterntransform",
1216
+ "patternunits",
1217
+ "pointer-events",
1218
+ "points",
1219
+ "preservealpha",
1220
+ "preserveaspectratio",
1221
+ "primitiveunits",
1222
+ "r",
1223
+ "rx",
1224
+ "ry",
1225
+ "radius",
1226
+ "refx",
1227
+ "refy",
1228
+ "repeatcount",
1229
+ "repeatdur",
1230
+ "restart",
1231
+ "result",
1232
+ "rotate",
1233
+ "scale",
1234
+ "seed",
1235
+ "shape-rendering",
1236
+ "slope",
1237
+ "specularconstant",
1238
+ "specularexponent",
1239
+ "spreadmethod",
1240
+ "startoffset",
1241
+ "stddeviation",
1242
+ "stitchtiles",
1243
+ "stop-color",
1244
+ "stop-opacity",
1245
+ "stroke-dasharray",
1246
+ "stroke-dashoffset",
1247
+ "stroke-linecap",
1248
+ "stroke-linejoin",
1249
+ "stroke-miterlimit",
1250
+ "stroke-opacity",
1251
+ "stroke",
1252
+ "stroke-width",
1253
+ "style",
1254
+ "surfacescale",
1255
+ "systemlanguage",
1256
+ "tabindex",
1257
+ "tablevalues",
1258
+ "targetx",
1259
+ "targety",
1260
+ "transform",
1261
+ "transform-origin",
1262
+ "text-anchor",
1263
+ "text-decoration",
1264
+ "text-orientation",
1265
+ "text-rendering",
1266
+ "textlength",
1267
+ "type",
1268
+ "u1",
1269
+ "u2",
1270
+ "unicode",
1271
+ "values",
1272
+ "vector-effect",
1273
+ "viewbox",
1274
+ "visibility",
1275
+ "version",
1276
+ "vert-adv-y",
1277
+ "vert-origin-x",
1278
+ "vert-origin-y",
1279
+ "width",
1280
+ "word-spacing",
1281
+ "wrap",
1282
+ "writing-mode",
1283
+ "xchannelselector",
1284
+ "ychannelselector",
1285
+ "x",
1286
+ "x1",
1287
+ "x2",
1288
+ "xmlns",
1289
+ "y",
1290
+ "y1",
1291
+ "y2",
1292
+ "z",
1293
+ "zoomandpan"
1294
+ ]);
1295
+ const mathMl = freeze([
1296
+ "accent",
1297
+ "accentunder",
1298
+ "align",
1299
+ "bevelled",
1300
+ "close",
1301
+ "columnalign",
1302
+ "columnlines",
1303
+ "columnspacing",
1304
+ "columnspan",
1305
+ "denomalign",
1306
+ "depth",
1307
+ "dir",
1308
+ "display",
1309
+ "displaystyle",
1310
+ "encoding",
1311
+ "fence",
1312
+ "frame",
1313
+ "height",
1314
+ "href",
1315
+ "id",
1316
+ "largeop",
1317
+ "length",
1318
+ "linethickness",
1319
+ "lquote",
1320
+ "lspace",
1321
+ "mathbackground",
1322
+ "mathcolor",
1323
+ "mathsize",
1324
+ "mathvariant",
1325
+ "maxsize",
1326
+ "minsize",
1327
+ "movablelimits",
1328
+ "notation",
1329
+ "numalign",
1330
+ "open",
1331
+ "rowalign",
1332
+ "rowlines",
1333
+ "rowspacing",
1334
+ "rowspan",
1335
+ "rspace",
1336
+ "rquote",
1337
+ "scriptlevel",
1338
+ "scriptminsize",
1339
+ "scriptsizemultiplier",
1340
+ "selection",
1341
+ "separator",
1342
+ "separators",
1343
+ "stretchy",
1344
+ "subscriptshift",
1345
+ "supscriptshift",
1346
+ "symmetric",
1347
+ "voffset",
1348
+ "width",
1349
+ "xmlns"
1350
+ ]);
1351
+ const xml = freeze([
1352
+ "xlink:href",
1353
+ "xml:id",
1354
+ "xlink:title",
1355
+ "xml:space",
1356
+ "xmlns:xlink"
1357
+ ]);
1358
+ const MUSTACHE_EXPR = seal(/{{[\w\W]*|^[\w\W]*}}/g);
1359
+ const ERB_EXPR = seal(/<%[\w\W]*|^[\w\W]*%>/g);
1360
+ const TMPLIT_EXPR = seal(/\${[\w\W]*/g);
677
1361
  const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
678
1362
  const ARIA_ATTR = seal(/^aria-[\-\w]+$/);
679
- const IS_ALLOWED_URI = seal(
680
- /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
681
- // eslint-disable-line no-useless-escape
682
- );
1363
+ const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);
683
1364
  const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
684
- const ATTR_WHITESPACE = seal(
685
- /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
686
- // eslint-disable-line no-control-regex
687
- );
1365
+ const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);
688
1366
  const DOCTYPE_NAME = seal(/^html$/i);
689
1367
  const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
690
- var EXPRESSIONS = /* @__PURE__ */ Object.freeze({
691
- __proto__: null,
692
- ARIA_ATTR,
693
- ATTR_WHITESPACE,
694
- CUSTOM_ELEMENT,
695
- DATA_ATTR,
696
- DOCTYPE_NAME,
697
- ERB_EXPR,
698
- IS_ALLOWED_URI,
699
- IS_SCRIPT_OR_DATA,
700
- MUSTACHE_EXPR,
701
- TMPLIT_EXPR
702
- });
1368
+ const ELEMENT_MARKUP_PROBE = seal(/<[/\w!]/g);
1369
+ const COMMENT_MARKUP_PROBE = seal(/<[/\w]/g);
1370
+ const FALLBACK_TAG_CLOSE = seal(/<\/no(script|embed|frames)/i);
1371
+ const SELF_CLOSING_TAG = seal(/\/>/i);
703
1372
  const NODE_TYPE = {
704
1373
  element: 1,
1374
+ attribute: 2,
705
1375
  text: 3,
706
- // Deprecated
707
- progressingInstruction: 7,
1376
+ cdataSection: 4,
1377
+ entityReference: 5,
1378
+ entityNode: 6,
1379
+ processingInstruction: 7,
708
1380
  comment: 8,
709
- document: 9
1381
+ document: 9,
1382
+ documentType: 10,
1383
+ documentFragment: 11,
1384
+ notation: 12
710
1385
  };
1386
+ const LITERAL_TEXT_ELEMENT_NAMES = [
1387
+ "style",
1388
+ "script",
1389
+ "xmp",
1390
+ "iframe",
1391
+ "noembed",
1392
+ "noframes",
1393
+ "plaintext",
1394
+ "noscript"
1395
+ ];
1396
+ const LITERAL_TEXT_ELEMENTS = freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));
1397
+ const LITERAL_TEXT_CLOSE = function() {
1398
+ const map = {};
1399
+ arrayForEach(LITERAL_TEXT_ELEMENT_NAMES, (name) => {
1400
+ map[name] = seal(new RegExp("</" + name + "(?=[\\t\\n\\f\\r />])", "i"));
1401
+ });
1402
+ return freeze(map);
1403
+ }();
711
1404
  const getGlobal = function getGlobal2() {
712
1405
  return typeof window === "undefined" ? null : window;
713
1406
  };
714
1407
  const _createTrustedTypesPolicy = function _createTrustedTypesPolicy2(trustedTypes, purifyHostElement) {
715
- if (typeof trustedTypes !== "object" || typeof trustedTypes.createPolicy !== "function") {
716
- return null;
717
- }
1408
+ if (typeof trustedTypes !== "object" || typeof trustedTypes.createPolicy !== "function") return null;
718
1409
  let suffix = null;
719
1410
  const ATTR_NAME = "data-tt-policy-suffix";
720
- if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {
721
- suffix = purifyHostElement.getAttribute(ATTR_NAME);
722
- }
1411
+ if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) suffix = purifyHostElement.getAttribute(ATTR_NAME);
723
1412
  const policyName = "dompurify" + (suffix ? "#" + suffix : "");
724
1413
  try {
725
1414
  return trustedTypes.createPolicy(policyName, {
@@ -748,73 +1437,106 @@ const _createHooksMap = function _createHooksMap2() {
748
1437
  uponSanitizeShadowNode: []
749
1438
  };
750
1439
  };
1440
+ const _resolveSetOption = function _resolveSetOption2(cfg, key, fallback, options) {
1441
+ return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;
1442
+ };
1443
+ const _resolveObjectOption = function _resolveObjectOption2(cfg, key, makeFallback) {
1444
+ const value = objectHasOwnProperty(cfg, key) ? cfg[key] : void 0;
1445
+ return value && typeof value === "object" ? clone(value) : makeFallback();
1446
+ };
751
1447
  function createDOMPurify() {
752
1448
  let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
753
1449
  const DOMPurify = (root) => createDOMPurify(root);
754
- DOMPurify.version = "3.3.1";
1450
+ DOMPurify.version = "3.4.16";
755
1451
  DOMPurify.removed = [];
756
1452
  if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
757
1453
  DOMPurify.isSupported = false;
758
1454
  return DOMPurify;
759
1455
  }
760
- let {
761
- document: document2
762
- } = window2;
1456
+ let document2 = window2.document;
763
1457
  const originalDocument = document2;
764
1458
  const currentScript = originalDocument.currentScript;
765
- const {
766
- DocumentFragment,
767
- HTMLTemplateElement,
768
- Node,
769
- Element,
770
- NodeFilter,
771
- NamedNodeMap = window2.NamedNodeMap || window2.MozNamedAttrMap,
772
- HTMLFormElement,
773
- DOMParser,
774
- trustedTypes
775
- } = window2;
1459
+ window2.DocumentFragment;
1460
+ const HTMLTemplateElement = window2.HTMLTemplateElement, Node = window2.Node, Element = window2.Element, NodeFilter = window2.NodeFilter;
1461
+ window2.NamedNodeMap === void 0 && (window2.NamedNodeMap || window2.MozNamedAttrMap);
1462
+ window2.HTMLFormElement;
1463
+ const DOMParser = window2.DOMParser, trustedTypes = window2.trustedTypes;
776
1464
  const ElementPrototype = Element.prototype;
777
1465
  const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
778
1466
  const remove = lookupGetter(ElementPrototype, "remove");
1467
+ const removeAttributeNode = lookupGetter(ElementPrototype, "removeAttributeNode");
779
1468
  const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
780
1469
  const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
781
1470
  const getParentNode = lookupGetter(ElementPrototype, "parentNode");
1471
+ const getShadowRoot = lookupGetter(ElementPrototype, "shadowRoot");
1472
+ const getAttributes = lookupGetter(ElementPrototype, "attributes");
1473
+ const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, "nodeType") : null;
1474
+ const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, "nodeName") : null;
1475
+ const getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, "ownerDocument") : null;
1476
+ const _readNodeType = function _readNodeType2(node) {
1477
+ return getNodeType ? getNodeType(node) : node.nodeType;
1478
+ };
1479
+ const _readNodeName = function _readNodeName2(node) {
1480
+ return getNodeName ? getNodeName(node) : node.nodeName;
1481
+ };
782
1482
  if (typeof HTMLTemplateElement === "function") {
783
1483
  const template = document2.createElement("template");
784
- if (template.content && template.content.ownerDocument) {
785
- document2 = template.content.ownerDocument;
786
- }
1484
+ if (template.content && template.content.ownerDocument) document2 = template.content.ownerDocument;
787
1485
  }
788
1486
  let trustedTypesPolicy;
789
1487
  let emptyHTML = "";
790
- const {
791
- implementation,
792
- createNodeIterator,
793
- createDocumentFragment,
794
- getElementsByTagName
795
- } = document2;
796
- const {
797
- importNode
798
- } = originalDocument;
1488
+ let defaultTrustedTypesPolicy;
1489
+ let defaultTrustedTypesPolicyResolved = false;
1490
+ let IN_TRUSTED_TYPES_POLICY = 0;
1491
+ const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy2() {
1492
+ if (IN_TRUSTED_TYPES_POLICY > 0) 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.');
1493
+ };
1494
+ const _createTrustedHTML = function _createTrustedHTML2(html2) {
1495
+ _assertNotInTrustedTypesPolicy();
1496
+ IN_TRUSTED_TYPES_POLICY++;
1497
+ try {
1498
+ return trustedTypesPolicy.createHTML(html2);
1499
+ } finally {
1500
+ IN_TRUSTED_TYPES_POLICY--;
1501
+ }
1502
+ };
1503
+ const _createTrustedScriptURL = function _createTrustedScriptURL2(scriptUrl) {
1504
+ _assertNotInTrustedTypesPolicy();
1505
+ IN_TRUSTED_TYPES_POLICY++;
1506
+ try {
1507
+ return trustedTypesPolicy.createScriptURL(scriptUrl);
1508
+ } finally {
1509
+ IN_TRUSTED_TYPES_POLICY--;
1510
+ }
1511
+ };
1512
+ const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy2() {
1513
+ if (!defaultTrustedTypesPolicyResolved) {
1514
+ defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
1515
+ defaultTrustedTypesPolicyResolved = true;
1516
+ }
1517
+ return defaultTrustedTypesPolicy;
1518
+ };
1519
+ const _document = document2, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;
1520
+ const importNode = originalDocument.importNode;
799
1521
  let hooks = _createHooksMap();
800
1522
  DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0;
801
- const {
802
- MUSTACHE_EXPR: MUSTACHE_EXPR2,
803
- ERB_EXPR: ERB_EXPR2,
804
- TMPLIT_EXPR: TMPLIT_EXPR2,
805
- DATA_ATTR: DATA_ATTR2,
806
- ARIA_ATTR: ARIA_ATTR2,
807
- IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA2,
808
- ATTR_WHITESPACE: ATTR_WHITESPACE2,
809
- CUSTOM_ELEMENT: CUSTOM_ELEMENT2
810
- } = EXPRESSIONS;
811
- let {
812
- IS_ALLOWED_URI: IS_ALLOWED_URI$1
813
- } = EXPRESSIONS;
1523
+ 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;
1524
+ let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;
814
1525
  let ALLOWED_TAGS = null;
815
- const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);
1526
+ const DEFAULT_ALLOWED_TAGS = addToSet({}, [
1527
+ ...html$1,
1528
+ ...svg$1,
1529
+ ...svgFilters,
1530
+ ...mathMl$1,
1531
+ ...text
1532
+ ]);
816
1533
  let ALLOWED_ATTR = null;
817
- const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);
1534
+ const DEFAULT_ALLOWED_ATTR = addToSet({}, [
1535
+ ...html,
1536
+ ...svg,
1537
+ ...mathMl,
1538
+ ...xml
1539
+ ]);
818
1540
  let CUSTOM_ELEMENT_HANDLING = Object.seal(create$1(null, {
819
1541
  tagNameCheck: {
820
1542
  writable: true,
@@ -859,6 +1581,8 @@ function createDOMPurify() {
859
1581
  let SAFE_FOR_XML = true;
860
1582
  let WHOLE_DOCUMENT = false;
861
1583
  let SET_CONFIG = false;
1584
+ let SET_CONFIG_ALLOWED_TAGS = null;
1585
+ let SET_CONFIG_ALLOWED_ATTR = null;
862
1586
  let FORCE_BODY = false;
863
1587
  let RETURN_DOM = false;
864
1588
  let RETURN_DOM_FRAGMENT = false;
@@ -870,21 +1594,88 @@ function createDOMPurify() {
870
1594
  let IN_PLACE = false;
871
1595
  let USE_PROFILES = {};
872
1596
  let FORBID_CONTENTS = null;
873
- const DEFAULT_FORBID_CONTENTS = addToSet({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
1597
+ const DEFAULT_FORBID_CONTENTS = addToSet({}, [
1598
+ "annotation-xml",
1599
+ "audio",
1600
+ "colgroup",
1601
+ "desc",
1602
+ "foreignobject",
1603
+ "head",
1604
+ "iframe",
1605
+ "math",
1606
+ "mi",
1607
+ "mn",
1608
+ "mo",
1609
+ "ms",
1610
+ "mtext",
1611
+ "noembed",
1612
+ "noframes",
1613
+ "noscript",
1614
+ "plaintext",
1615
+ "script",
1616
+ "selectedcontent",
1617
+ "style",
1618
+ "svg",
1619
+ "template",
1620
+ "thead",
1621
+ "title",
1622
+ "video",
1623
+ "xmp"
1624
+ ]);
874
1625
  let DATA_URI_TAGS = null;
875
- const DEFAULT_DATA_URI_TAGS = addToSet({}, ["audio", "video", "img", "source", "image", "track"]);
1626
+ const DEFAULT_DATA_URI_TAGS = addToSet({}, [
1627
+ "audio",
1628
+ "video",
1629
+ "img",
1630
+ "source",
1631
+ "image",
1632
+ "track"
1633
+ ]);
876
1634
  let URI_SAFE_ATTRIBUTES = null;
877
- const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]);
1635
+ const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [
1636
+ "alt",
1637
+ "class",
1638
+ "for",
1639
+ "id",
1640
+ "label",
1641
+ "name",
1642
+ "pattern",
1643
+ "placeholder",
1644
+ "role",
1645
+ "summary",
1646
+ "title",
1647
+ "value",
1648
+ "style",
1649
+ "xmlns"
1650
+ ]);
878
1651
  const MATHML_NAMESPACE = "http://www.w3.org/1998/Math/MathML";
879
1652
  const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
880
1653
  const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
881
1654
  let NAMESPACE = HTML_NAMESPACE;
882
1655
  let IS_EMPTY_INPUT = false;
883
1656
  let ALLOWED_NAMESPACES = null;
884
- const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
885
- let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ["mi", "mo", "mn", "ms", "mtext"]);
886
- let HTML_INTEGRATION_POINTS = addToSet({}, ["annotation-xml"]);
887
- const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ["title", "style", "font", "a", "script"]);
1657
+ const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [
1658
+ MATHML_NAMESPACE,
1659
+ SVG_NAMESPACE,
1660
+ HTML_NAMESPACE
1661
+ ], stringToString);
1662
+ const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze([
1663
+ "mi",
1664
+ "mo",
1665
+ "mn",
1666
+ "ms",
1667
+ "mtext"
1668
+ ]);
1669
+ let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);
1670
+ const DEFAULT_HTML_INTEGRATION_POINTS = freeze(["annotation-xml"]);
1671
+ let HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);
1672
+ const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [
1673
+ "title",
1674
+ "style",
1675
+ "font",
1676
+ "a",
1677
+ "script"
1678
+ ]);
888
1679
  let PARSER_MEDIA_TYPE = null;
889
1680
  const SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"];
890
1681
  const DEFAULT_PARSER_MEDIA_TYPE = "text/html";
@@ -896,25 +1687,26 @@ function createDOMPurify() {
896
1687
  };
897
1688
  const _parseConfig = function _parseConfig2() {
898
1689
  let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
899
- if (CONFIG && CONFIG === cfg) {
900
- return;
901
- }
902
- if (!cfg || typeof cfg !== "object") {
903
- cfg = {};
904
- }
1690
+ if (CONFIG && CONFIG === cfg) return;
1691
+ if (!cfg || typeof cfg !== "object") cfg = {};
905
1692
  cfg = clone(cfg);
906
- PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes
907
- SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
1693
+ PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
908
1694
  transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase;
909
- ALLOWED_TAGS = objectHasOwnProperty(cfg, "ALLOWED_TAGS") ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
910
- ALLOWED_ATTR = objectHasOwnProperty(cfg, "ALLOWED_ATTR") ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
911
- ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, "ALLOWED_NAMESPACES") ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
912
- URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
913
- DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
914
- FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
915
- FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
916
- FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
917
- USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
1695
+ ALLOWED_TAGS = _resolveSetOption(cfg, "ALLOWED_TAGS", DEFAULT_ALLOWED_TAGS, { transform: transformCaseFunc });
1696
+ ALLOWED_ATTR = _resolveSetOption(cfg, "ALLOWED_ATTR", DEFAULT_ALLOWED_ATTR, { transform: transformCaseFunc });
1697
+ ALLOWED_NAMESPACES = _resolveSetOption(cfg, "ALLOWED_NAMESPACES", DEFAULT_ALLOWED_NAMESPACES, { transform: stringToString });
1698
+ URI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, "ADD_URI_SAFE_ATTR", DEFAULT_URI_SAFE_ATTRIBUTES, {
1699
+ transform: transformCaseFunc,
1700
+ base: DEFAULT_URI_SAFE_ATTRIBUTES
1701
+ });
1702
+ DATA_URI_TAGS = _resolveSetOption(cfg, "ADD_DATA_URI_TAGS", DEFAULT_DATA_URI_TAGS, {
1703
+ transform: transformCaseFunc,
1704
+ base: DEFAULT_DATA_URI_TAGS
1705
+ });
1706
+ FORBID_CONTENTS = _resolveSetOption(cfg, "FORBID_CONTENTS", DEFAULT_FORBID_CONTENTS, { transform: transformCaseFunc });
1707
+ FORBID_TAGS = _resolveSetOption(cfg, "FORBID_TAGS", clone({}), { transform: transformCaseFunc });
1708
+ FORBID_ATTR = _resolveSetOption(cfg, "FORBID_ATTR", clone({}), { transform: transformCaseFunc });
1709
+ USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === "object" ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;
918
1710
  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
919
1711
  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
920
1712
  ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;
@@ -930,29 +1722,21 @@ function createDOMPurify() {
930
1722
  SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;
931
1723
  KEEP_CONTENT = cfg.KEEP_CONTENT !== false;
932
1724
  IN_PLACE = cfg.IN_PLACE || false;
933
- IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;
934
- NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
935
- MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
936
- HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
937
- CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};
938
- if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
939
- CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
940
- }
941
- if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
942
- CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
943
- }
944
- if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === "boolean") {
945
- CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
946
- }
947
- if (SAFE_FOR_TEMPLATES) {
948
- ALLOW_DATA_ATTR = false;
949
- }
950
- if (RETURN_DOM_FRAGMENT) {
951
- RETURN_DOM = true;
952
- }
1725
+ IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI;
1726
+ NAMESPACE = typeof cfg.NAMESPACE === "string" ? cfg.NAMESPACE : HTML_NAMESPACE;
1727
+ MATHML_TEXT_INTEGRATION_POINTS = _resolveObjectOption(cfg, "MATHML_TEXT_INTEGRATION_POINTS", () => addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS));
1728
+ HTML_INTEGRATION_POINTS = _resolveObjectOption(cfg, "HTML_INTEGRATION_POINTS", () => addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS));
1729
+ const customElementHandling = _resolveObjectOption(cfg, "CUSTOM_ELEMENT_HANDLING", () => create$1(null));
1730
+ CUSTOM_ELEMENT_HANDLING = create$1(null);
1731
+ if (objectHasOwnProperty(customElementHandling, "tagNameCheck") && isRegexOrFunction(customElementHandling.tagNameCheck)) CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck;
1732
+ if (objectHasOwnProperty(customElementHandling, "attributeNameCheck") && isRegexOrFunction(customElementHandling.attributeNameCheck)) CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck;
1733
+ if (objectHasOwnProperty(customElementHandling, "allowCustomizedBuiltInElements") && typeof customElementHandling.allowCustomizedBuiltInElements === "boolean") CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements;
1734
+ seal(CUSTOM_ELEMENT_HANDLING);
1735
+ if (SAFE_FOR_TEMPLATES) ALLOW_DATA_ATTR = false;
1736
+ if (RETURN_DOM_FRAGMENT) RETURN_DOM = true;
953
1737
  if (USE_PROFILES) {
954
1738
  ALLOWED_TAGS = addToSet({}, text);
955
- ALLOWED_ATTR = [];
1739
+ ALLOWED_ATTR = create$1(null);
956
1740
  if (USE_PROFILES.html === true) {
957
1741
  addToSet(ALLOWED_TAGS, html$1);
958
1742
  addToSet(ALLOWED_ATTR, html);
@@ -973,175 +1757,227 @@ function createDOMPurify() {
973
1757
  addToSet(ALLOWED_ATTR, xml);
974
1758
  }
975
1759
  }
976
- if (cfg.ADD_TAGS) {
977
- if (typeof cfg.ADD_TAGS === "function") {
978
- EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
979
- } else {
980
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
981
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
982
- }
1760
+ EXTRA_ELEMENT_HANDLING.tagCheck = null;
1761
+ EXTRA_ELEMENT_HANDLING.attributeCheck = null;
1762
+ if (objectHasOwnProperty(cfg, "ADD_TAGS")) {
1763
+ if (typeof cfg.ADD_TAGS === "function") EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
1764
+ else if (arrayIsArray(cfg.ADD_TAGS)) {
1765
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS);
983
1766
  addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
984
1767
  }
985
1768
  }
986
- if (cfg.ADD_ATTR) {
987
- if (typeof cfg.ADD_ATTR === "function") {
988
- EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
989
- } else {
990
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
991
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
992
- }
1769
+ if (objectHasOwnProperty(cfg, "ADD_ATTR")) {
1770
+ if (typeof cfg.ADD_ATTR === "function") EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
1771
+ else if (arrayIsArray(cfg.ADD_ATTR)) {
1772
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR);
993
1773
  addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
994
1774
  }
995
1775
  }
996
- if (cfg.ADD_URI_SAFE_ATTR) {
997
- addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
998
- }
999
- if (cfg.FORBID_CONTENTS) {
1000
- if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
1001
- FORBID_CONTENTS = clone(FORBID_CONTENTS);
1002
- }
1003
- addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
1004
- }
1005
- if (cfg.ADD_FORBID_CONTENTS) {
1006
- if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
1007
- FORBID_CONTENTS = clone(FORBID_CONTENTS);
1008
- }
1776
+ if (objectHasOwnProperty(cfg, "ADD_FORBID_CONTENTS") && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {
1777
+ if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) FORBID_CONTENTS = clone(FORBID_CONTENTS);
1009
1778
  addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
1010
1779
  }
1011
- if (KEEP_CONTENT) {
1012
- ALLOWED_TAGS["#text"] = true;
1013
- }
1014
- if (WHOLE_DOCUMENT) {
1015
- addToSet(ALLOWED_TAGS, ["html", "head", "body"]);
1016
- }
1780
+ if (KEEP_CONTENT) ALLOWED_TAGS["#text"] = true;
1781
+ if (WHOLE_DOCUMENT) addToSet(ALLOWED_TAGS, [
1782
+ "html",
1783
+ "head",
1784
+ "body"
1785
+ ]);
1017
1786
  if (ALLOWED_TAGS.table) {
1018
1787
  addToSet(ALLOWED_TAGS, ["tbody"]);
1019
1788
  delete FORBID_TAGS.tbody;
1020
1789
  }
1021
1790
  if (cfg.TRUSTED_TYPES_POLICY) {
1022
- if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") {
1023
- throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
1024
- }
1025
- if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") {
1026
- throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
1027
- }
1791
+ if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
1792
+ if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
1793
+ const previousTrustedTypesPolicy = trustedTypesPolicy;
1028
1794
  trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
1029
- emptyHTML = trustedTypesPolicy.createHTML("");
1030
- } else {
1031
- if (trustedTypesPolicy === void 0) {
1032
- trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
1033
- }
1034
- if (trustedTypesPolicy !== null && typeof emptyHTML === "string") {
1035
- emptyHTML = trustedTypesPolicy.createHTML("");
1795
+ try {
1796
+ emptyHTML = _createTrustedHTML("");
1797
+ } catch (error) {
1798
+ trustedTypesPolicy = previousTrustedTypesPolicy;
1799
+ throw error;
1036
1800
  }
1801
+ } else if (cfg.TRUSTED_TYPES_POLICY === null) {
1802
+ trustedTypesPolicy = void 0;
1803
+ emptyHTML = "";
1804
+ } else {
1805
+ if (trustedTypesPolicy === void 0) trustedTypesPolicy = _getDefaultTrustedTypesPolicy();
1806
+ if (trustedTypesPolicy && typeof emptyHTML === "string") emptyHTML = _createTrustedHTML("");
1037
1807
  }
1038
- if (freeze) {
1039
- freeze(cfg);
1040
- }
1808
+ if (freeze) freeze(cfg);
1041
1809
  CONFIG = cfg;
1042
1810
  };
1043
- const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);
1811
+ const ALL_SVG_TAGS = addToSet({}, [
1812
+ ...svg$1,
1813
+ ...svgFilters,
1814
+ ...svgDisallowed
1815
+ ]);
1044
1816
  const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
1817
+ const _checkSvgNamespace = function _checkSvgNamespace2(tagName, parent, parentTagName) {
1818
+ if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "svg";
1819
+ if (parent.namespaceURI === MATHML_NAMESPACE) return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
1820
+ return Boolean(ALL_SVG_TAGS[tagName]);
1821
+ };
1822
+ const _checkMathMlNamespace = function _checkMathMlNamespace2(tagName, parent, parentTagName) {
1823
+ if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "math";
1824
+ if (parent.namespaceURI === SVG_NAMESPACE) return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
1825
+ return Boolean(ALL_MATHML_TAGS[tagName]);
1826
+ };
1827
+ const _checkHtmlNamespace = function _checkHtmlNamespace2(tagName, parent, parentTagName) {
1828
+ if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) return false;
1829
+ if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) return false;
1830
+ return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
1831
+ };
1045
1832
  const _checkValidNamespace = function _checkValidNamespace2(element) {
1046
1833
  let parent = getParentNode(element);
1047
- if (!parent || !parent.tagName) {
1048
- parent = {
1049
- namespaceURI: NAMESPACE,
1050
- tagName: "template"
1051
- };
1052
- }
1834
+ if (!parent || !parent.tagName) parent = {
1835
+ namespaceURI: NAMESPACE,
1836
+ tagName: "template"
1837
+ };
1053
1838
  const tagName = stringToLowerCase(element.tagName);
1054
1839
  const parentTagName = stringToLowerCase(parent.tagName);
1055
- if (!ALLOWED_NAMESPACES[element.namespaceURI]) {
1056
- return false;
1057
- }
1058
- if (element.namespaceURI === SVG_NAMESPACE) {
1059
- if (parent.namespaceURI === HTML_NAMESPACE) {
1060
- return tagName === "svg";
1061
- }
1062
- if (parent.namespaceURI === MATHML_NAMESPACE) {
1063
- return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
1064
- }
1065
- return Boolean(ALL_SVG_TAGS[tagName]);
1066
- }
1067
- if (element.namespaceURI === MATHML_NAMESPACE) {
1068
- if (parent.namespaceURI === HTML_NAMESPACE) {
1069
- return tagName === "math";
1070
- }
1071
- if (parent.namespaceURI === SVG_NAMESPACE) {
1072
- return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
1073
- }
1074
- return Boolean(ALL_MATHML_TAGS[tagName]);
1075
- }
1076
- if (element.namespaceURI === HTML_NAMESPACE) {
1077
- if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
1078
- return false;
1079
- }
1080
- if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
1081
- return false;
1082
- }
1083
- return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
1084
- }
1085
- if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) {
1086
- return true;
1087
- }
1840
+ if (!ALLOWED_NAMESPACES[element.namespaceURI]) return false;
1841
+ if (element.namespaceURI === SVG_NAMESPACE) return _checkSvgNamespace(tagName, parent, parentTagName);
1842
+ if (element.namespaceURI === MATHML_NAMESPACE) return _checkMathMlNamespace(tagName, parent, parentTagName);
1843
+ if (element.namespaceURI === HTML_NAMESPACE) return _checkHtmlNamespace(tagName, parent, parentTagName);
1844
+ if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) return true;
1088
1845
  return false;
1089
1846
  };
1090
1847
  const _forceRemove = function _forceRemove2(node) {
1091
- arrayPush(DOMPurify.removed, {
1092
- element: node
1093
- });
1848
+ arrayPush(DOMPurify.removed, { element: node });
1094
1849
  try {
1095
1850
  getParentNode(node).removeChild(node);
1096
1851
  } catch (_) {
1097
1852
  remove(node);
1853
+ if (!getParentNode(node)) throw typeErrorCreate("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
1098
1854
  }
1099
1855
  };
1100
- const _removeAttribute = function _removeAttribute2(name, element) {
1856
+ const _stripAttributeNode = function _stripAttributeNode2(element, attribute, name) {
1101
1857
  try {
1102
- arrayPush(DOMPurify.removed, {
1103
- attribute: element.getAttributeNode(name),
1104
- from: element
1105
- });
1858
+ removeAttributeNode(element, attribute);
1106
1859
  } catch (_) {
1107
- arrayPush(DOMPurify.removed, {
1108
- attribute: null,
1109
- from: element
1860
+ try {
1861
+ element.removeAttribute(name);
1862
+ } catch (_2) {
1863
+ }
1864
+ }
1865
+ };
1866
+ const _neutralizeRoot = function _neutralizeRoot2(root) {
1867
+ _neutralizeSubtree(root);
1868
+ const childNodes = getChildNodes(root);
1869
+ if (childNodes) {
1870
+ const snapshot = [];
1871
+ arrayForEach(childNodes, (child) => {
1872
+ arrayPush(snapshot, child);
1110
1873
  });
1874
+ arrayForEach(snapshot, (child) => {
1875
+ try {
1876
+ remove(child);
1877
+ } catch (_) {
1878
+ }
1879
+ });
1880
+ }
1881
+ const attributes = getAttributes(root);
1882
+ if (attributes) for (let i = attributes.length - 1; i >= 0; --i) {
1883
+ const attribute = attributes[i];
1884
+ const name = attribute && attribute.name;
1885
+ if (typeof name === "string") _stripAttributeNode(root, attribute, name);
1886
+ }
1887
+ };
1888
+ const _removeAttribute = function _removeAttribute2(name, element, attr) {
1889
+ if (!attr) try {
1890
+ attr = element.getAttributeNode(name);
1891
+ } catch (_) {
1892
+ attr = null;
1893
+ }
1894
+ arrayPush(DOMPurify.removed, {
1895
+ attribute: attr || null,
1896
+ from: element
1897
+ });
1898
+ try {
1899
+ if (attr) removeAttributeNode(element, attr);
1900
+ else element.removeAttribute(name);
1901
+ } catch (_) {
1902
+ try {
1903
+ element.removeAttribute(name);
1904
+ } catch (_2) {
1905
+ }
1111
1906
  }
1112
- element.removeAttribute(name);
1113
1907
  if (name === "is") {
1114
- if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
1908
+ if (RETURN_DOM || RETURN_DOM_FRAGMENT) try {
1909
+ _forceRemove(element);
1910
+ } catch (_) {
1911
+ }
1912
+ else try {
1913
+ element.setAttribute(name, "");
1914
+ } catch (_) {
1915
+ }
1916
+ }
1917
+ };
1918
+ const _stripDisallowedAttributes = function _stripDisallowedAttributes2(element) {
1919
+ const attributes = getAttributes(element);
1920
+ if (!attributes) return;
1921
+ for (let i = attributes.length - 1; i >= 0; --i) {
1922
+ const attribute = attributes[i];
1923
+ const name = attribute && attribute.name;
1924
+ if (typeof name !== "string" || ALLOWED_ATTR[transformCaseFunc(name)]) continue;
1925
+ _stripAttributeNode(element, attribute, name);
1926
+ }
1927
+ };
1928
+ const _neutralizeSubtree = function _neutralizeSubtree2(root) {
1929
+ const stack = [root];
1930
+ while (stack.length > 0) {
1931
+ const node = stack.pop();
1932
+ if (_readNodeType(node) === NODE_TYPE.element) _stripDisallowedAttributes(node);
1933
+ const childNodes = getChildNodes(node);
1934
+ if (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push(childNodes[i]);
1935
+ }
1936
+ };
1937
+ const _isPatchLinkageAttribute = function _isPatchLinkageAttribute2(lcName, lcTag) {
1938
+ if (!SAFE_FOR_XML) return false;
1939
+ if (lcName === "patchsrc") return true;
1940
+ return lcName === "for" && lcTag !== "label" && lcTag !== "output";
1941
+ };
1942
+ const _neutralizePatchLinkage = function _neutralizePatchLinkage2(root) {
1943
+ if (!SAFE_FOR_XML) return;
1944
+ const stack = [root];
1945
+ while (stack.length > 0) {
1946
+ const node = stack.pop();
1947
+ const nodeType = _readNodeType(node);
1948
+ if (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {
1115
1949
  try {
1116
- _forceRemove(element);
1950
+ remove(node);
1117
1951
  } catch (_) {
1118
1952
  }
1119
- } else {
1953
+ continue;
1954
+ }
1955
+ if (nodeType === NODE_TYPE.element) {
1956
+ const element = node;
1957
+ const lcTag = transformCaseFunc(_readNodeName(node));
1120
1958
  try {
1121
- element.setAttribute(name, "");
1959
+ if (element.hasAttribute && element.hasAttribute("patchsrc")) element.removeAttribute("patchsrc");
1960
+ if (element.hasAttribute && element.hasAttribute("for") && _isPatchLinkageAttribute("for", lcTag)) element.removeAttribute("for");
1122
1961
  } catch (_) {
1123
1962
  }
1124
1963
  }
1964
+ const childNodes = getChildNodes(node);
1965
+ if (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push(childNodes[i]);
1125
1966
  }
1126
1967
  };
1127
1968
  const _initDocument = function _initDocument2(dirty) {
1128
1969
  let doc = null;
1129
1970
  let leadingWhitespace = null;
1130
- if (FORCE_BODY) {
1131
- dirty = "<remove></remove>" + dirty;
1132
- } else {
1971
+ if (FORCE_BODY) dirty = "<remove></remove>" + dirty;
1972
+ else {
1133
1973
  const matches = stringMatch(dirty, /^[\r\n\t ]+/);
1134
1974
  leadingWhitespace = matches && matches[0];
1135
1975
  }
1136
- if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) {
1137
- dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + "</body></html>";
1138
- }
1139
- const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
1140
- if (NAMESPACE === HTML_NAMESPACE) {
1141
- try {
1142
- doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
1143
- } catch (_) {
1144
- }
1976
+ if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + "</body></html>";
1977
+ const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;
1978
+ if (NAMESPACE === HTML_NAMESPACE) try {
1979
+ doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
1980
+ } catch (_) {
1145
1981
  }
1146
1982
  if (!doc || !doc.documentElement) {
1147
1983
  doc = implementation.createDocument(NAMESPACE, "template", null);
@@ -1151,144 +1987,203 @@ function createDOMPurify() {
1151
1987
  }
1152
1988
  }
1153
1989
  const body = doc.body || doc.documentElement;
1154
- if (dirty && leadingWhitespace) {
1155
- body.insertBefore(document2.createTextNode(leadingWhitespace), body.childNodes[0] || null);
1156
- }
1157
- if (NAMESPACE === HTML_NAMESPACE) {
1158
- return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0];
1159
- }
1990
+ if (dirty && leadingWhitespace) body.insertBefore(document2.createTextNode(leadingWhitespace), body.childNodes[0] || null);
1991
+ if (NAMESPACE === HTML_NAMESPACE) return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0];
1160
1992
  return WHOLE_DOCUMENT ? doc.documentElement : body;
1161
1993
  };
1162
1994
  const _createNodeIterator = function _createNodeIterator2(root) {
1163
- return createNodeIterator.call(
1164
- root.ownerDocument || root,
1165
- root,
1166
- // eslint-disable-next-line no-bitwise
1167
- NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION,
1168
- null
1169
- );
1995
+ const doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;
1996
+ return createNodeIterator.call(doc || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
1997
+ };
1998
+ const _stripTemplateExpressions = function _stripTemplateExpressions2(value) {
1999
+ value = stringReplace(value, MUSTACHE_EXPR$1, " ");
2000
+ value = stringReplace(value, ERB_EXPR$1, " ");
2001
+ value = stringReplace(value, TMPLIT_EXPR$1, " ");
2002
+ return value;
2003
+ };
2004
+ const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {
2005
+ var _node$querySelectorAl;
2006
+ node.normalize();
2007
+ const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;
2008
+ const walker = createNodeIterator.call(doc || node, node, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
2009
+ let currentNode = walker.nextNode();
2010
+ while (currentNode) {
2011
+ currentNode.data = _stripTemplateExpressions(currentNode.data);
2012
+ currentNode = walker.nextNode();
2013
+ }
2014
+ const templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, "template");
2015
+ if (templates) arrayForEach(templates, (tmpl) => {
2016
+ if (_isDocumentFragment(tmpl.content)) _scrubTemplateExpressions2(tmpl.content);
2017
+ });
1170
2018
  };
1171
2019
  const _isClobbered = function _isClobbered2(element) {
1172
- return element instanceof HTMLFormElement && (typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function");
2020
+ const realTagName = getNodeName ? getNodeName(element) : null;
2021
+ if (typeof realTagName !== "string") return false;
2022
+ if (transformCaseFunc(realTagName) !== "form") return false;
2023
+ return typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || element.attributes !== getAttributes(element) || typeof element.removeAttribute !== "function" || typeof element.removeAttributeNode !== "function" || typeof element.getAttributeNode !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function" || element.nodeType !== getNodeType(element) || element.childNodes !== getChildNodes(element);
2024
+ };
2025
+ const _isDocumentFragment = function _isDocumentFragment2(value) {
2026
+ if (!getNodeType || typeof value !== "object" || value === null) return false;
2027
+ try {
2028
+ return getNodeType(value) === NODE_TYPE.documentFragment;
2029
+ } catch (_) {
2030
+ return false;
2031
+ }
1173
2032
  };
1174
2033
  const _isNode = function _isNode2(value) {
1175
- return typeof Node === "function" && value instanceof Node;
2034
+ if (!getNodeType || typeof value !== "object" || value === null) return false;
2035
+ try {
2036
+ return typeof getNodeType(value) === "number";
2037
+ } catch (_) {
2038
+ return false;
2039
+ }
1176
2040
  };
1177
2041
  function _executeHooks(hooks2, currentNode, data) {
2042
+ if (hooks2.length === 0) return;
1178
2043
  arrayForEach(hooks2, (hook) => {
1179
2044
  hook.call(DOMPurify, currentNode, data, CONFIG);
1180
2045
  });
1181
2046
  }
1182
- const _sanitizeElements = function _sanitizeElements2(currentNode) {
1183
- let content = null;
2047
+ const _isUnsafeNode = function _isUnsafeNode2(currentNode, tagName) {
2048
+ if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) return true;
2049
+ 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))) return true;
2050
+ if (currentNode.nodeType === NODE_TYPE.processingInstruction) return true;
2051
+ if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) return true;
2052
+ return false;
2053
+ };
2054
+ const _matchesNameCheck = function _matchesNameCheck2(check, name) {
2055
+ if (check instanceof RegExp) return regExpTest(check, name);
2056
+ if (check instanceof Function) {
2057
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];
2058
+ return Boolean(check(name, ...args));
2059
+ }
2060
+ return false;
2061
+ };
2062
+ const _sanitizeDisallowedNode = function _sanitizeDisallowedNode2(currentNode, tagName, root) {
2063
+ if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;
2064
+ if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
2065
+ const parentNode = getParentNode(currentNode);
2066
+ const childNodes = getChildNodes(currentNode);
2067
+ if (childNodes && parentNode) {
2068
+ const childCount = childNodes.length;
2069
+ for (let i = childCount - 1; i >= 0; --i) {
2070
+ const hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];
2071
+ parentNode.insertBefore(hoisted, getNextSibling(currentNode));
2072
+ }
2073
+ }
2074
+ }
2075
+ _forceRemove(currentNode);
2076
+ return true;
2077
+ };
2078
+ const _forkSharedAllowlist = function _forkSharedAllowlist2(hookList, set, defaultSet, setConfigSet) {
2079
+ if (hookList.length === 0) return set;
2080
+ return set === defaultSet || set === setConfigSet ? clone(set) : set;
2081
+ };
2082
+ const _handleHookDetachedNode = function _handleHookDetachedNode2(currentNode, root) {
2083
+ if (currentNode === root || getParentNode(currentNode) !== null) return false;
2084
+ if (IN_PLACE) _neutralizeSubtree(currentNode);
2085
+ return true;
2086
+ };
2087
+ const _sanitizeElements = function _sanitizeElements2(currentNode, root) {
1184
2088
  _executeHooks(hooks.beforeSanitizeElements, currentNode, null);
2089
+ if (_handleHookDetachedNode(currentNode, root)) return true;
1185
2090
  if (_isClobbered(currentNode)) {
1186
2091
  _forceRemove(currentNode);
1187
2092
  return true;
1188
2093
  }
1189
- const tagName = transformCaseFunc(currentNode.nodeName);
2094
+ const tagName = transformCaseFunc(_readNodeName(currentNode));
2095
+ ALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);
1190
2096
  _executeHooks(hooks.uponSanitizeElement, currentNode, {
1191
2097
  tagName,
1192
2098
  allowedTags: ALLOWED_TAGS
1193
2099
  });
1194
- if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1195
- _forceRemove(currentNode);
1196
- return true;
1197
- }
1198
- if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
2100
+ if (_handleHookDetachedNode(currentNode, root)) return true;
2101
+ if (_isUnsafeNode(currentNode, tagName)) {
1199
2102
  _forceRemove(currentNode);
1200
2103
  return true;
1201
2104
  }
1202
- if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
1203
- _forceRemove(currentNode);
1204
- return true;
1205
- }
1206
- if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
1207
- if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
1208
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
1209
- return false;
1210
- }
1211
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
1212
- return false;
1213
- }
2105
+ if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {
2106
+ const removed = _sanitizeDisallowedNode(currentNode, tagName, root);
2107
+ if (removed === false) {
2108
+ _executeHooks(hooks.afterSanitizeElements, currentNode, null);
2109
+ if (_handleHookDetachedNode(currentNode, root)) return true;
1214
2110
  }
1215
- if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
1216
- const parentNode = getParentNode(currentNode) || currentNode.parentNode;
1217
- const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
1218
- if (childNodes && parentNode) {
1219
- const childCount = childNodes.length;
1220
- for (let i = childCount - 1; i >= 0; --i) {
1221
- const childClone = cloneNode(childNodes[i], true);
1222
- childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
1223
- parentNode.insertBefore(childClone, getNextSibling(currentNode));
1224
- }
1225
- }
1226
- }
1227
- _forceRemove(currentNode);
1228
- return true;
2111
+ return removed;
1229
2112
  }
1230
- if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
2113
+ if (_readNodeType(currentNode) === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {
1231
2114
  _forceRemove(currentNode);
1232
2115
  return true;
1233
2116
  }
1234
- if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
2117
+ if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {
1235
2118
  _forceRemove(currentNode);
1236
2119
  return true;
1237
2120
  }
1238
2121
  if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
1239
- content = currentNode.textContent;
1240
- arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => {
1241
- content = stringReplace(content, expr, " ");
1242
- });
2122
+ const content = _stripTemplateExpressions(currentNode.textContent);
1243
2123
  if (currentNode.textContent !== content) {
1244
- arrayPush(DOMPurify.removed, {
1245
- element: currentNode.cloneNode()
1246
- });
2124
+ arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });
1247
2125
  currentNode.textContent = content;
1248
2126
  }
1249
2127
  }
1250
2128
  _executeHooks(hooks.afterSanitizeElements, currentNode, null);
1251
- return false;
2129
+ return _handleHookDetachedNode(currentNode, root);
1252
2130
  };
1253
2131
  const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {
1254
- if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) {
1255
- return false;
2132
+ if (FORBID_ATTR[lcName]) return false;
2133
+ if (_isPatchLinkageAttribute(lcName, lcTag)) return false;
2134
+ if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document2 || value in formElement)) return false;
2135
+ const nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);
2136
+ if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) return true;
2137
+ if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) return true;
2138
+ if (!nameIsPermitted) return _isBasicCustomElement(lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName, lcTag) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value);
2139
+ if (URI_SAFE_ATTRIBUTES[lcName]) return true;
2140
+ if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) return true;
2141
+ if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) return true;
2142
+ if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ""))) return true;
2143
+ return !value;
2144
+ };
2145
+ const RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, [
2146
+ "annotation-xml",
2147
+ "color-profile",
2148
+ "font-face",
2149
+ "font-face-format",
2150
+ "font-face-name",
2151
+ "font-face-src",
2152
+ "font-face-uri",
2153
+ "missing-glyph"
2154
+ ]);
2155
+ const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {
2156
+ return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);
2157
+ };
2158
+ const _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute2(lcTag, lcName, namespaceURI, value) {
2159
+ if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function" && !namespaceURI) switch (trustedTypes.getAttributeType(lcTag, lcName)) {
2160
+ case "TrustedHTML":
2161
+ return _createTrustedHTML(value);
2162
+ case "TrustedScriptURL":
2163
+ return _createTrustedScriptURL(value);
1256
2164
  }
1257
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR2, lcName)) ;
1258
- else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName)) ;
1259
- else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ;
1260
- else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1261
- if (
1262
- // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1263
- // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1264
- // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1265
- _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
1266
- // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1267
- 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))
1268
- ) ;
1269
- else {
2165
+ return value;
2166
+ };
2167
+ const _setAttributeValue = function _setAttributeValue2(currentNode, name, namespaceURI, value) {
2168
+ try {
2169
+ if (namespaceURI) currentNode.setAttributeNS(namespaceURI, name, value);
2170
+ else currentNode.setAttribute(name, value);
2171
+ if (_isClobbered(currentNode)) {
2172
+ _forceRemove(currentNode);
1270
2173
  return false;
1271
2174
  }
1272
- } else if (URI_SAFE_ATTRIBUTES[lcName]) ;
1273
- else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE2, ""))) ;
1274
- else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]) ;
1275
- else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA2, stringReplace(value, ATTR_WHITESPACE2, ""))) ;
1276
- else if (value) {
2175
+ return true;
2176
+ } catch (_) {
2177
+ _removeAttribute(name, currentNode);
1277
2178
  return false;
1278
- } else ;
1279
- return true;
1280
- };
1281
- const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {
1282
- return tagName !== "annotation-xml" && stringMatch(tagName, CUSTOM_ELEMENT2);
2179
+ }
1283
2180
  };
1284
- const _sanitizeAttributes = function _sanitizeAttributes2(currentNode) {
2181
+ const _sanitizeAttributes = function _sanitizeAttributes2(currentNode, root) {
1285
2182
  _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
1286
- const {
1287
- attributes
1288
- } = currentNode;
1289
- if (!attributes || _isClobbered(currentNode)) {
1290
- return;
1291
- }
2183
+ if (_handleHookDetachedNode(currentNode, root)) return;
2184
+ const attributes = currentNode.attributes;
2185
+ if (!attributes || _isClobbered(currentNode)) return;
2186
+ ALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);
1292
2187
  const hookEvent = {
1293
2188
  attrName: "",
1294
2189
  attrValue: "",
@@ -1297,103 +2192,114 @@ function createDOMPurify() {
1297
2192
  forceKeepAttr: void 0
1298
2193
  };
1299
2194
  let l = attributes.length;
2195
+ const lcTag = transformCaseFunc(currentNode.nodeName);
1300
2196
  while (l--) {
1301
2197
  const attr = attributes[l];
1302
- const {
1303
- name,
1304
- namespaceURI,
1305
- value: attrValue
1306
- } = attr;
2198
+ const name = attr.name, namespaceURI = attr.namespaceURI, attrValue = attr.value;
1307
2199
  const lcName = transformCaseFunc(name);
1308
2200
  const initValue = attrValue;
1309
2201
  let value = name === "value" ? initValue : stringTrim(initValue);
2202
+ let recreatedNamedProp = false;
1310
2203
  hookEvent.attrName = lcName;
1311
2204
  hookEvent.attrValue = value;
1312
2205
  hookEvent.keepAttr = true;
1313
2206
  hookEvent.forceKeepAttr = void 0;
1314
2207
  _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
1315
2208
  value = hookEvent.attrValue;
1316
- if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name")) {
1317
- _removeAttribute(name, currentNode);
2209
+ if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name") && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {
2210
+ _removeAttribute(name, currentNode, attr);
1318
2211
  value = SANITIZE_NAMED_PROPS_PREFIX + value;
2212
+ recreatedNamedProp = true;
1319
2213
  }
1320
- if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
1321
- _removeAttribute(name, currentNode);
2214
+ if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {
2215
+ _removeAttribute(name, currentNode, attr);
1322
2216
  continue;
1323
2217
  }
1324
2218
  if (lcName === "attributename" && stringMatch(value, "href")) {
1325
- _removeAttribute(name, currentNode);
1326
- continue;
1327
- }
1328
- if (hookEvent.forceKeepAttr) {
2219
+ _removeAttribute(name, currentNode, attr);
1329
2220
  continue;
1330
2221
  }
2222
+ if (hookEvent.forceKeepAttr) continue;
1331
2223
  if (!hookEvent.keepAttr) {
1332
- _removeAttribute(name, currentNode);
2224
+ _removeAttribute(name, currentNode, attr);
1333
2225
  continue;
1334
2226
  }
1335
- if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
1336
- _removeAttribute(name, currentNode);
2227
+ if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {
2228
+ _removeAttribute(name, currentNode, attr);
1337
2229
  continue;
1338
2230
  }
1339
- if (SAFE_FOR_TEMPLATES) {
1340
- arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => {
1341
- value = stringReplace(value, expr, " ");
1342
- });
1343
- }
1344
- const lcTag = transformCaseFunc(currentNode.nodeName);
2231
+ if (SAFE_FOR_TEMPLATES) value = _stripTemplateExpressions(value);
1345
2232
  if (!_isValidAttribute(lcTag, lcName, value)) {
1346
- _removeAttribute(name, currentNode);
2233
+ _removeAttribute(name, currentNode, attr);
1347
2234
  continue;
1348
2235
  }
1349
- if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") {
1350
- if (namespaceURI) ;
1351
- else {
1352
- switch (trustedTypes.getAttributeType(lcTag, lcName)) {
1353
- case "TrustedHTML": {
1354
- value = trustedTypesPolicy.createHTML(value);
1355
- break;
1356
- }
1357
- case "TrustedScriptURL": {
1358
- value = trustedTypesPolicy.createScriptURL(value);
1359
- break;
1360
- }
1361
- }
1362
- }
1363
- }
2236
+ value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);
1364
2237
  if (value !== initValue) {
1365
- try {
1366
- if (namespaceURI) {
1367
- currentNode.setAttributeNS(namespaceURI, name, value);
1368
- } else {
1369
- currentNode.setAttribute(name, value);
1370
- }
1371
- if (_isClobbered(currentNode)) {
1372
- _forceRemove(currentNode);
1373
- } else {
1374
- arrayPop(DOMPurify.removed);
1375
- }
1376
- } catch (_) {
1377
- _removeAttribute(name, currentNode);
1378
- }
2238
+ if (_setAttributeValue(currentNode, name, namespaceURI, value) && recreatedNamedProp) arrayPop(DOMPurify.removed);
1379
2239
  }
1380
2240
  }
1381
2241
  _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
2242
+ _handleHookDetachedNode(currentNode, root);
1382
2243
  };
1383
- const _sanitizeShadowDOM = function _sanitizeShadowDOM2(fragment) {
2244
+ const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {
1384
2245
  let shadowNode = null;
1385
2246
  const shadowIterator = _createNodeIterator(fragment);
1386
2247
  _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
1387
2248
  while (shadowNode = shadowIterator.nextNode()) {
1388
2249
  _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
1389
- _sanitizeElements(shadowNode);
1390
- _sanitizeAttributes(shadowNode);
1391
- if (shadowNode.content instanceof DocumentFragment) {
1392
- _sanitizeShadowDOM2(shadowNode.content);
2250
+ _sanitizeElements(shadowNode, fragment);
2251
+ _sanitizeAttributes(shadowNode, fragment);
2252
+ if (_isDocumentFragment(shadowNode.content)) _sanitizeShadowDOM2(shadowNode.content);
2253
+ if (_readNodeType(shadowNode) === NODE_TYPE.element) {
2254
+ const innerSr = getShadowRoot(shadowNode);
2255
+ if (_isDocumentFragment(innerSr)) {
2256
+ _sanitizeAttachedShadowRoots(innerSr);
2257
+ _sanitizeShadowDOM2(innerSr);
2258
+ }
1393
2259
  }
1394
2260
  }
1395
2261
  _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
1396
2262
  };
2263
+ const _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots2(root) {
2264
+ const stack = [{
2265
+ node: root,
2266
+ shadow: null
2267
+ }];
2268
+ while (stack.length > 0) {
2269
+ const item = stack.pop();
2270
+ if (item.shadow) {
2271
+ _sanitizeShadowDOM2(item.shadow);
2272
+ continue;
2273
+ }
2274
+ const node = item.node;
2275
+ const isElement = _readNodeType(node) === NODE_TYPE.element;
2276
+ const childNodes = getChildNodes(node);
2277
+ if (childNodes) for (let i = childNodes.length - 1; i >= 0; --i) stack.push({
2278
+ node: childNodes[i],
2279
+ shadow: null
2280
+ });
2281
+ if (isElement) {
2282
+ const rootName = getNodeName ? getNodeName(node) : null;
2283
+ if (typeof rootName === "string" && transformCaseFunc(rootName) === "template") {
2284
+ const content = node.content;
2285
+ if (_isDocumentFragment(content)) stack.push({
2286
+ node: content,
2287
+ shadow: null
2288
+ });
2289
+ }
2290
+ }
2291
+ if (isElement) {
2292
+ const sr = getShadowRoot(node);
2293
+ if (_isDocumentFragment(sr)) stack.push({
2294
+ node: null,
2295
+ shadow: sr
2296
+ }, {
2297
+ node: sr,
2298
+ shadow: null
2299
+ });
2300
+ }
2301
+ }
2302
+ };
1397
2303
  DOMPurify.sanitize = function(dirty) {
1398
2304
  let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1399
2305
  let body = null;
@@ -1401,119 +2307,124 @@ function createDOMPurify() {
1401
2307
  let currentNode = null;
1402
2308
  let returnNode = null;
1403
2309
  IS_EMPTY_INPUT = !dirty;
1404
- if (IS_EMPTY_INPUT) {
1405
- dirty = "<!-->";
1406
- }
2310
+ if (IS_EMPTY_INPUT) dirty = "<!-->";
1407
2311
  if (typeof dirty !== "string" && !_isNode(dirty)) {
1408
- if (typeof dirty.toString === "function") {
1409
- dirty = dirty.toString();
1410
- if (typeof dirty !== "string") {
1411
- throw typeErrorCreate("dirty is not a string, aborting");
1412
- }
1413
- } else {
1414
- throw typeErrorCreate("toString is not a function");
1415
- }
1416
- }
1417
- if (!DOMPurify.isSupported) {
1418
- return dirty;
1419
- }
1420
- if (!SET_CONFIG) {
1421
- _parseConfig(cfg);
1422
- }
2312
+ dirty = stringifyValue(dirty);
2313
+ if (typeof dirty !== "string") throw typeErrorCreate("dirty is not a string, aborting");
2314
+ }
2315
+ if (!DOMPurify.isSupported) return dirty;
2316
+ if (SET_CONFIG) {
2317
+ ALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;
2318
+ ALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;
2319
+ } else _parseConfig(cfg);
2320
+ if (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) ALLOWED_TAGS = clone(ALLOWED_TAGS);
2321
+ if (hooks.uponSanitizeAttribute.length > 0) ALLOWED_ATTR = clone(ALLOWED_ATTR);
1423
2322
  DOMPurify.removed = [];
1424
- if (typeof dirty === "string") {
1425
- IN_PLACE = false;
1426
- }
1427
- if (IN_PLACE) {
1428
- if (dirty.nodeName) {
1429
- const tagName = transformCaseFunc(dirty.nodeName);
2323
+ const inPlace = IN_PLACE && typeof dirty !== "string" && _isNode(dirty);
2324
+ if (inPlace) {
2325
+ _neutralizePatchLinkage(dirty);
2326
+ const nn = _readNodeName(dirty);
2327
+ if (typeof nn === "string") {
2328
+ const tagName = transformCaseFunc(nn);
1430
2329
  if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
2330
+ _neutralizeRoot(dirty);
1431
2331
  throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
1432
2332
  }
1433
2333
  }
1434
- } else if (dirty instanceof Node) {
2334
+ if (_isClobbered(dirty)) {
2335
+ _neutralizeRoot(dirty);
2336
+ throw typeErrorCreate("root node is clobbered and cannot be sanitized in-place");
2337
+ }
2338
+ try {
2339
+ _sanitizeAttachedShadowRoots(dirty);
2340
+ } catch (error) {
2341
+ _neutralizeRoot(dirty);
2342
+ throw error;
2343
+ }
2344
+ } else if (_isNode(dirty)) {
1435
2345
  body = _initDocument("<!---->");
1436
2346
  importedNode = body.ownerDocument.importNode(dirty, true);
1437
- if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") {
1438
- body = importedNode;
1439
- } else if (importedNode.nodeName === "HTML") {
1440
- body = importedNode;
1441
- } else {
1442
- body.appendChild(importedNode);
1443
- }
2347
+ if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode;
2348
+ else if (importedNode.nodeName === "HTML") body = importedNode;
2349
+ else body.appendChild(importedNode);
2350
+ _sanitizeAttachedShadowRoots(body);
1444
2351
  } else {
1445
- if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes
1446
- dirty.indexOf("<") === -1) {
1447
- return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
1448
- }
2352
+ if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;
1449
2353
  body = _initDocument(dirty);
1450
- if (!body) {
1451
- return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : "";
1452
- }
2354
+ if (!body) return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : "";
1453
2355
  }
1454
- if (body && FORCE_BODY) {
1455
- _forceRemove(body.firstChild);
1456
- }
1457
- const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
1458
- while (currentNode = nodeIterator.nextNode()) {
1459
- _sanitizeElements(currentNode);
1460
- _sanitizeAttributes(currentNode);
1461
- if (currentNode.content instanceof DocumentFragment) {
1462
- _sanitizeShadowDOM(currentNode.content);
2356
+ if (body && FORCE_BODY) _forceRemove(body.firstChild);
2357
+ const walkRoot = inPlace ? dirty : body;
2358
+ try {
2359
+ const nodeIterator = _createNodeIterator(walkRoot);
2360
+ while (currentNode = nodeIterator.nextNode()) {
2361
+ _sanitizeElements(currentNode, walkRoot);
2362
+ _sanitizeAttributes(currentNode, walkRoot);
2363
+ if (_isDocumentFragment(currentNode.content)) _sanitizeShadowDOM2(currentNode.content);
1463
2364
  }
2365
+ } catch (error) {
2366
+ if (inPlace) {
2367
+ _neutralizeRoot(dirty);
2368
+ arrayForEach(DOMPurify.removed, (entry) => {
2369
+ if (entry.element) _neutralizeSubtree(entry.element);
2370
+ });
2371
+ }
2372
+ throw error;
1464
2373
  }
1465
- if (IN_PLACE) {
2374
+ if (inPlace) {
2375
+ let rootWasRemoved = false;
2376
+ arrayForEach(DOMPurify.removed, (entry) => {
2377
+ if (entry.element) {
2378
+ if (entry.element === dirty) rootWasRemoved = true;
2379
+ _neutralizeSubtree(entry.element);
2380
+ }
2381
+ });
2382
+ if (rootWasRemoved) throw typeErrorCreate("a node selected for removal could not be safely returned; refusing to sanitize in place");
2383
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(dirty);
1466
2384
  return dirty;
1467
2385
  }
1468
2386
  if (RETURN_DOM) {
2387
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(body);
1469
2388
  if (RETURN_DOM_FRAGMENT) {
1470
2389
  returnNode = createDocumentFragment.call(body.ownerDocument);
1471
- while (body.firstChild) {
1472
- returnNode.appendChild(body.firstChild);
1473
- }
1474
- } else {
1475
- returnNode = body;
1476
- }
1477
- if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {
1478
- returnNode = importNode.call(originalDocument, returnNode, true);
1479
- }
2390
+ while (body.firstChild) returnNode.appendChild(body.firstChild);
2391
+ } else returnNode = body;
2392
+ if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) returnNode = importNode.call(originalDocument, returnNode, true);
1480
2393
  return returnNode;
1481
2394
  }
1482
2395
  let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
1483
- if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
1484
- serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
1485
- }
1486
- if (SAFE_FOR_TEMPLATES) {
1487
- arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => {
1488
- serializedHTML = stringReplace(serializedHTML, expr, " ");
1489
- });
1490
- }
1491
- return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
2396
+ if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
2397
+ if (SAFE_FOR_TEMPLATES) serializedHTML = _stripTemplateExpressions(serializedHTML);
2398
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;
1492
2399
  };
1493
2400
  DOMPurify.setConfig = function() {
1494
2401
  let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1495
2402
  _parseConfig(cfg);
1496
2403
  SET_CONFIG = true;
2404
+ SET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;
2405
+ SET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;
1497
2406
  };
1498
2407
  DOMPurify.clearConfig = function() {
1499
2408
  CONFIG = null;
1500
2409
  SET_CONFIG = false;
2410
+ SET_CONFIG_ALLOWED_TAGS = null;
2411
+ SET_CONFIG_ALLOWED_ATTR = null;
2412
+ trustedTypesPolicy = defaultTrustedTypesPolicy;
2413
+ emptyHTML = "";
1501
2414
  };
1502
2415
  DOMPurify.isValidAttribute = function(tag, attr, value) {
1503
- if (!CONFIG) {
1504
- _parseConfig({});
1505
- }
2416
+ if (!CONFIG) _parseConfig({});
1506
2417
  const lcTag = transformCaseFunc(tag);
1507
2418
  const lcName = transformCaseFunc(attr);
1508
2419
  return _isValidAttribute(lcTag, lcName, value);
1509
2420
  };
1510
2421
  DOMPurify.addHook = function(entryPoint, hookFunction) {
1511
- if (typeof hookFunction !== "function") {
1512
- return;
1513
- }
2422
+ if (typeof hookFunction !== "function") return;
2423
+ if (!objectHasOwnProperty(hooks, entryPoint)) return;
1514
2424
  arrayPush(hooks[entryPoint], hookFunction);
1515
2425
  };
1516
2426
  DOMPurify.removeHook = function(entryPoint, hookFunction) {
2427
+ if (!objectHasOwnProperty(hooks, entryPoint)) return;
1517
2428
  if (hookFunction !== void 0) {
1518
2429
  const index2 = arrayLastIndexOf(hooks[entryPoint], hookFunction);
1519
2430
  return index2 === -1 ? void 0 : arraySplice(hooks[entryPoint], index2, 1)[0];
@@ -1521,6 +2432,7 @@ function createDOMPurify() {
1521
2432
  return arrayPop(hooks[entryPoint]);
1522
2433
  };
1523
2434
  DOMPurify.removeHooks = function(entryPoint) {
2435
+ if (!objectHasOwnProperty(hooks, entryPoint)) return;
1524
2436
  hooks[entryPoint] = [];
1525
2437
  };
1526
2438
  DOMPurify.removeAllHooks = function() {
@@ -1528,10 +2440,10 @@ function createDOMPurify() {
1528
2440
  };
1529
2441
  return DOMPurify;
1530
2442
  }
1531
- var purify = createDOMPurify();
2443
+ var purify_default = createDOMPurify();
1532
2444
  const purifyConfig = { FORBID_TAGS: ["img"] };
1533
- if (typeof purify.addHook === "function" && typeof document !== "undefined" && document.createElement) {
1534
- purify.addHook("uponSanitizeElement", (node, data) => {
2445
+ if (typeof purify_default.addHook === "function" && typeof document !== "undefined" && document.createElement) {
2446
+ purify_default.addHook("uponSanitizeElement", (node, data) => {
1535
2447
  var _a;
1536
2448
  if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(data.tagName)) {
1537
2449
  const tag = document.createElement("span");
@@ -1542,7 +2454,7 @@ if (typeof purify.addHook === "function" && typeof document !== "undefined" && d
1542
2454
  }
1543
2455
  function xssPurify(str) {
1544
2456
  if (typeof window === "undefined") return str;
1545
- return purify.sanitize(str, purifyConfig);
2457
+ return purify_default.sanitize(str, purifyConfig);
1546
2458
  }
1547
2459
  const highlightWords = (Word, title, inherit) => {
1548
2460
  if (!Word) return xssPurify(title || "");
@@ -1552,11 +2464,12 @@ const highlightWords = (Word, title, inherit) => {
1552
2464
  const str = title == null ? void 0 : title.replace(regexPattern, (_, match) => `<span style="color: ${color}; text-decoration: underline;">${match}</span>`);
1553
2465
  return str;
1554
2466
  };
1555
- /*! js-cookie v3.0.5 | MIT */
2467
+ /*! js-cookie v3.0.8 | MIT */
1556
2468
  function assign$2(target) {
1557
2469
  for (var i = 1; i < arguments.length; i++) {
1558
2470
  var source = arguments[i];
1559
2471
  for (var key in source) {
2472
+ if (key === "__proto__") continue;
1560
2473
  target[key] = source[key];
1561
2474
  }
1562
2475
  }
@@ -1613,11 +2526,11 @@ function init(converter, defaultAttributes) {
1613
2526
  var value = parts.slice(1).join("=");
1614
2527
  try {
1615
2528
  var found = decodeURIComponent(parts[0]);
1616
- jar[found] = converter.read(value, found);
2529
+ if (!(found in jar)) jar[found] = converter.read(value, found);
1617
2530
  if (name === found) {
1618
2531
  break;
1619
2532
  }
1620
- } catch (e) {
2533
+ } catch (_e) {
1621
2534
  }
1622
2535
  }
1623
2536
  return name ? jar[name] : jar;
@@ -1650,25 +2563,10 @@ function init(converter, defaultAttributes) {
1650
2563
  }
1651
2564
  var api = init(defaultConverter, { path: "/" });
1652
2565
  /*!
1653
- * shared v9.14.5
2566
+ * shared v9.14.4
1654
2567
  * (c) 2025 kazuya kawaguchi
1655
2568
  * Released under the MIT License.
1656
2569
  */
1657
- function warn(msg, err) {
1658
- if (typeof console !== "undefined") {
1659
- console.warn(`[intlify] ` + msg);
1660
- if (err) {
1661
- console.warn(err.stack);
1662
- }
1663
- }
1664
- }
1665
- const hasWarned = {};
1666
- function warnOnce(msg) {
1667
- if (!hasWarned[msg]) {
1668
- hasWarned[msg] = true;
1669
- warn(msg);
1670
- }
1671
- }
1672
2570
  const inBrowser = typeof window !== "undefined";
1673
2571
  let mark;
1674
2572
  let measure;
@@ -1713,31 +2611,7 @@ const getGlobalThis = () => {
1713
2611
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : create());
1714
2612
  };
1715
2613
  function escapeHtml(rawText) {
1716
- return rawText.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/\//g, "&#x2F;").replace(/=/g, "&#x3D;");
1717
- }
1718
- function escapeAttributeValue(value) {
1719
- return value.replace(/&(?![a-zA-Z0-9#]{2,6};)/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1720
- }
1721
- function sanitizeTranslatedHtml(html2) {
1722
- html2 = html2.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`);
1723
- html2 = html2.replace(/(\w+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);
1724
- const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi;
1725
- if (eventHandlerPattern.test(html2)) {
1726
- if (process.env.NODE_ENV !== "production") {
1727
- warn("Potentially dangerous event handlers detected in translation. Consider removing onclick, onerror, etc. from your translation messages.");
1728
- }
1729
- html2 = html2.replace(/(\s+)(on)(\w+\s*=)/gi, "$1&#111;n$3");
1730
- }
1731
- const javascriptUrlPattern = [
1732
- // In href, src, action, formaction attributes
1733
- /(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,
1734
- // In style attributes within url()
1735
- /(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi
1736
- ];
1737
- javascriptUrlPattern.forEach((pattern) => {
1738
- html2 = html2.replace(pattern, "$1javascript&#58;");
1739
- });
1740
- return html2;
2614
+ return rawText.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
1741
2615
  }
1742
2616
  const hasOwnProperty = Object.prototype.hasOwnProperty;
1743
2617
  function hasOwn(obj, key) {
@@ -1800,6 +2674,21 @@ function incrementer(code2) {
1800
2674
  let current = code2;
1801
2675
  return () => ++current;
1802
2676
  }
2677
+ function warn(msg, err) {
2678
+ if (typeof console !== "undefined") {
2679
+ console.warn(`[intlify] ` + msg);
2680
+ if (err) {
2681
+ console.warn(err.stack);
2682
+ }
2683
+ }
2684
+ }
2685
+ const hasWarned = {};
2686
+ function warnOnce(msg) {
2687
+ if (!hasWarned[msg]) {
2688
+ hasWarned[msg] = true;
2689
+ warn(msg);
2690
+ }
2691
+ }
1803
2692
  function createEmitter() {
1804
2693
  const events = /* @__PURE__ */ new Map();
1805
2694
  const emitter2 = {
@@ -1848,7 +2737,7 @@ function deepCopy(src, des) {
1848
2737
  }
1849
2738
  }
1850
2739
  /*!
1851
- * message-compiler v9.14.5
2740
+ * message-compiler v9.14.4
1852
2741
  * (c) 2025 kazuya kawaguchi
1853
2742
  * Released under the MIT License.
1854
2743
  */
@@ -3398,7 +4287,7 @@ function baseCompile$1(source, options = {}) {
3398
4287
  }
3399
4288
  }
3400
4289
  /*!
3401
- * core-base v9.14.5
4290
+ * core-base v9.14.4
3402
4291
  * (c) 2025 kazuya kawaguchi
3403
4292
  * Released under the MIT License.
3404
4293
  */
@@ -4205,7 +5094,7 @@ function appendItemToChain(chain, target, blocks) {
4205
5094
  }
4206
5095
  return follow;
4207
5096
  }
4208
- const VERSION$1 = "9.14.5";
5097
+ const VERSION$1 = "9.14.4";
4209
5098
  const NOT_REOSLVED = -1;
4210
5099
  const DEFAULT_LOCALE = "en-US";
4211
5100
  const MISSING_RESOLVE_VALUE = "";
@@ -4572,10 +5461,7 @@ function translate(context, ...args) {
4572
5461
  const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
4573
5462
  const msgContext = createMessageContext(ctxOptions);
4574
5463
  const messaged = evaluateMessage(context, msg, msgContext);
4575
- let ret = postTranslation ? postTranslation(messaged, key) : messaged;
4576
- if (escapeParameter && isString$1(ret)) {
4577
- ret = sanitizeTranslatedHtml(ret);
4578
- }
5464
+ const ret = postTranslation ? postTranslation(messaged, key) : messaged;
4579
5465
  if (process.env.NODE_ENV !== "production" || __INTLIFY_PROD_DEVTOOLS__) {
4580
5466
  const payloads = {
4581
5467
  timestamp: Date.now(),
@@ -5292,11 +6178,11 @@ function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
5292
6178
  }
5293
6179
  }
5294
6180
  /*!
5295
- * vue-i18n v9.14.5
6181
+ * vue-i18n v9.14.4
5296
6182
  * (c) 2025 kazuya kawaguchi
5297
6183
  * Released under the MIT License.
5298
6184
  */
5299
- const VERSION = "9.14.5";
6185
+ const VERSION = "9.14.4";
5300
6186
  function initFeatureFlags() {
5301
6187
  if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") {
5302
6188
  getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;
@@ -5565,7 +6451,7 @@ function createComposer(options = {}, VueI18nLegacy) {
5565
6451
  const { __root, __injectWithOption } = options;
5566
6452
  const _isGlobal = __root === void 0;
5567
6453
  const flatJson = options.flatJson;
5568
- const _ref = inBrowser ? ref : shallowRef;
6454
+ const _ref2 = inBrowser ? ref : shallowRef;
5569
6455
  const translateExistCompatible = !!options.translateExistCompatible;
5570
6456
  if (process.env.NODE_ENV !== "production") {
5571
6457
  if (translateExistCompatible && true) {
@@ -5573,17 +6459,17 @@ function createComposer(options = {}, VueI18nLegacy) {
5573
6459
  }
5574
6460
  }
5575
6461
  let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
5576
- const _locale = _ref(
6462
+ const _locale = _ref2(
5577
6463
  // prettier-ignore
5578
6464
  __root && _inheritLocale ? __root.locale.value : isString$1(options.locale) ? options.locale : DEFAULT_LOCALE
5579
6465
  );
5580
- const _fallbackLocale = _ref(
6466
+ const _fallbackLocale = _ref2(
5581
6467
  // prettier-ignore
5582
6468
  __root && _inheritLocale ? __root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray(options.fallbackLocale) || isPlainObject(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value
5583
6469
  );
5584
- const _messages = _ref(getLocaleMessages(_locale.value, options));
5585
- const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
5586
- const _numberFormats = _ref(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
6470
+ const _messages = _ref2(getLocaleMessages(_locale.value, options));
6471
+ const _datetimeFormats = _ref2(isPlainObject(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
6472
+ const _numberFormats = _ref2(isPlainObject(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
5587
6473
  let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
5588
6474
  let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
5589
6475
  let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
@@ -6593,7 +7479,7 @@ function makeParams(value) {
6593
7479
  }
6594
7480
  return [path, named, options];
6595
7481
  }
6596
- function apply(app, i18n2, ...options) {
7482
+ function apply2(app, i18n2, ...options) {
6597
7483
  const pluginOptions = isPlainObject(options[0]) ? options[0] : {};
6598
7484
  const useI18nComponentName = !!pluginOptions.useI18nComponentName;
6599
7485
  const globalInstall = isBoolean(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true;
@@ -7144,7 +8030,7 @@ function createI18n(options = {}, VueI18nLegacy) {
7144
8030
  globalReleaseHandler = injectGlobalFields(app, i18n2.global);
7145
8031
  }
7146
8032
  if (__VUE_I18N_FULL_INSTALL__) {
7147
- apply(app, i18n2, ...options2);
8033
+ apply2(app, i18n2, ...options2);
7148
8034
  }
7149
8035
  if (__VUE_I18N_LEGACY_API__ && __legacyMode) {
7150
8036
  app.mixin(defineMixin(__global, __global.__composer, i18n2));
@@ -9152,7 +10038,7 @@ const _hoisted_9$b = { class: "float-tooltip" };
9152
10038
  const _hoisted_10$a = { class: "float-tooltip-content" };
9153
10039
  const _hoisted_11$8 = { class: "float-tooltip" };
9154
10040
  const _hoisted_12$8 = { class: "float-tooltip-content" };
9155
- const _hoisted_13$5 = { class: "float-tooltip" };
10041
+ const _hoisted_13$6 = { class: "float-tooltip" };
9156
10042
  const _hoisted_14$3 = { class: "float-tooltip-content" };
9157
10043
  const _hoisted_15$3 = ["src", "alt"];
9158
10044
  const _sfc_main$Q = /* @__PURE__ */ defineComponent({
@@ -9483,7 +10369,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
9483
10369
  })
9484
10370
  ])
9485
10371
  ], -1)),
9486
- createElementVNode("div", _hoisted_13$5, [
10372
+ createElementVNode("div", _hoisted_13$6, [
9487
10373
  createElementVNode("span", _hoisted_14$3, toDisplayString$1(unref(t2)("gitCodeLayout.toolsFloat.expand")), 1),
9488
10374
  _cache[14] || (_cache[14] = createElementVNode("span", { class: "float-tooltip-arrow" }, null, -1))
9489
10375
  ])
@@ -10480,7 +11366,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
10480
11366
  key: 0,
10481
11367
  class: "gc-flash-tag__icon",
10482
11368
  src: iconUrl.value
10483
- }, null, 8, _hoisted_1$G)) : renderSlot(_ctx.$slots, "default", { key: 1 })
11369
+ }, null, 8, _hoisted_1$G)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)
10484
11370
  ], 16)
10485
11371
  ]),
10486
11372
  _: 3
@@ -10531,7 +11417,7 @@ var hasRequiredCore;
10531
11417
  function requireCore() {
10532
11418
  if (hasRequiredCore) return core.exports;
10533
11419
  hasRequiredCore = 1;
10534
- (function(module, exports$1) {
11420
+ (function(module, exports) {
10535
11421
  (function(root, factory) {
10536
11422
  {
10537
11423
  module.exports = factory();
@@ -11138,7 +12024,7 @@ var hasRequiredEncBase64;
11138
12024
  function requireEncBase64() {
11139
12025
  if (hasRequiredEncBase64) return encBase64.exports;
11140
12026
  hasRequiredEncBase64 = 1;
11141
- (function(module, exports$1) {
12027
+ (function(module, exports) {
11142
12028
  (function(root, factory) {
11143
12029
  {
11144
12030
  module.exports = factory(requireCore());
@@ -11245,7 +12131,7 @@ var hasRequiredMd5;
11245
12131
  function requireMd5() {
11246
12132
  if (hasRequiredMd5) return md5.exports;
11247
12133
  hasRequiredMd5 = 1;
11248
- (function(module, exports$1) {
12134
+ (function(module, exports) {
11249
12135
  (function(root, factory) {
11250
12136
  {
11251
12137
  module.exports = factory(requireCore());
@@ -11424,7 +12310,7 @@ var hasRequiredSha1;
11424
12310
  function requireSha1() {
11425
12311
  if (hasRequiredSha1) return sha1.exports;
11426
12312
  hasRequiredSha1 = 1;
11427
- (function(module, exports$1) {
12313
+ (function(module, exports) {
11428
12314
  (function(root, factory) {
11429
12315
  {
11430
12316
  module.exports = factory(requireCore());
@@ -11514,7 +12400,7 @@ var hasRequiredHmac;
11514
12400
  function requireHmac() {
11515
12401
  if (hasRequiredHmac) return hmac.exports;
11516
12402
  hasRequiredHmac = 1;
11517
- (function(module, exports$1) {
12403
+ (function(module, exports) {
11518
12404
  (function(root, factory) {
11519
12405
  {
11520
12406
  module.exports = factory(requireCore());
@@ -11619,7 +12505,7 @@ var hasRequiredEvpkdf;
11619
12505
  function requireEvpkdf() {
11620
12506
  if (hasRequiredEvpkdf) return evpkdf.exports;
11621
12507
  hasRequiredEvpkdf = 1;
11622
- (function(module, exports$1) {
12508
+ (function(module, exports) {
11623
12509
  (function(root, factory, undef) {
11624
12510
  {
11625
12511
  module.exports = factory(requireCore(), requireSha1(), requireHmac());
@@ -11709,7 +12595,7 @@ var hasRequiredCipherCore;
11709
12595
  function requireCipherCore() {
11710
12596
  if (hasRequiredCipherCore) return cipherCore.exports;
11711
12597
  hasRequiredCipherCore = 1;
11712
- (function(module, exports$1) {
12598
+ (function(module, exports) {
11713
12599
  (function(root, factory, undef) {
11714
12600
  {
11715
12601
  module.exports = factory(requireCore(), requireEvpkdf());
@@ -12268,15 +13154,11 @@ function requireCipherCore() {
12268
13154
  * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
12269
13155
  * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
12270
13156
  */
12271
- execute: function(password, keySize, ivSize, salt, hasher) {
13157
+ execute: function(password, keySize, ivSize, salt) {
12272
13158
  if (!salt) {
12273
13159
  salt = WordArray.random(64 / 8);
12274
13160
  }
12275
- if (!hasher) {
12276
- var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
12277
- } else {
12278
- var key = EvpKDF.create({ keySize: keySize + ivSize, hasher }).compute(password, salt);
12279
- }
13161
+ var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
12280
13162
  var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
12281
13163
  key.sigBytes = keySize * 4;
12282
13164
  return CipherParams.create({ key, iv, salt });
@@ -12310,7 +13192,7 @@ function requireCipherCore() {
12310
13192
  */
12311
13193
  encrypt: function(cipher, message, password, cfg) {
12312
13194
  cfg = this.cfg.extend(cfg);
12313
- var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
13195
+ var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
12314
13196
  cfg.iv = derivedParams.iv;
12315
13197
  var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
12316
13198
  ciphertext.mixIn(derivedParams);
@@ -12336,7 +13218,7 @@ function requireCipherCore() {
12336
13218
  decrypt: function(cipher, ciphertext, password, cfg) {
12337
13219
  cfg = this.cfg.extend(cfg);
12338
13220
  ciphertext = this._parse(ciphertext, cfg.format);
12339
- var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
13221
+ var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
12340
13222
  cfg.iv = derivedParams.iv;
12341
13223
  var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
12342
13224
  return plaintext;
@@ -12347,7 +13229,7 @@ function requireCipherCore() {
12347
13229
  })(cipherCore);
12348
13230
  return cipherCore.exports;
12349
13231
  }
12350
- (function(module, exports$1) {
13232
+ (function(module, exports) {
12351
13233
  (function(root, factory, undef) {
12352
13234
  {
12353
13235
  module.exports = factory(requireCore(), requireEncBase64(), requireMd5(), requireEvpkdf(), requireCipherCore());
@@ -12496,7 +13378,7 @@ function requireCipherCore() {
12496
13378
  var aesExports = aes.exports;
12497
13379
  const AES = /* @__PURE__ */ getDefaultExportFromCjs(aesExports);
12498
13380
  var padPkcs7 = { exports: {} };
12499
- (function(module, exports$1) {
13381
+ (function(module, exports) {
12500
13382
  (function(root, factory, undef) {
12501
13383
  {
12502
13384
  module.exports = factory(requireCore(), requireCipherCore());
@@ -12508,7 +13390,7 @@ var padPkcs7 = { exports: {} };
12508
13390
  var padPkcs7Exports = padPkcs7.exports;
12509
13391
  const Pkcs7 = /* @__PURE__ */ getDefaultExportFromCjs(padPkcs7Exports);
12510
13392
  var encUtf8 = { exports: {} };
12511
- (function(module, exports$1) {
13393
+ (function(module, exports) {
12512
13394
  (function(root, factory) {
12513
13395
  {
12514
13396
  module.exports = factory(requireCore());
@@ -13035,7 +13917,7 @@ const useBreadcrumb = () => {
13035
13917
  return breadcrumb;
13036
13918
  };
13037
13919
  var relativeTime$1 = { exports: {} };
13038
- (function(module, exports$1) {
13920
+ (function(module, exports) {
13039
13921
  !function(r, e) {
13040
13922
  module.exports = e();
13041
13923
  }(commonjsGlobal, function() {
@@ -13079,7 +13961,7 @@ var relativeTime$1 = { exports: {} };
13079
13961
  var relativeTimeExports = relativeTime$1.exports;
13080
13962
  const relativeTime = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
13081
13963
  var zhCn = { exports: {} };
13082
- (function(module, exports$1) {
13964
+ (function(module, exports) {
13083
13965
  !function(e, _) {
13084
13966
  module.exports = _(dayjs);
13085
13967
  }(commonjsGlobal, function(e) {
@@ -13098,39 +13980,39 @@ var zhCn = { exports: {} };
13098
13980
  var zhCnExports = zhCn.exports;
13099
13981
  const locale = /* @__PURE__ */ getDefaultExportFromCjs(zhCnExports);
13100
13982
  var timezone = { exports: {} };
13101
- (function(module, exports$1) {
13983
+ (function(module, exports) {
13102
13984
  !function(t2, e) {
13103
13985
  module.exports = e();
13104
13986
  }(commonjsGlobal, function() {
13105
13987
  var t2 = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, e = {};
13106
- return function(n, i, o) {
13107
- var r, a = function(t3, n2, i2) {
13988
+ return function(n, i, r) {
13989
+ var o, a = function(t3, n2, i2) {
13108
13990
  void 0 === i2 && (i2 = {});
13109
- var o2 = new Date(t3), r2 = function(t4, n3) {
13991
+ var r2 = new Date(t3), o2 = function(t4, n3) {
13110
13992
  void 0 === n3 && (n3 = {});
13111
- var i3 = n3.timeZoneName || "short", o3 = t4 + "|" + i3, r3 = e[o3];
13112
- return r3 || (r3 = 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[o3] = r3), r3;
13993
+ var i3 = n3.timeZoneName || "short", r3 = t4 + "|" + i3, o3 = e[r3];
13994
+ 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;
13113
13995
  }(n2, i2);
13114
- return r2.formatToParts(o2);
13996
+ return o2.formatToParts(r2);
13115
13997
  }, u = function(e2, n2) {
13116
- for (var i2 = a(e2, n2), r2 = [], u2 = 0; u2 < i2.length; u2 += 1) {
13998
+ for (var i2 = a(e2, n2), o2 = [], u2 = 0; u2 < i2.length; u2 += 1) {
13117
13999
  var f2 = i2[u2], s2 = f2.type, m = f2.value, c = t2[s2];
13118
- c >= 0 && (r2[c] = parseInt(m, 10));
14000
+ c >= 0 && (o2[c] = parseInt(m, 10));
13119
14001
  }
13120
- var d = r2[3], l = 24 === d ? 0 : d, h2 = r2[0] + "-" + r2[1] + "-" + r2[2] + " " + l + ":" + r2[4] + ":" + r2[5] + ":000", v = +e2;
13121
- return (o.utc(h2).valueOf() - (v -= v % 1e3)) / 6e4;
14002
+ var l = o2[3], d = 24 === l ? 0 : l, h2 = o2[0] + "-" + o2[1] + "-" + o2[2] + " " + d + ":" + o2[4] + ":" + o2[5] + ":000", v = +e2;
14003
+ return (r.utc(h2).valueOf() - (v -= v % 1e3)) / 6e4;
13122
14004
  }, f = i.prototype;
13123
14005
  f.tz = function(t3, e2) {
13124
- void 0 === t3 && (t3 = r);
13125
- var n2, i2 = this.utcOffset(), a2 = this.toDate(), u2 = a2.toLocaleString("en-US", { timeZone: t3 }), f2 = Math.round((a2 - new Date(u2)) / 1e3 / 60), s2 = 15 * -Math.round(a2.getTimezoneOffset() / 15) - f2;
14006
+ if (void 0 === t3 && (t3 = o), !this.isValid()) return this;
14007
+ var n2, i2 = this.utcOffset(), a2 = this.toDate(), f2 = a2.toLocaleString("en-US", { timeZone: t3 }), s2 = u(+a2, t3);
13126
14008
  if (!Number(s2)) n2 = this.utcOffset(0, e2);
13127
- else if (n2 = o(u2, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(s2, true), e2) {
14009
+ else if (n2 = r(f2, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(s2, true), e2) {
13128
14010
  var m = n2.utcOffset();
13129
14011
  n2 = n2.add(i2 - m, "minute");
13130
14012
  }
13131
14013
  return n2.$x.$timezone = t3, n2;
13132
14014
  }, f.offsetName = function(t3) {
13133
- var e2 = this.$x.$timezone || o.tz.guess(), n2 = a(this.valueOf(), e2, { timeZoneName: t3 }).find(function(t4) {
14015
+ var e2 = this.$x.$timezone || r.tz.guess(), n2 = a(this.valueOf(), e2, { timeZoneName: t3 }).find(function(t4) {
13134
14016
  return "timezonename" === t4.type.toLowerCase();
13135
14017
  });
13136
14018
  return n2 && n2.value;
@@ -13138,22 +14020,27 @@ var timezone = { exports: {} };
13138
14020
  var s = f.startOf;
13139
14021
  f.startOf = function(t3, e2) {
13140
14022
  if (!this.$x || !this.$x.$timezone) return s.call(this, t3, e2);
13141
- var n2 = o(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
14023
+ var n2 = r(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
13142
14024
  return s.call(n2, t3, e2).tz(this.$x.$timezone, true);
13143
- }, o.tz = function(t3, e2, n2) {
13144
- var i2 = n2 && e2, a2 = n2 || e2 || r, f2 = u(+o(), a2);
13145
- if ("string" != typeof t3) return o(t3).tz(a2);
13146
- var s2 = function(t4, e3, n3) {
13147
- var i3 = t4 - 60 * e3 * 1e3, o2 = u(i3, n3);
13148
- if (e3 === o2) return [i3, e3];
13149
- var r2 = u(i3 -= 60 * (o2 - e3) * 1e3, n3);
13150
- return o2 === r2 ? [i3, o2] : [t4 - 60 * Math.min(o2, r2) * 1e3, Math.max(o2, r2)];
13151
- }(o.utc(t3, i2).valueOf(), f2, a2), m = s2[0], c = s2[1], d = o(m).utcOffset(c);
13152
- return d.$x.$timezone = a2, d;
13153
- }, o.tz.guess = function() {
14025
+ }, r.tz = function(t3, e2, n2) {
14026
+ var i2 = n2 && e2, a2 = n2 || e2 || o, f2 = u(+r(), a2);
14027
+ if ("string" != typeof t3) return r(t3).tz(a2);
14028
+ var s2 = r.utc(t3, i2).valueOf();
14029
+ if (Number.isNaN(s2)) {
14030
+ var m = r(NaN);
14031
+ return m.$x.$timezone = a2, m;
14032
+ }
14033
+ var c = function(t4, e3, n3) {
14034
+ var i3 = t4 - 60 * e3 * 1e3, r2 = u(i3, n3);
14035
+ if (e3 === r2) return [i3, e3];
14036
+ var o2 = u(i3 -= 60 * (r2 - e3) * 1e3, n3);
14037
+ return r2 === o2 ? [i3, r2] : [t4 - 60 * Math.min(r2, o2) * 1e3, Math.max(r2, o2)];
14038
+ }(s2, f2, a2), l = c[0], d = c[1], h2 = r(l).utcOffset(d);
14039
+ return h2.$x.$timezone = a2, h2;
14040
+ }, r.tz.guess = function() {
13154
14041
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
13155
- }, o.tz.setDefault = function(t3) {
13156
- r = t3;
14042
+ }, r.tz.setDefault = function(t3) {
14043
+ o = t3;
13157
14044
  };
13158
14045
  };
13159
14046
  });
@@ -13161,7 +14048,7 @@ var timezone = { exports: {} };
13161
14048
  var timezoneExports = timezone.exports;
13162
14049
  const tz = /* @__PURE__ */ getDefaultExportFromCjs(timezoneExports);
13163
14050
  var utc$1 = { exports: {} };
13164
- (function(module, exports$1) {
14051
+ (function(module, exports) {
13165
14052
  !function(t2, i) {
13166
14053
  module.exports = i();
13167
14054
  }(commonjsGlobal, function() {
@@ -13286,7 +14173,7 @@ const _hoisted_10$9 = {
13286
14173
  };
13287
14174
  const _hoisted_11$7 = ["title"];
13288
14175
  const _hoisted_12$7 = ["title"];
13289
- const _hoisted_13$4 = {
14176
+ const _hoisted_13$5 = {
13290
14177
  key: 0,
13291
14178
  class: "header-custom-tag-mb"
13292
14179
  };
@@ -13639,7 +14526,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
13639
14526
  ]),
13640
14527
  _: 1
13641
14528
  }, 8, ["href"]),
13642
- unref(isGstarRepo)((_e = unref(repoInfo)) == null ? void 0 : _e.topic_names) ? (openBlock(), createElementBlock("div", _hoisted_13$4, [
14529
+ unref(isGstarRepo)((_e = unref(repoInfo)) == null ? void 0 : _e.topic_names) ? (openBlock(), createElementBlock("div", _hoisted_13$5, [
13643
14530
  createVNode(_sfc_main$M, {
13644
14531
  origin: "repo",
13645
14532
  icon: "",
@@ -13901,6 +14788,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
13901
14788
  __name: "index",
13902
14789
  props: {
13903
14790
  dropdownVisible: { type: Boolean, default: false },
14791
+ independence: { type: Boolean, default: false },
13904
14792
  isCreateOrg: { type: Boolean, default: true },
13905
14793
  isCreateEnterprise: { type: Boolean, default: true },
13906
14794
  items: { default: void 0 },
@@ -14055,7 +14943,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
14055
14943
  if (!applicationRoute) return;
14056
14944
  if (typeof window !== "undefined") {
14057
14945
  const applicationUrl = new URL(applicationHref);
14058
- if (applicationUrl.origin !== window.location.origin) {
14946
+ if (props.independence || applicationUrl.origin !== window.location.origin) {
14059
14947
  window.location.href = applicationHref;
14060
14948
  return;
14061
14949
  }
@@ -14405,18 +15293,22 @@ const _hoisted_8$8 = {
14405
15293
  class: "g-number"
14406
15294
  };
14407
15295
  const _hoisted_9$7 = {
15296
+ key: 0,
15297
+ class: "g-number"
15298
+ };
15299
+ const _hoisted_10$7 = {
14408
15300
  key: 2,
14409
15301
  class: "message-content-empty"
14410
15302
  };
14411
- const _hoisted_10$7 = {
15303
+ const _hoisted_11$6 = {
14412
15304
  key: 3,
14413
15305
  class: "loading-more"
14414
15306
  };
14415
- const _hoisted_11$6 = {
15307
+ const _hoisted_12$6 = {
14416
15308
  key: 4,
14417
15309
  class: "no-more"
14418
15310
  };
14419
- const _hoisted_12$6 = { class: "message-footer-nav" };
15311
+ const _hoisted_13$4 = { class: "message-footer-nav" };
14420
15312
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
14421
15313
  __name: "MessageBox",
14422
15314
  setup(__props, { expose: __expose }) {
@@ -14441,6 +15333,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14441
15333
  const mentionSubTab = ref("project");
14442
15334
  const mentionSubTabCount = ref({
14443
15335
  project: 0,
15336
+ private: 0,
14444
15337
  discussion: 0
14445
15338
  });
14446
15339
  const scrollContainer = ref(null);
@@ -14526,7 +15419,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14526
15419
  const res = await API.getMsgDict();
14527
15420
  msgDict.value = res.data;
14528
15421
  (_a2 = res.data) == null ? void 0 : _a2.forEach((item) => {
14529
- var _a3, _b, _c;
15422
+ var _a3, _b, _c, _d;
14530
15423
  if (!item.act) return;
14531
15424
  for (const i in formData.value) {
14532
15425
  if (formData.value[i].messageType === item.type || item.type === "5" && formData.value[i].notifyType === 5) {
@@ -14535,7 +15428,8 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14535
15428
  }
14536
15429
  if (formData.value[i].messageType === "mention" && ((_a3 = item.children) == null ? void 0 : _a3.length) > 0) {
14537
15430
  mentionSubTabCount.value.project = ((_b = item.children.find((child) => child.type === "mention")) == null ? void 0 : _b.un_read_count) || 0;
14538
- mentionSubTabCount.value.discussion = ((_c = item.children.find((child) => child.type === "mention-im")) == null ? void 0 : _c.un_read_count) || 0;
15431
+ mentionSubTabCount.value.private = ((_c = item.children.find((child) => child.type === "private_message")) == null ? void 0 : _c.un_read_count) || 0;
15432
+ mentionSubTabCount.value.discussion = ((_d = item.children.find((child) => child.type === "mention-im")) == null ? void 0 : _d.un_read_count) || 0;
14539
15433
  }
14540
15434
  }
14541
15435
  });
@@ -14548,10 +15442,16 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14548
15442
  msgCount.value = 0;
14549
15443
  }
14550
15444
  };
15445
+ const mentionSubTabTargetTypeMap = {
15446
+ project: "mention",
15447
+ private: "private_message",
15448
+ discussion: "mention-im"
15449
+ };
15450
+ const mentionSubTabTargetType = (tab) => mentionSubTabTargetTypeMap[tab] || "mention";
14551
15451
  const productQueryArgs = (page = 1) => {
14552
15452
  let typeString = checkedId.value;
14553
15453
  if (currentType.value === "mention") {
14554
- typeString = mentionSubTab.value === "project" ? "mention" : "mention-im";
15454
+ typeString = mentionSubTabTargetType(mentionSubTab.value);
14555
15455
  }
14556
15456
  const queryArgs = {
14557
15457
  page_num: page,
@@ -14592,7 +15492,8 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14592
15492
  total.value = Number(((_b = res.data) == null ? void 0 : _b.total) || 0);
14593
15493
  const pages = ((_c = res.data) == null ? void 0 : _c.pages) || 0;
14594
15494
  const newRecords = ((_d = res.data) == null ? void 0 : _d.records.map((item) => {
14595
- const path = item.name_space.type === "org" ? item.name_space.name : item.name_space.path;
15495
+ const nameSpace = item.name_space || {};
15496
+ const path = nameSpace.type === "org" ? nameSpace.name : nameSpace.path;
14596
15497
  const nickName = item.sender_id === "system" ? t2("gitCodeLayout.notice.systemMsgMenu") : item.sender_name || "Gitcode";
14597
15498
  return {
14598
15499
  read: Number(item.read_state) > 0,
@@ -14686,7 +15587,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14686
15587
  const _directive_loading = resolveDirective("loading");
14687
15588
  return openBlock(), createElementBlock("div", {
14688
15589
  class: "message-box",
14689
- onClick: _cache[5] || (_cache[5] = withModifiers(($event) => console.log("stop"), ["stop"]))
15590
+ onClick: _cache[6] || (_cache[6] = withModifiers(($event) => console.log("stop"), ["stop"]))
14690
15591
  }, [
14691
15592
  createElementVNode("div", _hoisted_1$z, [
14692
15593
  createVNode(unref(Tabs), {
@@ -14745,15 +15646,22 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14745
15646
  class: normalizeClass(["message-content-header-item message-content-header-item--mr", { active: mentionSubTab.value === "project" }]),
14746
15647
  onClick: _cache[2] || (_cache[2] = ($event) => switchMentionSubTab("project"))
14747
15648
  }, [
14748
- _cache[6] || (_cache[6] = createTextVNode(" 项目相关 ", -1)),
15649
+ _cache[7] || (_cache[7] = createTextVNode(" 项目相关 ", -1)),
14749
15650
  mentionSubTabCount.value.project > 0 ? (openBlock(), createElementBlock("span", _hoisted_7$a, toDisplayString$1(mentionSubTabCount.value.project), 1)) : createCommentVNode("", true)
14750
15651
  ], 2),
15652
+ createElementVNode("div", {
15653
+ class: normalizeClass(["message-content-header-item message-content-header-item--mr", { active: mentionSubTab.value === "private" }]),
15654
+ onClick: _cache[3] || (_cache[3] = ($event) => switchMentionSubTab("private"))
15655
+ }, [
15656
+ _cache[8] || (_cache[8] = createTextVNode(" 私信 ", -1)),
15657
+ mentionSubTabCount.value.private > 0 ? (openBlock(), createElementBlock("span", _hoisted_8$8, toDisplayString$1(mentionSubTabCount.value.private), 1)) : createCommentVNode("", true)
15658
+ ], 2),
14751
15659
  createElementVNode("div", {
14752
15660
  class: normalizeClass(["message-content-header-item", { active: mentionSubTab.value === "discussion" }]),
14753
- onClick: _cache[3] || (_cache[3] = ($event) => switchMentionSubTab("discussion"))
15661
+ onClick: _cache[4] || (_cache[4] = ($event) => switchMentionSubTab("discussion"))
14754
15662
  }, [
14755
- _cache[7] || (_cache[7] = createTextVNode(" 在线讨论 ", -1)),
14756
- mentionSubTabCount.value.discussion > 0 ? (openBlock(), createElementBlock("span", _hoisted_8$8, toDisplayString$1(mentionSubTabCount.value.discussion), 1)) : createCommentVNode("", true)
15663
+ _cache[9] || (_cache[9] = createTextVNode(" 在线讨论 ", -1)),
15664
+ mentionSubTabCount.value.discussion > 0 ? (openBlock(), createElementBlock("span", _hoisted_9$7, toDisplayString$1(mentionSubTabCount.value.discussion), 1)) : createCommentVNode("", true)
14757
15665
  ], 2)
14758
15666
  ])) : createCommentVNode("", true),
14759
15667
  listData.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(listData.value, (item) => {
@@ -14763,19 +15671,19 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
14763
15671
  data: item,
14764
15672
  onTrigger: ($event) => handleMessageRead(item)
14765
15673
  }, null, 8, ["type", "data", "onTrigger"]);
14766
- }), 128)) : (openBlock(), createElementBlock("div", _hoisted_9$7, [
15674
+ }), 128)) : (openBlock(), createElementBlock("div", _hoisted_10$7, [
14767
15675
  createElementVNode("div", null, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.noMessage")), 1)
14768
15676
  ])),
14769
- loadingMore.value ? (openBlock(), createElementBlock("div", _hoisted_10$7, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.loading")) + "... ", 1)) : createCommentVNode("", true),
14770
- !hasMore.value && listData.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_11$6, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.noMore")), 1)) : createCommentVNode("", true)
15677
+ loadingMore.value ? (openBlock(), createElementBlock("div", _hoisted_11$6, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.loading")) + "... ", 1)) : createCommentVNode("", true),
15678
+ !hasMore.value && listData.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_12$6, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.noMore")), 1)) : createCommentVNode("", true)
14771
15679
  ])), [
14772
15680
  [_directive_loading, loading.value]
14773
15681
  ])
14774
15682
  ], 512),
14775
- createElementVNode("div", _hoisted_12$6, [
15683
+ createElementVNode("div", _hoisted_13$4, [
14776
15684
  createElementVNode("div", { onClick: setPageRead }, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.pageRead")), 1),
14777
15685
  createElementVNode("div", {
14778
- onClick: _cache[4] || (_cache[4] = ($event) => toPage("all"))
15686
+ onClick: _cache[5] || (_cache[5] = ($event) => toPage("all"))
14779
15687
  }, toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.viewAll")) + "  >", 1)
14780
15688
  ])
14781
15689
  ]);
@@ -16169,12 +17077,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
16169
17077
  setup(__props) {
16170
17078
  const layoutConfig2 = useLayoutConfig();
16171
17079
  const { t: $t } = i18n.global;
16172
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-g_ooyoDn.js"));
16173
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-B68GygQe.js"));
16174
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-D4WuCsub.js"));
16175
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-BRHEDL2D.js"));
16176
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CNJd45Ge.js"));
16177
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-DiWjRapV.js"));
17080
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-DzbH-bqt.js"));
17081
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-BDv9VoKV.js"));
17082
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CyqYE-oU.js"));
17083
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-CpJYD474.js"));
17084
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-cN4MRz7O.js"));
17085
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BMi4fhX2.js"));
16178
17086
  const props = __props;
16179
17087
  const repoInfo = inject("repoInfo", computed(() => void 0));
16180
17088
  const orgInfo = inject("orgInfo", computed(() => void 0));
@@ -16722,13 +17630,13 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
16722
17630
  searchStr: keyword.value,
16723
17631
  searchInfo: derivedSearchInfo.value
16724
17632
  }, null, 8, ["searchStr", "searchInfo"])) : createCommentVNode("", true),
16725
- !derivedSearchInfo.value.searchScope ? renderSlot(_ctx.$slots, "globalSearch", normalizeProps(mergeProps({ key: 2 }, { searchStr: keyword.value, searchMore: handleSearchMore })), () => [
17633
+ !derivedSearchInfo.value.searchScope ? renderSlot(_ctx.$slots, "globalSearch", normalizeProps(guardReactiveProps({ searchStr: keyword.value, searchMore: handleSearchMore })), () => [
16726
17634
  !derivedSearchInfo.value.searchScope ? (openBlock(), createBlock(unref(GloabarSearch), {
16727
17635
  key: 0,
16728
17636
  searchStr: keyword.value,
16729
17637
  onSearchMore: handleSearchMore
16730
17638
  }, null, 8, ["searchStr"])) : createCommentVNode("", true)
16731
- ], true) : createCommentVNode("", true)
17639
+ ], true, 2) : createCommentVNode("", true)
16732
17640
  ], 512), [
16733
17641
  [vShow, searchStr.value]
16734
17642
  ]),
@@ -16746,9 +17654,9 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
16746
17654
  }, null, 8, ["searchHistoryList", "visitHistoryList", "activeIndex"]), [
16747
17655
  [vShow, !searchStr.value]
16748
17656
  ]),
16749
- !searchStr.value && showRecommend.value ? renderSlot(_ctx.$slots, "searchRecommend", { key: 0 }, () => [
17657
+ !searchStr.value && showRecommend.value ? renderSlot(_ctx.$slots, "searchRecommend", {}, () => [
16750
17658
  createVNode(unref(SearchRecommed))
16751
- ], true) : createCommentVNode("", true)
17659
+ ], true, 0) : createCommentVNode("", true)
16752
17660
  ])
16753
17661
  ]),
16754
17662
  default: withCtx(() => [
@@ -17140,8 +18048,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
17140
18048
  );
17141
18049
  const fallbackUrls = computed(() => ({
17142
18050
  atomCode: "https://atomcode.atomgit.com/",
17143
- learn: "/learn",
17144
- space: "/space",
18051
+ learn: props.independence ? joinUrl(layoutConfig2.VITE_HOST, "/learn") : "/learn",
18052
+ space: props.independence ? joinUrl(layoutConfig2.VITE_HOST, "/space") : "/space",
17145
18053
  schoolParty: transformUrl("https://activity.gitcode.com/schoolparty?utm_source=homepage"),
17146
18054
  competition: joinUrl(
17147
18055
  layoutConfig2.VITE_COMPETITION_HOST || "https://competition.gitcode.com",
@@ -17543,7 +18451,7 @@ const vElementExposure = {
17543
18451
  beforeUnmount() {
17544
18452
  }
17545
18453
  };
17546
- const NoticeModal = defineAsyncComponent(() => import("./notice-Dleiw4LE.js"));
18454
+ const NoticeModal = defineAsyncComponent(() => import("./notice-BCsRECZ7.js"));
17547
18455
  function clearNotice() {
17548
18456
  if (localStorage$2.getItem("validator_email")) {
17549
18457
  localStorage$2.removeItem("validator_email");
@@ -18078,7 +18986,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
18078
18986
  key: 0,
18079
18987
  class: normalizeClass(["g-toolbar-custom", inAIHub.value && !unref(isPhone)() ? "g-toolbar-custom--ai" : ""])
18080
18988
  }, [
18081
- _ctx.$slots.headerCustom ? renderSlot(_ctx.$slots, "headerCustom", { key: 0 }, void 0, true) : isModuleVisible(unref(HeaderDisplayItem).CUSTOM_CONTENT) && !showNameAndIcon.value ? (openBlock(), createBlock(HeaderCustom, {
18989
+ _ctx.$slots.headerCustom ? renderSlot(_ctx.$slots, "headerCustom", {}, void 0, true, 0) : isModuleVisible(unref(HeaderDisplayItem).CUSTOM_CONTENT) && !showNameAndIcon.value ? (openBlock(), createBlock(HeaderCustom, {
18082
18990
  key: 1,
18083
18991
  scene: __props.sceneValue,
18084
18992
  isLogin: __props.isLogin,
@@ -18100,7 +19008,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
18100
19008
  renderSlot(_ctx.$slots, "headerMiddleRight", {}, void 0, true)
18101
19009
  ])) : createCommentVNode("", true),
18102
19010
  !inAIHub.value ? (openBlock(), createElementBlock("div", _hoisted_3$h, [
18103
- isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", { key: 0 }, () => [
19011
+ isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {}, () => [
18104
19012
  (openBlock(), createBlock(Search, {
18105
19013
  inAIHub: inAIHub.value,
18106
19014
  key: _ctx.$route.fullPath,
@@ -18123,25 +19031,25 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
18123
19031
  key: "1"
18124
19032
  } : void 0
18125
19033
  ]), 1032, ["inAIHub", "sceneValue", "isShowStickyNotice", "defaultGlobalSearchType"]))
18126
- ], true) : createCommentVNode("", true)
19034
+ ], true, 0) : createCommentVNode("", true)
18127
19035
  ])) : createCommentVNode("", true),
18128
19036
  createElementVNode("div", {
18129
19037
  class: normalizeClass(["g-toolbar-right allow-click-stop", inAIHub.value ? "g-toolbar-right--ai" : ""])
18130
19038
  }, [
18131
- !inAIHub.value && props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", { key: 0 }, () => [
19039
+ !inAIHub.value && props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", {}, () => [
18132
19040
  createVNode(AtomCodeLauncher, {
18133
19041
  atomcodeLaunchQs: props.atomcodeLaunchQs,
18134
19042
  isLogin: props.isLogin,
18135
19043
  launchAtomCode: props.launchAtomCode
18136
19044
  }, null, 8, ["atomcodeLaunchQs", "isLogin", "launchAtomCode"])
18137
- ], true) : createCommentVNode("", true),
18138
- !inAIHub.value ? renderSlot(_ctx.$slots, "headerActions", { key: 1 }, () => [
19045
+ ], true, 0) : createCommentVNode("", true),
19046
+ !inAIHub.value ? renderSlot(_ctx.$slots, "headerActions", {}, () => [
18139
19047
  createVNode(HomeHeaderActions, {
18140
19048
  "workspace-navigate": props.workspaceNavigate,
18141
19049
  isLogin: props.isLogin,
18142
19050
  independence: props.independence
18143
19051
  }, null, 8, ["workspace-navigate", "isLogin", "independence"])
18144
- ], true) : createCommentVNode("", true),
19052
+ ], true, 1) : createCommentVNode("", true),
18145
19053
  isClaimRowVisible.value ? (openBlock(), createElementBlock("div", _hoisted_4$c, [
18146
19054
  createVNode(ClaimPower, { config: claimPowerConfig.value }, null, 8, ["config"]),
18147
19055
  isModuleVisible(unref(HeaderDisplayItem).OPERATION_ENTRY) ? (openBlock(), createBlock(OperationEntry, { key: 0 })) : createCommentVNode("", true)
@@ -18190,8 +19098,9 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
18190
19098
  items: props.createMenuItems,
18191
19099
  onNavigate: props.createMenuNavigate,
18192
19100
  isCreateEnterprise: isCreateEnterpriseVisible.value,
19101
+ independence: props.independence,
18193
19102
  "onUpdate:dropdownVisible": _cache[6] || (_cache[6] = ($event) => emit("update:openCreateDropdown", $event))
18194
- }, null, 8, ["dropdownVisible", "items", "onNavigate", "isCreateEnterprise"])) : createCommentVNode("", true),
19103
+ }, null, 8, ["dropdownVisible", "items", "onNavigate", "isCreateEnterprise", "independence"])) : createCommentVNode("", true),
18195
19104
  isModuleVisible(unref(HeaderDisplayItem).DOCUMENT_CENTER) ? (openBlock(), createBlock(DocumentCenter, { key: 2 })) : createCommentVNode("", true),
18196
19105
  isModuleVisible(unref(HeaderDisplayItem).MESSAGE_CENTER) ? (openBlock(), createBlock(Notice, { key: 3 })) : createCommentVNode("", true),
18197
19106
  isModuleVisible(unref(HeaderDisplayItem).LOGIN_AND_AVATAR) ? (openBlock(), createBlock(UserAvatar, {
@@ -19645,7 +20554,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
19645
20554
  ], 64))
19646
20555
  ]),
19647
20556
  createElementVNode("div", _hoisted_6$4, [
19648
- isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", { key: 0 }, () => [
20557
+ isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", {}, () => [
19649
20558
  (openBlock(), createBlock(Search, {
19650
20559
  inAIHub: false,
19651
20560
  key: _ctx.$route.fullPath,
@@ -19668,16 +20577,16 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
19668
20577
  key: "1"
19669
20578
  } : void 0
19670
20579
  ]), 1032, ["sceneValue", "defaultGlobalSearchType"]))
19671
- ], true) : createCommentVNode("", true)
20580
+ ], true, 0) : createCommentVNode("", true)
19672
20581
  ]),
19673
20582
  createElementVNode("div", _hoisted_7$3, [
19674
- __props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", { key: 0 }, () => [
20583
+ __props.showAtomCodeLauncher ? renderSlot(_ctx.$slots, "atomCodeLauncher", {}, () => [
19675
20584
  createVNode(AtomCodeLauncher, {
19676
20585
  atomcodeLaunchQs: __props.atomcodeLaunchQs,
19677
20586
  isLogin: __props.isLogin,
19678
20587
  launchAtomCode: __props.launchAtomCode
19679
20588
  }, null, 8, ["atomcodeLaunchQs", "isLogin", "launchAtomCode"])
19680
- ], true) : createCommentVNode("", true),
20589
+ ], true, 0) : createCommentVNode("", true),
19681
20590
  createVNode(HomeHeaderActions, {
19682
20591
  isLogin: __props.isLogin,
19683
20592
  independence: __props.independence
@@ -19725,8 +20634,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
19725
20634
  items: __props.createMenuItems,
19726
20635
  onNavigate: __props.createMenuNavigate,
19727
20636
  isCreateEnterprise: isCreateEnterpriseVisible.value,
20637
+ independence: __props.independence,
19728
20638
  "onUpdate:dropdownVisible": _cache[3] || (_cache[3] = ($event) => emit("update:openCreateDropdown", $event))
19729
- }, null, 8, ["dropdownVisible", "items", "onNavigate", "isCreateEnterprise"])) : createCommentVNode("", true),
20639
+ }, null, 8, ["dropdownVisible", "items", "onNavigate", "isCreateEnterprise", "independence"])) : createCommentVNode("", true),
19730
20640
  isModuleVisible(unref(HeaderDisplayItem).MESSAGE_CENTER) ? (openBlock(), createBlock(Notice, { key: 2 })) : createCommentVNode("", true),
19731
20641
  isModuleVisible(unref(HeaderDisplayItem).LOGIN_AND_AVATAR) ? (openBlock(), createBlock(UserAvatar, {
19732
20642
  key: 3,
@@ -19992,9 +20902,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
19992
20902
  const layoutConfig2 = useLayoutConfig();
19993
20903
  const { t: t2 } = i18n.global;
19994
20904
  const route = useRoute();
19995
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-BznpPcWm.js"));
19996
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-CYynTRGA.js"));
19997
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-1HqdBGW9.js"));
20905
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-Fu7SS3Tz.js"));
20906
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-nSkrRa6K.js"));
20907
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-DPscVNRR.js"));
19998
20908
  const props = __props;
19999
20909
  const useReport2 = inject("useReport");
20000
20910
  const userInfo = inject("userInfo");
@@ -23617,7 +24527,7 @@ const verifyCodeRegExp4 = /^\d{4}$/;
23617
24527
  const verifyCodeRegExp6 = /^\d{6}$/;
23618
24528
  const mobileRegExp = /^1[3-9]\d{9}$/;
23619
24529
  const usernameRegExp = /^(?!-)[a-zA-Z][a-zA-Z0-9_-]{1,49}$/;
23620
- 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}"]]] } };
24530
+ 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)|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]|[67]3)|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-6]|80[2-46]", "11|2[02]|33|4[04]|79[1-6]|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9]))|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(?:[0-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, [["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[02589]|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", ["[1357-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}|[23568]\\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{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}"]]] } };
23621
24531
  function withMetadataArgument(func, _arguments) {
23622
24532
  var args = Array.prototype.slice.call(_arguments);
23623
24533
  args.push(metadata);
@@ -23645,6 +24555,10 @@ var objectConstructor = {}.constructor;
23645
24555
  function isObject(object) {
23646
24556
  return object !== void 0 && object !== null && object.constructor === objectConstructor;
23647
24557
  }
24558
+ var CALLING_CODE_REG_EXP = /^\d+$/;
24559
+ function isCallingCode(string) {
24560
+ return CALLING_CODE_REG_EXP.test(string);
24561
+ }
23648
24562
  function _typeof$7(o) {
23649
24563
  "@babel/helpers - typeof";
23650
24564
  return _typeof$7 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
@@ -23682,7 +24596,6 @@ function _toPrimitive$6(t2, r) {
23682
24596
  var V3 = "1.2.0";
23683
24597
  var V4 = "1.7.35";
23684
24598
  var DEFAULT_EXT_PREFIX = " ext. ";
23685
- var CALLING_CODE_REG_EXP = /^\d+$/;
23686
24599
  var Metadata = /* @__PURE__ */ function() {
23687
24600
  function Metadata2(metadata2) {
23688
24601
  _classCallCheck$2(this, Metadata2);
@@ -23745,18 +24658,32 @@ var Metadata = /* @__PURE__ */ function() {
23745
24658
  value: function country(countryCode) {
23746
24659
  return this.selectNumberingPlan(countryCode);
23747
24660
  }
24661
+ /**
24662
+ * Selects a telephone numbering plan based on either a country code or a calling code.
24663
+ * @param {string} argument — Country code or calling code.
24664
+ * @param {string} legacyArgumentCallingCode — Legacy argument: calling code, if the first argument is not passed.
24665
+ */
23748
24666
  }, {
23749
24667
  key: "selectNumberingPlan",
23750
- value: function selectNumberingPlan(countryCode, callingCode) {
23751
- if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {
23752
- callingCode = countryCode;
23753
- countryCode = null;
24668
+ value: function selectNumberingPlan(argument, legacyArgumentCallingCode) {
24669
+ var countryCode;
24670
+ var callingCode;
24671
+ if (argument) {
24672
+ if (isCallingCode(argument)) {
24673
+ callingCode = argument;
24674
+ } else {
24675
+ countryCode = argument;
24676
+ }
24677
+ }
24678
+ if (legacyArgumentCallingCode) {
24679
+ callingCode = legacyArgumentCallingCode;
23754
24680
  }
23755
24681
  if (countryCode && countryCode !== "001") {
23756
- if (!this.hasCountry(countryCode)) {
24682
+ var countryMetadata = this.getCountryMetadata(countryCode);
24683
+ if (!countryMetadata) {
23757
24684
  throw new Error("Unknown country: ".concat(countryCode));
23758
24685
  }
23759
- this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);
24686
+ this.numberingPlan = new NumberingPlan(countryMetadata, this);
23760
24687
  } else if (callingCode) {
23761
24688
  if (!this.hasCallingCode(callingCode)) {
23762
24689
  throw new Error("Unknown calling code: ".concat(callingCode));
@@ -23908,16 +24835,28 @@ var NumberingPlan = /* @__PURE__ */ function() {
23908
24835
  value: function callingCode() {
23909
24836
  return this.metadata[0];
23910
24837
  }
23911
- // Formatting information for regions which share
23912
- // a country calling code is contained by only one region
23913
- // for performance reasons. For example, for NANPA region
23914
- // ("North American Numbering Plan Administration",
23915
- // which includes USA, Canada, Cayman Islands, Bahamas, etc)
23916
- // it will be contained in the metadata for `US`.
24838
+ // When multiple countries share the same calling code,
24839
+ // all phone number formatting rules are included in the metadata
24840
+ // of the "default" country for that calling code.
24841
+ // Any other countries' metdata doesn't include any formatting rules.
24842
+ // Google developers said that such storage architecture was chosen for performance reasons.
24843
+ //
24844
+ // For example, for NANPA region ("North American Numbering Plan Administration",
24845
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc) all formatting rules
24846
+ // are contained in the metadata of `US` country.
24847
+ //
24848
+ // This is not public API.
24849
+ //
24850
+ }, {
24851
+ key: "_getDefaultCountryMetadataForThisCallingCode",
24852
+ value: function _getDefaultCountryMetadataForThisCallingCode() {
24853
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
24854
+ }
24855
+ // Deprecated.
23917
24856
  }, {
23918
24857
  key: "getDefaultCountryMetadataForRegion",
23919
24858
  value: function getDefaultCountryMetadataForRegion() {
23920
- return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
24859
+ return this._getDefaultCountryMetadataForThisCallingCode();
23921
24860
  }
23922
24861
  // Is always present.
23923
24862
  }, {
@@ -23958,7 +24897,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
23958
24897
  key: "formats",
23959
24898
  value: function formats() {
23960
24899
  var _this = this;
23961
- var formats2 = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
24900
+ var formats2 = this._getFormats(this.metadata) || this._getFormats(this._getDefaultCountryMetadataForThisCallingCode()) || [];
23962
24901
  return formats2.map(function(_) {
23963
24902
  return new Format(_, _this);
23964
24903
  });
@@ -23979,7 +24918,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
23979
24918
  }, {
23980
24919
  key: "nationalPrefixFormattingRule",
23981
24920
  value: function nationalPrefixFormattingRule() {
23982
- return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
24921
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode());
23983
24922
  }
23984
24923
  }, {
23985
24924
  key: "_nationalPrefixForParsing",
@@ -24008,7 +24947,7 @@ var NumberingPlan = /* @__PURE__ */ function() {
24008
24947
  }, {
24009
24948
  key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
24010
24949
  value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {
24011
- return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
24950
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode());
24012
24951
  }
24013
24952
  }, {
24014
24953
  key: "leadingDigits",
@@ -24149,15 +25088,15 @@ function validateMetadata(metadata2) {
24149
25088
  var typeOf = function typeOf2(_) {
24150
25089
  return _typeof$7(_);
24151
25090
  };
24152
- function getCountryCallingCode(country, metadata2) {
24153
- metadata2 = new Metadata(metadata2);
25091
+ function getCountryCallingCode(country, metadataJson) {
25092
+ var metadata2 = new Metadata(metadataJson);
24154
25093
  if (metadata2.hasCountry(country)) {
24155
25094
  return metadata2.selectNumberingPlan(country).countryCallingCode();
24156
25095
  }
24157
25096
  throw new Error("Unknown country: ".concat(country));
24158
25097
  }
24159
- function isSupportedCountry(country, metadata2) {
24160
- return metadata2.countries.hasOwnProperty(country);
25098
+ function isSupportedCountry(country, metadataJson) {
25099
+ return metadataJson.countries.hasOwnProperty(country);
24161
25100
  }
24162
25101
  function setVersion(metadata2) {
24163
25102
  var version = metadata2.version;
@@ -24179,9 +25118,9 @@ function setVersion(metadata2) {
24179
25118
  }
24180
25119
  }
24181
25120
  function checkNumberLength(nationalNumber, country, metadata2) {
24182
- return checkNumberLengthForType(nationalNumber, country, void 0, metadata2);
25121
+ return checkNumberLengthForType(nationalNumber, void 0, country, metadata2);
24183
25122
  }
24184
- function checkNumberLengthForType(nationalNumber, country, type, metadata2) {
25123
+ function checkNumberLengthForType(nationalNumber, type, country, metadata2) {
24185
25124
  if (country) {
24186
25125
  metadata2 = new Metadata(metadata2.metadata);
24187
25126
  metadata2.selectNumberingPlan(country);
@@ -24204,16 +25143,16 @@ function checkNumberLengthForType(nationalNumber, country, type, metadata2) {
24204
25143
  }
24205
25144
  return possible_lengths.indexOf(actual_length, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
24206
25145
  }
24207
- function isPossiblePhoneNumber$2(input, options, metadata2) {
25146
+ function isPossiblePhoneNumber$2(input, options, metadataJson) {
24208
25147
  if (options === void 0) {
24209
25148
  options = {};
24210
25149
  }
24211
- metadata2 = new Metadata(metadata2);
25150
+ var metadata2 = new Metadata(metadataJson);
24212
25151
  if (options.v2) {
24213
25152
  if (!input.countryCallingCode) {
24214
25153
  throw new Error("Invalid phone number object passed");
24215
25154
  }
24216
- metadata2.selectNumberingPlan(input.countryCallingCode);
25155
+ metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
24217
25156
  } else {
24218
25157
  if (!input.phone) {
24219
25158
  return false;
@@ -24231,17 +25170,15 @@ function isPossiblePhoneNumber$2(input, options, metadata2) {
24231
25170
  }
24232
25171
  }
24233
25172
  if (metadata2.possibleLengths()) {
24234
- return isPossibleNumber(input.phone || input.nationalNumber, input.country, metadata2);
24235
- } else {
24236
- if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {
24237
- return true;
24238
- } else {
24239
- throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
24240
- }
25173
+ return isPossibleNumber(input.phone || input.nationalNumber, metadata2);
25174
+ }
25175
+ if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {
25176
+ return true;
24241
25177
  }
25178
+ throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
24242
25179
  }
24243
- function isPossibleNumber(nationalNumber, country, metadata2) {
24244
- switch (checkNumberLength(nationalNumber, country, metadata2)) {
25180
+ function isPossibleNumber(nationalNumber, metadata2) {
25181
+ switch (checkNumberLength(nationalNumber, void 0, metadata2)) {
24245
25182
  case "IS_POSSIBLE":
24246
25183
  return true;
24247
25184
  default:
@@ -24277,13 +25214,13 @@ function _arrayLikeToArray$3(r, a) {
24277
25214
  return n;
24278
25215
  }
24279
25216
  var NON_FIXED_LINE_PHONE_TYPES = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
24280
- function getNumberType(input, options, metadata2) {
25217
+ function getNumberType(input, options, metadataJson) {
24281
25218
  options = options || {};
24282
25219
  if (!input.country && !input.countryCallingCode) {
24283
25220
  return;
24284
25221
  }
24285
- metadata2 = new Metadata(metadata2);
24286
- metadata2.selectNumberingPlan(input.country, input.countryCallingCode);
25222
+ var metadata2 = new Metadata(metadataJson);
25223
+ metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
24287
25224
  var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
24288
25225
  if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern())) {
24289
25226
  return;
@@ -24308,25 +25245,45 @@ function getNumberType(input, options, metadata2) {
24308
25245
  }
24309
25246
  }
24310
25247
  function isNumberTypeEqualTo(nationalNumber, type, metadata2) {
24311
- type = metadata2.type(type);
24312
- if (!type || !type.pattern()) {
25248
+ var typeDefinition = metadata2.type(type);
25249
+ if (!typeDefinition || !typeDefinition.pattern()) {
24313
25250
  return false;
24314
25251
  }
24315
- if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {
25252
+ if (typeDefinition.possibleLengths() && typeDefinition.possibleLengths().indexOf(nationalNumber.length) < 0) {
24316
25253
  return false;
24317
25254
  }
24318
- return matchesEntirely(nationalNumber, type.pattern());
25255
+ return matchesEntirely(nationalNumber, typeDefinition.pattern());
24319
25256
  }
24320
- function isValidNumber(input, options, metadata2) {
25257
+ function isValidNumber(input, options, metadataJson) {
24321
25258
  options = options || {};
24322
- metadata2 = new Metadata(metadata2);
24323
- metadata2.selectNumberingPlan(input.country, input.countryCallingCode);
25259
+ var metadata2 = new Metadata(metadataJson);
25260
+ metadata2.selectNumberingPlan(input.country || input.countryCallingCode);
24324
25261
  if (metadata2.hasTypes()) {
24325
25262
  return getNumberType(input, options, metadata2.metadata) !== void 0;
24326
25263
  }
24327
25264
  var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
24328
25265
  return matchesEntirely(nationalNumber, metadata2.nationalNumberPattern());
24329
25266
  }
25267
+ var COUNTRY_CODE_REG_EXP = /^[A-Z]{2}$/;
25268
+ function isCountryCode(string) {
25269
+ return COUNTRY_CODE_REG_EXP.test(string);
25270
+ }
25271
+ function getCountryAndCallingCodeFromOneOfThem(countryOrCallingCode, metadataJson) {
25272
+ var country;
25273
+ var callingCode;
25274
+ var metadata2 = new Metadata(metadataJson);
25275
+ if (isCountryCode(countryOrCallingCode)) {
25276
+ country = countryOrCallingCode;
25277
+ metadata2.selectNumberingPlan(country);
25278
+ callingCode = metadata2.countryCallingCode();
25279
+ } else {
25280
+ callingCode = countryOrCallingCode;
25281
+ }
25282
+ return {
25283
+ country,
25284
+ callingCode
25285
+ };
25286
+ }
24330
25287
  function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata2) {
24331
25288
  var _metadata = new Metadata(metadata2);
24332
25289
  var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);
@@ -24337,13 +25294,10 @@ function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata2) {
24337
25294
  return couldNationalNumberBelongToCountry(nationalNumber, country, metadata2);
24338
25295
  });
24339
25296
  }
24340
- function couldNationalNumberBelongToCountry(nationalNumber, country, metadata2) {
24341
- var _metadata = new Metadata(metadata2);
24342
- _metadata.selectNumberingPlan(country);
24343
- if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {
24344
- return true;
24345
- }
24346
- return false;
25297
+ function couldNationalNumberBelongToCountry(nationalNumber, country, metadataJson) {
25298
+ var metadata2 = new Metadata(metadataJson);
25299
+ metadata2.selectNumberingPlan(country);
25300
+ return metadata2.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0;
24347
25301
  }
24348
25302
  var MIN_LENGTH_FOR_NSN = 2;
24349
25303
  var MAX_LENGTH_FOR_NSN = 17;
@@ -24358,13 +25312,13 @@ var TILDES = "~⁓∼~";
24358
25312
  var VALID_PUNCTUATION = "".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);
24359
25313
  var PLUS_CHARS = "++";
24360
25314
  var CAPTURING_DIGIT_PATTERN = new RegExp("([" + VALID_DIGITS + "])");
24361
- function stripIddPrefix(number2, country, callingCode, metadata2) {
25315
+ function stripIddPrefix(number2, country, callingCode, metadataJson) {
24362
25316
  if (!country) {
24363
25317
  return;
24364
25318
  }
24365
- var countryMetadata = new Metadata(metadata2);
24366
- countryMetadata.selectNumberingPlan(country, callingCode);
24367
- var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());
25319
+ var metadata2 = new Metadata(metadataJson);
25320
+ metadata2.selectNumberingPlan(country || callingCode);
25321
+ var IDDPrefixPattern = new RegExp(metadata2.IDDPrefix());
24368
25322
  if (number2.search(IDDPrefixPattern) !== 0) {
24369
25323
  return;
24370
25324
  }
@@ -24443,26 +25397,25 @@ function _arrayLikeToArray$2(r, a) {
24443
25397
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
24444
25398
  return n;
24445
25399
  }
24446
- function getCountryByNationalNumber(nationalPhoneNumber, _ref) {
24447
- var countries = _ref.countries, metadata2 = _ref.metadata;
24448
- metadata2 = new Metadata(metadata2);
25400
+ function getCountryByNationalNumber(nationalNumber, countries, metadataJson) {
25401
+ var metadata2 = new Metadata(metadataJson);
24449
25402
  for (var _iterator = _createForOfIteratorHelperLoose$1(countries), _step; !(_step = _iterator()).done; ) {
24450
25403
  var country = _step.value;
24451
25404
  metadata2.selectNumberingPlan(country);
24452
25405
  if (metadata2.leadingDigits()) {
24453
- if (nationalPhoneNumber && nationalPhoneNumber.search(metadata2.leadingDigits()) === 0) {
25406
+ if (nationalNumber && nationalNumber.search(metadata2.leadingDigits()) === 0) {
24454
25407
  return country;
24455
25408
  }
24456
25409
  } else if (getNumberType({
24457
- phone: nationalPhoneNumber,
25410
+ phone: nationalNumber,
24458
25411
  country
24459
25412
  }, void 0, metadata2.metadata)) {
24460
25413
  return country;
24461
25414
  }
24462
25415
  }
24463
25416
  }
24464
- function getCountryByCallingCode(callingCode, _ref) {
24465
- var nationalPhoneNumber = _ref.nationalNumber, metadata2 = _ref.metadata;
25417
+ function getCountryByCallingCode(callingCode, _ref2) {
25418
+ var nationalNumber = _ref2.nationalNumber, metadata2 = _ref2.metadata;
24466
25419
  var possibleCountries = metadata2.getCountryCodesForCallingCode(callingCode);
24467
25420
  if (!possibleCountries) {
24468
25421
  return;
@@ -24470,10 +25423,7 @@ function getCountryByCallingCode(callingCode, _ref) {
24470
25423
  if (possibleCountries.length === 1) {
24471
25424
  return possibleCountries[0];
24472
25425
  }
24473
- return getCountryByNationalNumber(nationalPhoneNumber, {
24474
- countries: possibleCountries,
24475
- metadata: metadata2.metadata
24476
- });
25426
+ return getCountryByNationalNumber(nationalNumber, possibleCountries, metadata2.metadata);
24477
25427
  }
24478
25428
  function extractNationalNumber(number2, country, metadata2) {
24479
25429
  var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number2, metadata2), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;
@@ -24517,15 +25467,20 @@ function isPossibleIncompleteNationalNumber(nationalNumber, country, metadata2)
24517
25467
  return true;
24518
25468
  }
24519
25469
  }
24520
- function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadata2) {
24521
- var countryCallingCode = defaultCountry ? getCountryCallingCode(defaultCountry, metadata2) : defaultCallingCode;
25470
+ function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadataJson) {
25471
+ if (!(defaultCountry || defaultCallingCode)) {
25472
+ return {
25473
+ number: number2
25474
+ };
25475
+ }
25476
+ var countryCallingCode = defaultCountry ? getCountryCallingCode(defaultCountry, metadataJson) : defaultCallingCode;
24522
25477
  if (number2.indexOf(countryCallingCode) === 0) {
24523
- metadata2 = new Metadata(metadata2);
24524
- metadata2.selectNumberingPlan(defaultCountry, countryCallingCode);
25478
+ var metadata2 = new Metadata(metadataJson);
25479
+ metadata2.selectNumberingPlan(defaultCountry || defaultCallingCode);
24525
25480
  var possibleShorterNumber = number2.slice(countryCallingCode.length);
24526
- var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, country, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;
24527
- var _extractNationalNumbe2 = extractNationalNumber(number2, country, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;
24528
- if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, country, metadata2) === "TOO_LONG") {
25481
+ var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, void 0, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;
25482
+ var _extractNationalNumbe2 = extractNationalNumber(number2, void 0, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;
25483
+ if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, void 0, metadata2) === "TOO_LONG") {
24529
25484
  return {
24530
25485
  countryCallingCode,
24531
25486
  number: possibleShorterNumber
@@ -24536,19 +25491,19 @@ function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2
24536
25491
  number: number2
24537
25492
  };
24538
25493
  }
24539
- function extractCountryCallingCode(number2, country, defaultCountry, defaultCallingCode, metadata2) {
25494
+ function extractCountryCallingCode(number2, country, defaultCountry, defaultCallingCode, metadataJson) {
24540
25495
  if (!number2) {
24541
25496
  return {};
24542
25497
  }
24543
25498
  var isNumberWithIddPrefix;
24544
25499
  if (number2[0] !== "+") {
24545
- var numberWithoutIDD = stripIddPrefix(number2, defaultCountry, defaultCallingCode, metadata2);
25500
+ var numberWithoutIDD = stripIddPrefix(number2, defaultCountry, defaultCallingCode, metadataJson);
24546
25501
  if (numberWithoutIDD && numberWithoutIDD !== number2) {
24547
25502
  isNumberWithIddPrefix = true;
24548
25503
  number2 = "+" + numberWithoutIDD;
24549
25504
  } else {
24550
25505
  if (defaultCountry || defaultCallingCode) {
24551
- var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadata2), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;
25506
+ var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number2, country, defaultCountry, defaultCallingCode, metadataJson), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;
24552
25507
  if (countryCallingCode) {
24553
25508
  return {
24554
25509
  countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
@@ -24567,7 +25522,7 @@ function extractCountryCallingCode(number2, country, defaultCountry, defaultCall
24567
25522
  if (number2[1] === "0") {
24568
25523
  return {};
24569
25524
  }
24570
- metadata2 = new Metadata(metadata2);
25525
+ var metadata2 = new Metadata(metadataJson);
24571
25526
  var i = 2;
24572
25527
  while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number2.length) {
24573
25528
  var _countryCallingCode = number2.slice(1, i);
@@ -24587,8 +25542,8 @@ function applyInternationalSeparatorStyle(formattedNumber) {
24587
25542
  return formattedNumber.replace(new RegExp("[".concat(VALID_PUNCTUATION, "]+"), "g"), " ").trim();
24588
25543
  }
24589
25544
  var FIRST_GROUP_PATTERN = /(\$\d)/;
24590
- function formatNationalNumberUsingFormat(number2, format2, _ref) {
24591
- var useInternationalFormat = _ref.useInternationalFormat, withNationalPrefix = _ref.withNationalPrefix;
25545
+ function formatNationalNumberUsingFormat(number2, format2, _ref2) {
25546
+ var useInternationalFormat = _ref2.useInternationalFormat, withNationalPrefix = _ref2.withNationalPrefix;
24592
25547
  var formattedNumber = number2.replace(new RegExp(format2.pattern()), useInternationalFormat ? format2.internationalFormat() : (
24593
25548
  // This library doesn't use `domestic_carrier_code_formatting_rule`,
24594
25549
  // because that one is only used when formatting phone numbers
@@ -24613,7 +25568,7 @@ function formatNationalNumberUsingFormat(number2, format2, _ref) {
24613
25568
  var SINGLE_IDD_PREFIX_REG_EXP = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
24614
25569
  function getIddPrefix(country, callingCode, metadata2) {
24615
25570
  var countryMetadata = new Metadata(metadata2);
24616
- countryMetadata.selectNumberingPlan(country, callingCode);
25571
+ countryMetadata.selectNumberingPlan(country || callingCode);
24617
25572
  if (countryMetadata.defaultIDDPrefix()) {
24618
25573
  return countryMetadata.defaultIDDPrefix();
24619
25574
  }
@@ -24662,8 +25617,8 @@ function isViablePhoneNumber(number2) {
24662
25617
  function isViablePhoneNumberStart(number2) {
24663
25618
  return VALID_PHONE_NUMBER_START_REG_EXP.test(number2);
24664
25619
  }
24665
- function formatRFC3966(_ref) {
24666
- var number2 = _ref.number, ext = _ref.ext;
25620
+ function formatRFC3966(_ref2) {
25621
+ var number2 = _ref2.number, ext = _ref2.ext;
24667
25622
  if (!number2) {
24668
25623
  return "";
24669
25624
  }
@@ -24677,13 +25632,13 @@ var DEFAULT_OPTIONS = {
24677
25632
  return "".concat(formattedNumber).concat(metadata2.ext()).concat(extension);
24678
25633
  }
24679
25634
  };
24680
- function formatNumber(input, format2, options, metadata2) {
25635
+ function formatNumber(input, format2, options, metadataJson) {
24681
25636
  if (options) {
24682
25637
  options = merge({}, DEFAULT_OPTIONS, options);
24683
25638
  } else {
24684
25639
  options = DEFAULT_OPTIONS;
24685
25640
  }
24686
- metadata2 = new Metadata(metadata2);
25641
+ var metadata2 = new Metadata(metadataJson);
24687
25642
  if (input.country && input.country !== "001") {
24688
25643
  if (!metadata2.hasCountry(input.country)) {
24689
25644
  throw new Error("Unknown country: ".concat(input.country));
@@ -24721,6 +25676,9 @@ function formatNumber(input, format2, options, metadata2) {
24721
25676
  return;
24722
25677
  }
24723
25678
  var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata2);
25679
+ if (!formattedNumber) {
25680
+ return;
25681
+ }
24724
25682
  return addExtension(formattedNumber, input.ext, metadata2, options.formatExtension);
24725
25683
  default:
24726
25684
  throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(format2, '"'));
@@ -24878,7 +25836,7 @@ var PhoneNumber = /* @__PURE__ */ function() {
24878
25836
  throw new TypeError("`nationalNumber` argument must be a string");
24879
25837
  }
24880
25838
  validateMetadata(metadata2);
24881
- var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata2), country = _getCountryAndCountry.country, countryCallingCode = _getCountryAndCountry.countryCallingCode;
25839
+ var _getCountryAndCalling = getCountryAndCallingCodeFromOneOfThem(countryOrCountryCallingCode, metadata2), country = _getCountryAndCalling.country, countryCallingCode = _getCountryAndCalling.callingCode;
24882
25840
  this.country = country;
24883
25841
  this.countryCallingCode = countryCallingCode;
24884
25842
  this.nationalNumber = nationalNumber;
@@ -24925,16 +25883,29 @@ var PhoneNumber = /* @__PURE__ */ function() {
24925
25883
  value: function isEqual(phoneNumber) {
24926
25884
  return this.number === phoneNumber.number && this.ext === phoneNumber.ext;
24927
25885
  }
24928
- // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
24929
- // but later it was found out that it doesn't include the possible `TOO_SHORT` result
24930
- // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
24931
- // so eventually I simply commented out this method from the `PhoneNumber` class
24932
- // and just left the `validatePhoneNumberLength()` function, even though that one would require
24933
- // and additional step to also validate the actual country / calling code of the phone number.
25886
+ // `validateLength()` method was originally meant to be an equivalent for `validatePhoneNumberLength()`.
25887
+ //
25888
+ // Later, it became apparent that it's not really a true equivalent.
25889
+ // The reason is that a `PhoneNumber` instance is not created
25890
+ // when the phone number string is too short for it to be considered a valid phone number:
25891
+ // * When there must be at least 2 national (significant) number digits: `"1"`.
25892
+ // * When the country calling code part of an international number is incomplete: `"+12"`.
25893
+ //
25894
+ // So leaving this `validateLength()` method here would suggest a hidden anti-pattern
25895
+ // of using it instead of `validatePhoneNumberLength()` while ignoring
25896
+ // the "too short to be even possible" case from phone number length validation.
25897
+ // And ignoring that case wouldn't make any sense in a real-world application
25898
+ // because it would still be a valid case that should be handled.
25899
+ //
25900
+ // Because of that, this method was eventually commented out in order to not introduce
25901
+ // that kind of an anti-pattern.
25902
+ //
24934
25903
  // validateLength() {
24935
- // const metadata = new Metadata(this.getMetadata())
24936
- // metadata.selectNumberingPlan(this.countryCallingCode)
24937
- // const result = checkNumberLength(this.nationalNumber, metadata)
25904
+ // const result = checkNumberLength(
25905
+ // this.nationalNumber,
25906
+ // undefined,
25907
+ // this.getMetadata()
25908
+ // )
24938
25909
  // if (result !== 'IS_POSSIBLE') {
24939
25910
  // return result
24940
25911
  // }
@@ -24972,25 +25943,6 @@ var PhoneNumber = /* @__PURE__ */ function() {
24972
25943
  }
24973
25944
  }]);
24974
25945
  }();
24975
- var isCountryCode = function isCountryCode2(value) {
24976
- return /^[A-Z]{2}$/.test(value);
24977
- };
24978
- function getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {
24979
- var country;
24980
- var countryCallingCode;
24981
- var metadata2 = new Metadata(metadataJson);
24982
- if (isCountryCode(countryOrCountryCallingCode)) {
24983
- country = countryOrCountryCallingCode;
24984
- metadata2.selectNumberingPlan(country);
24985
- countryCallingCode = metadata2.countryCallingCode();
24986
- } else {
24987
- countryCallingCode = countryOrCountryCallingCode;
24988
- }
24989
- return {
24990
- country,
24991
- countryCallingCode
24992
- };
24993
- }
24994
25946
  var E164_NUMBER_REGEXP = /^\+\d+$/;
24995
25947
  function _typeof$5(o) {
24996
25948
  "@babel/helpers - typeof";
@@ -25257,8 +26209,8 @@ function isPhoneContextValid(phoneContext) {
25257
26209
  }
25258
26210
  return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);
25259
26211
  }
25260
- function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {
25261
- var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;
26212
+ function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref2) {
26213
+ var extractFormattedPhoneNumber = _ref2.extractFormattedPhoneNumber;
25262
26214
  var phoneContext = extractPhoneContext(numberToParse);
25263
26215
  if (!isPhoneContextValid(phoneContext)) {
25264
26216
  throw new ParseError("NOT_A_NUMBER");
@@ -25292,9 +26244,9 @@ function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse,
25292
26244
  var MAX_INPUT_STRING_LENGTH = 250;
25293
26245
  var PHONE_NUMBER_START_PATTERN = new RegExp("[" + PLUS_CHARS + VALID_DIGITS + "]");
25294
26246
  var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp("[^" + VALID_DIGITS + "#]+$");
25295
- function parse(text2, options, metadata2) {
26247
+ function parse(text2, options, metadataJson) {
25296
26248
  options = options || {};
25297
- metadata2 = new Metadata(metadata2);
26249
+ var metadata2 = new Metadata(metadataJson);
25298
26250
  if (options.defaultCountry && !metadata2.hasCountry(options.defaultCountry)) {
25299
26251
  if (options.v2) {
25300
26252
  throw new ParseError("INVALID_COUNTRY");
@@ -25311,7 +26263,15 @@ function parse(text2, options, metadata2) {
25311
26263
  }
25312
26264
  return {};
25313
26265
  }
25314
- var _parsePhoneNumber = parsePhoneNumber$1(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata2), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource, carrierCode = _parsePhoneNumber.carrierCode;
26266
+ var _parsePhoneNumber = parsePhoneNumber$1(
26267
+ formattedPhoneNumber,
26268
+ options.defaultCountry,
26269
+ options.defaultCallingCode,
26270
+ // If `country` is returned, its numbering plan will also be selected in `metadata`.
26271
+ // Otherwise, if `countryCallingCode` is returned, its numbering plan will also be selected in `metadata`.
26272
+ // Otherwise, if neither `country` nor `countryCallingCode` are returned, no numbering plan will be selected in `metadata`.
26273
+ metadata2
26274
+ ), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource, carrierCode = _parsePhoneNumber.carrierCode;
25315
26275
  if (!metadata2.hasSelectedNumberingPlan()) {
25316
26276
  if (options.v2) {
25317
26277
  throw new ParseError("INVALID_COUNTRY");
@@ -25353,7 +26313,7 @@ function parse(text2, options, metadata2) {
25353
26313
  countryCallingCode,
25354
26314
  carrierCode,
25355
26315
  valid,
25356
- possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, country, metadata2) ? true : false,
26316
+ possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, metadata2) ? true : false,
25357
26317
  phone: nationalNumber,
25358
26318
  ext
25359
26319
  };
@@ -25413,16 +26373,28 @@ function result(country, nationalNumber, ext) {
25413
26373
  return result2;
25414
26374
  }
25415
26375
  function parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata2) {
25416
- var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), void 0, defaultCountry, defaultCallingCode, metadata2.metadata), countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource, countryCallingCode = _extractCountryCallin.countryCallingCode, number2 = _extractCountryCallin.number;
26376
+ var _extractCountryCallin = extractCountryCallingCode(
26377
+ parseIncompletePhoneNumber(formattedPhoneNumber),
26378
+ void 0,
26379
+ // `defaultCountry` and `defaultCallingCode` are only used to detect
26380
+ // if it's an "international" phone number or not. They won't be used
26381
+ // to derive the resulting `countryCallingCode` from them, or anything like that.
26382
+ defaultCountry,
26383
+ defaultCallingCode,
26384
+ metadata2.metadata
26385
+ ), countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource, countryCallingCode = _extractCountryCallin.countryCallingCode, number2 = _extractCountryCallin.number;
25417
26386
  var country;
25418
26387
  if (countryCallingCode) {
25419
26388
  metadata2.selectNumberingPlan(countryCallingCode);
25420
26389
  } else if (number2 && (defaultCountry || defaultCallingCode)) {
25421
- metadata2.selectNumberingPlan(defaultCountry, defaultCallingCode);
25422
26390
  if (defaultCountry) {
25423
26391
  country = defaultCountry;
26392
+ metadata2.selectNumberingPlan(defaultCountry);
26393
+ countryCallingCode = metadata2.numberingPlan.callingCode();
26394
+ } else {
26395
+ metadata2.selectNumberingPlan(defaultCallingCode);
26396
+ countryCallingCode = defaultCallingCode;
25424
26397
  }
25425
- countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata2.metadata);
25426
26398
  } else return {};
25427
26399
  if (!number2) {
25428
26400
  return {
@@ -25430,7 +26402,7 @@ function parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCalling
25430
26402
  countryCallingCode
25431
26403
  };
25432
26404
  }
25433
- var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number2), country, metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;
26405
+ var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number2), void 0, metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;
25434
26406
  var exactCountry = getCountryByCallingCode(countryCallingCode, {
25435
26407
  nationalNumber,
25436
26408
  metadata: metadata2
@@ -26470,7 +27442,7 @@ const _SlidCaptchaManager = class _SlidCaptchaManager {
26470
27442
  __publicField(_SlidCaptchaManager, "instance");
26471
27443
  let SlidCaptchaManager = _SlidCaptchaManager;
26472
27444
  const slidCaptchaManager = SlidCaptchaManager.getInstance();
26473
- const SlidCaptcha = defineAsyncComponent(() => import("./index-N8tCNQEp.js"));
27445
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-BVtkY7Om.js"));
26474
27446
  const useSlidCaptcha = () => {
26475
27447
  const { mount, unMount, isMounted } = usePopup("slid-captcha-popup");
26476
27448
  const open = (config) => {
@@ -26500,7 +27472,7 @@ const useSlidCaptcha = () => {
26500
27472
  close
26501
27473
  };
26502
27474
  };
26503
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-D__jXgPB.js"));
27475
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-Ds8UDIgP.js"));
26504
27476
  const useYunpianCaptcha = () => {
26505
27477
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
26506
27478
  const open = (config) => {
@@ -26924,7 +27896,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
26924
27896
  class: normalizeClass(["g-data-panel i-data-panel", { "g-card": __props.card, "g-border": __props.border }])
26925
27897
  }, [
26926
27898
  renderSlot(_ctx.$slots, "header", {}, void 0, true),
26927
- __props.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }, () => [
27899
+ __props.loading ? renderSlot(_ctx.$slots, "loading", {}, () => [
26928
27900
  __props.skeleton ? (openBlock(), createBlock(unref(Skeleton), {
26929
27901
  key: 0,
26930
27902
  class: "data-panel__skeleton",
@@ -26934,7 +27906,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
26934
27906
  name: "loading",
26935
27907
  class: "data-panel__content-loading"
26936
27908
  })) : createCommentVNode("", true)
26937
- ], true) : renderSlot(_ctx.$slots, "default", { key: 1 }, void 0, true)
27909
+ ], true, 0) : renderSlot(_ctx.$slots, "default", {}, void 0, true, 1)
26938
27910
  ], 2);
26939
27911
  };
26940
27912
  }
@@ -28011,9 +28983,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28011
28983
  await LoginConfig.bindPhone({
28012
28984
  param: {
28013
28985
  successFunc: loginSuccess,
28014
- failFunc: bindPhoneFail,
28015
- loginDeviceType: "pc",
28016
- country
28986
+ failFunc: bindPhoneFail
28017
28987
  },
28018
28988
  loginParams: {
28019
28989
  mobile,
@@ -28040,8 +29010,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28040
29010
  validFunc: LoginCheck,
28041
29011
  successFunc: loginSuccess,
28042
29012
  failFunc: loginFail,
28043
- loginDeviceType: "pc",
28044
- country,
28045
29013
  captchaType: captchaType.value
28046
29014
  },
28047
29015
  loginParams: passwordParams,
@@ -28064,7 +29032,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28064
29032
  validFunc: LoginCheck,
28065
29033
  successFunc: loginSuccess,
28066
29034
  failFunc: loginFail,
28067
- loginDeviceType: "pc",
28068
29035
  country
28069
29036
  },
28070
29037
  loginParams: phoneParams
@@ -28438,8 +29405,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
28438
29405
  await LoginConfig.changeBindAccount({
28439
29406
  param: {
28440
29407
  successFunc: loginSuccess,
28441
- failFunc: changeBindAccountFail,
28442
- loginDeviceType: "pc"
29408
+ failFunc: changeBindAccountFail
28443
29409
  },
28444
29410
  loginParams: {
28445
29411
  mask: bindPhoneConflictMask.value
@@ -29517,7 +30483,7 @@ const index = {
29517
30483
  }
29518
30484
  };
29519
30485
  export {
29520
- AtomCodeLauncher as $,
30486
+ HeaderSkeleton as $,
29521
30487
  isZh as A,
29522
30488
  ThemeType as B,
29523
30489
  currentTheme as C,
@@ -29533,29 +30499,29 @@ export {
29533
30499
  asideRequest as M,
29534
30500
  _sfc_main$N as N,
29535
30501
  loadAsideData as O,
29536
- ToolsFloat as P,
29537
- _sfc_main$1 as Q,
30502
+ AsideFooterTools as P,
30503
+ AtomCodeLauncher as Q,
29538
30504
  REPO_MODULE as R,
29539
- SceneValue as S,
30505
+ EnterpriseHeader as S,
29540
30506
  TOPIC_TYPE as T,
29541
30507
  GitCodeAside as U,
29542
30508
  GitCodeAsideV2 as V,
29543
- ScrollActiveContainer as W,
29544
- GitCodeHeader as X,
29545
- HeaderSkeleton as Y,
29546
- HomeHeaderActions as Z,
30509
+ GitCodeHeader as W,
30510
+ GitCodeLayoutEmitter as X,
30511
+ HEADER_CREATE_MENU_PATHS as Y,
30512
+ HeaderCreateMenu as Z,
29547
30513
  _export_sfc as _,
29548
30514
  i18n as a,
29549
- HeaderCreateMenu as a0,
29550
- EnterpriseHeader as a1,
29551
- SiteAnnouncement as a2,
29552
- AsideFooterTools as a3,
29553
- useLogin as a4,
29554
- setLayoutConfig as a5,
29555
- GitCodeLayoutEmitter as a6,
29556
- setTheme as a7,
29557
- HEADER_CREATE_MENU_PATHS as a8,
29558
- index as a9,
30515
+ HomeHeaderActions as a0,
30516
+ _sfc_main$1 as a1,
30517
+ SceneValue as a2,
30518
+ ScrollActiveContainer as a3,
30519
+ SiteAnnouncement as a4,
30520
+ ToolsFloat as a5,
30521
+ index as a6,
30522
+ setLayoutConfig as a7,
30523
+ setTheme as a8,
30524
+ useLogin as a9,
29559
30525
  REPO_EVENT as b,
29560
30526
  useLayoutConfig as c,
29561
30527
  transferNumber as d,