@bagelink/vue 0.0.957 → 0.0.959

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.
Files changed (199) hide show
  1. package/dist/components/Accordion.d.ts +12 -0
  2. package/dist/components/Accordion.d.ts.map +1 -0
  3. package/dist/components/AccordionItem.d.ts +34 -0
  4. package/dist/components/AccordionItem.d.ts.map +1 -0
  5. package/dist/components/Alert.d.ts +34 -0
  6. package/dist/components/Alert.d.ts.map +1 -0
  7. package/dist/components/Avatar.d.ts +36 -0
  8. package/dist/components/Avatar.d.ts.map +1 -0
  9. package/dist/components/Badge.d.ts +22 -0
  10. package/dist/components/Badge.d.ts.map +1 -0
  11. package/dist/components/BglVideo.d.ts +20 -0
  12. package/dist/components/BglVideo.d.ts.map +1 -0
  13. package/dist/components/Btn.d.ts +99 -0
  14. package/dist/components/Btn.d.ts.map +1 -0
  15. package/dist/components/Card.d.ts +39 -0
  16. package/dist/components/Card.d.ts.map +1 -0
  17. package/dist/components/Carousel.d.ts +74 -0
  18. package/dist/components/Carousel.d.ts.map +1 -0
  19. package/dist/components/ComboBox.vue.d.ts +3 -3
  20. package/dist/components/Comments.vue.d.ts +2 -2
  21. package/dist/components/ContactSubmissions.vue.d.ts +2 -2
  22. package/dist/components/DataPreview.d.ts +42 -0
  23. package/dist/components/DataPreview.d.ts.map +1 -0
  24. package/dist/components/Drop.vue.d.ts +34 -0
  25. package/dist/components/Drop.vue.d.ts.map +1 -0
  26. package/dist/components/DropDown.vue.d.ts +17 -186
  27. package/dist/components/DropDown.vue.d.ts.map +1 -1
  28. package/dist/components/FileUploader.vue.d.ts +60 -0
  29. package/dist/components/FileUploader.vue.d.ts.map +1 -0
  30. package/dist/components/Flag.d.ts +20 -0
  31. package/dist/components/Flag.d.ts.map +1 -0
  32. package/dist/components/FormSchema.vue.d.ts +5 -4
  33. package/dist/components/LangText.vue.d.ts +2 -2
  34. package/dist/components/ListItem.d.ts +34 -0
  35. package/dist/components/ListItem.d.ts.map +1 -0
  36. package/dist/components/ListView.d.ts +13 -0
  37. package/dist/components/ListView.d.ts.map +1 -0
  38. package/dist/components/MapEmbed.d.ts +3 -0
  39. package/dist/components/MapEmbed.d.ts.map +1 -0
  40. package/dist/components/MaterialIcon.d.ts +26 -0
  41. package/dist/components/MaterialIcon.d.ts.map +1 -0
  42. package/dist/components/Modal.d.ts +46 -0
  43. package/dist/components/Modal.d.ts.map +1 -0
  44. package/dist/components/ModalBglForm.vue.d.ts +21 -20
  45. package/dist/components/ModalConfirm.d.ts +24 -0
  46. package/dist/components/ModalConfirm.d.ts.map +1 -0
  47. package/dist/components/ModalForm.d.ts +78 -0
  48. package/dist/components/ModalForm.d.ts.map +1 -0
  49. package/dist/components/NavBar.d.ts +64 -0
  50. package/dist/components/NavBar.d.ts.map +1 -0
  51. package/dist/components/PageTitle.d.ts +24 -0
  52. package/dist/components/PageTitle.d.ts.map +1 -0
  53. package/dist/components/PersonPreview.vue.d.ts +5 -4
  54. package/dist/components/PersonPreviewFormkit.vue.d.ts +4 -3
  55. package/dist/components/RTXEditor.vue.d.ts +3 -3
  56. package/dist/components/RouterWrapper.d.ts +3 -0
  57. package/dist/components/RouterWrapper.d.ts.map +1 -0
  58. package/dist/components/TabbedLayout.vue.d.ts +5 -4
  59. package/dist/components/TableSchema.d.ts +35 -0
  60. package/dist/components/TableSchema.d.ts.map +1 -0
  61. package/dist/components/TableSchema.vue.d.ts +2 -11
  62. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  63. package/dist/components/Title.d.ts +42 -0
  64. package/dist/components/Title.d.ts.map +1 -0
  65. package/dist/components/TopBar.d.ts +12 -0
  66. package/dist/components/TopBar.d.ts.map +1 -0
  67. package/dist/components/charts/BarChart.vue.d.ts +2 -2
  68. package/dist/components/dashboard/Lineart.d.ts +20 -0
  69. package/dist/components/dashboard/Lineart.d.ts.map +1 -0
  70. package/dist/components/form/BglField.d.ts +25 -0
  71. package/dist/components/form/BglField.d.ts.map +1 -0
  72. package/dist/components/form/BglField.vue.d.ts +2 -6
  73. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  74. package/dist/components/form/BglForm.d.ts +75 -0
  75. package/dist/components/form/BglForm.d.ts.map +1 -0
  76. package/dist/components/form/BglMultiStepForm.vue.d.ts +3 -21
  77. package/dist/components/form/BglMultiStepForm.vue.d.ts.map +1 -1
  78. package/dist/components/form/ItemRef.vue.d.ts +5 -3
  79. package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
  80. package/dist/components/form/MaterialIcon.vue.d.ts +4 -3
  81. package/dist/components/form/PlainInputField.vue.d.ts +3 -3
  82. package/dist/components/form/inputs/CheckInput.d.ts +56 -0
  83. package/dist/components/form/inputs/CheckInput.d.ts.map +1 -0
  84. package/dist/components/form/inputs/Checkbox.d.ts +16 -0
  85. package/dist/components/form/inputs/Checkbox.d.ts.map +1 -0
  86. package/dist/components/form/inputs/ColorPicker.d.ts +48 -0
  87. package/dist/components/form/inputs/ColorPicker.d.ts.map +1 -0
  88. package/dist/components/form/inputs/CurrencyInput.vue.d.ts +3 -3
  89. package/dist/components/form/inputs/DateInput.d.ts +64 -0
  90. package/dist/components/form/inputs/DateInput.d.ts.map +1 -0
  91. package/dist/components/form/inputs/DatePicker.d.ts +33 -0
  92. package/dist/components/form/inputs/DatePicker.d.ts.map +1 -0
  93. package/dist/components/form/inputs/DatetimeInput.vue.d.ts +3 -3
  94. package/dist/components/form/inputs/DurationInput.vue.d.ts +3 -3
  95. package/dist/components/form/inputs/DynamicLinkField.vue.d.ts +3 -3
  96. package/dist/components/form/inputs/EmailInput.vue.d.ts +3 -3
  97. package/dist/components/form/inputs/FileUpload.d.ts +108 -0
  98. package/dist/components/form/inputs/FileUpload.d.ts.map +1 -0
  99. package/dist/components/form/inputs/FileUpload.vue.d.ts +2 -0
  100. package/dist/components/form/inputs/FileUpload.vue.d.ts.map +1 -1
  101. package/dist/components/form/inputs/FloatInput.vue.d.ts +3 -3
  102. package/dist/components/form/inputs/IntInput.vue.d.ts +3 -3
  103. package/dist/components/form/inputs/JSONInput.d.ts +53 -0
  104. package/dist/components/form/inputs/JSONInput.d.ts.map +1 -0
  105. package/dist/components/form/inputs/LinkField.vue.d.ts +3 -3
  106. package/dist/components/form/inputs/Password.vue.d.ts +3 -3
  107. package/dist/components/form/inputs/PlainText.vue.d.ts +3 -3
  108. package/dist/components/form/inputs/RadioGroup.d.ts +42 -0
  109. package/dist/components/form/inputs/RadioGroup.d.ts.map +1 -0
  110. package/dist/components/form/inputs/RadioGroup.vue.d.ts +2 -6
  111. package/dist/components/form/inputs/RadioGroup.vue.d.ts.map +1 -1
  112. package/dist/components/form/inputs/RadioPillsInput.d.ts +48 -0
  113. package/dist/components/form/inputs/RadioPillsInput.d.ts.map +1 -0
  114. package/dist/components/form/inputs/ReadOnlyInput.vue.d.ts +2 -2
  115. package/dist/components/form/inputs/RichText.d.ts +20 -0
  116. package/dist/components/form/inputs/RichText.d.ts.map +1 -0
  117. package/dist/components/form/inputs/RichText2/Toolbar.d.ts +22 -0
  118. package/dist/components/form/inputs/RichText2/Toolbar.d.ts.map +1 -0
  119. package/dist/components/form/inputs/RichText2/index.d.ts +24 -0
  120. package/dist/components/form/inputs/RichText2/index.d.ts.map +1 -0
  121. package/dist/components/form/inputs/RichTextEditor.vue.d.ts +3 -3
  122. package/dist/components/form/inputs/SelectField.vue.d.ts +6 -8
  123. package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
  124. package/dist/components/form/inputs/SelectInput.d.ts +55 -0
  125. package/dist/components/form/inputs/SelectInput.d.ts.map +1 -0
  126. package/dist/components/form/inputs/SelectInput.vue.d.ts +2 -50
  127. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  128. package/dist/components/form/inputs/SignaturePad.d.ts +72 -0
  129. package/dist/components/form/inputs/SignaturePad.d.ts.map +1 -0
  130. package/dist/components/form/inputs/TableField.d.ts +45 -0
  131. package/dist/components/form/inputs/TableField.d.ts.map +1 -0
  132. package/dist/components/form/inputs/TelInput.d.ts +241 -0
  133. package/dist/components/form/inputs/TelInput.d.ts.map +1 -0
  134. package/dist/components/form/inputs/TextArea.vue.d.ts +3 -3
  135. package/dist/components/form/inputs/TextInput.d.ts +90 -0
  136. package/dist/components/form/inputs/TextInput.d.ts.map +1 -0
  137. package/dist/components/form/inputs/ToggleInput.d.ts +58 -0
  138. package/dist/components/form/inputs/ToggleInput.d.ts.map +1 -0
  139. package/dist/components/formkit/AddressArray.vue.d.ts +2 -2
  140. package/dist/components/formkit/BankDetailsArray.vue.d.ts +2 -2
  141. package/dist/components/formkit/ContactArrayFormKit.vue.d.ts +2 -2
  142. package/dist/components/formkit/FileUploader.vue.d.ts +2 -2
  143. package/dist/components/formkit/MiscFields.vue.d.ts +2 -2
  144. package/dist/components/formkit/Toggle.vue.d.ts +2 -2
  145. package/dist/components/layout/BottomMenu.d.ts +27 -0
  146. package/dist/components/layout/BottomMenu.d.ts.map +1 -0
  147. package/dist/components/layout/Layout.d.ts +58 -0
  148. package/dist/components/layout/Layout.d.ts.map +1 -0
  149. package/dist/components/layout/SidebarMenu.d.ts +38 -0
  150. package/dist/components/layout/SidebarMenu.d.ts.map +1 -0
  151. package/dist/components/layout/TabbedLayout.d.ts +42 -0
  152. package/dist/components/layout/TabbedLayout.d.ts.map +1 -0
  153. package/dist/components/layout/Tabs.d.ts +31 -0
  154. package/dist/components/layout/Tabs.d.ts.map +1 -0
  155. package/dist/components/layout/TabsBody.d.ts +23 -0
  156. package/dist/components/layout/TabsBody.d.ts.map +1 -0
  157. package/dist/components/layout/TabsNav.d.ts +35 -0
  158. package/dist/components/layout/TabsNav.d.ts.map +1 -0
  159. package/dist/components/whatsapp/form/MsgTemplate.vue.d.ts +4 -3
  160. package/dist/components/whatsapp/form/TextVariableExamples.vue.d.ts +2 -2
  161. package/dist/index.cjs +1518 -1424
  162. package/dist/index.mjs +1518 -1424
  163. package/dist/utils/BagelFormUtils.d.ts +2 -30
  164. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  165. package/dist/utils/objects.d.ts +1 -0
  166. package/dist/vue.css +13814 -0
  167. package/package.json +1 -1
  168. package/dist/components/AddressSaerch.vue.d.ts +0 -7
  169. package/dist/components/AddressSaerch.vue.d.ts.map +0 -1
  170. package/dist/components/Popover.vue.d.ts +0 -10
  171. package/dist/components/Popover.vue.d.ts.map +0 -1
  172. package/dist/components/sortable/Animation.d.ts +0 -43
  173. package/dist/components/sortable/Animation.d.ts.map +0 -1
  174. package/dist/components/sortable/BrowserInfo.d.ts +0 -7
  175. package/dist/components/sortable/BrowserInfo.d.ts.map +0 -1
  176. package/dist/components/sortable/EventDispatcher.d.ts +0 -13
  177. package/dist/components/sortable/EventDispatcher.d.ts.map +0 -1
  178. package/dist/components/sortable/PluginManager.d.ts +0 -27
  179. package/dist/components/sortable/PluginManager.d.ts.map +0 -1
  180. package/dist/components/sortable/Sortable.d.ts +0 -81
  181. package/dist/components/sortable/Sortable.d.ts.map +0 -1
  182. package/dist/components/sortable/index.d.ts +0 -5
  183. package/dist/components/sortable/index.d.ts.map +0 -1
  184. package/dist/components/sortable/utils.d.ts +0 -49
  185. package/dist/components/sortable/utils.d.ts.map +0 -1
  186. package/dist/composables/drag-n-drop/useDraggable.d.ts +0 -2
  187. package/dist/composables/drag-n-drop/useDraggable.d.ts.map +0 -1
  188. package/dist/plugins/drag-n-drop/draggable.d.ts +0 -4
  189. package/dist/plugins/drag-n-drop/draggable.d.ts.map +0 -1
  190. package/dist/plugins/drag-n-drop/droppable.d.ts +0 -4
  191. package/dist/plugins/drag-n-drop/droppable.d.ts.map +0 -1
  192. package/dist/plugins/drag-n-drop/index.d.ts +0 -5
  193. package/dist/plugins/drag-n-drop/index.d.ts.map +0 -1
  194. package/dist/plugins/drag-n-drop/useDraggable.d.ts +0 -8
  195. package/dist/plugins/drag-n-drop/useDraggable.d.ts.map +0 -1
  196. package/dist/plugins/drag-n-drop/useDroppable.d.ts +0 -7
  197. package/dist/plugins/drag-n-drop/useDroppable.d.ts.map +0 -1
  198. package/dist/types/materialIcon.d.ts +0 -2
  199. package/dist/types/materialIcon.d.ts.map +0 -1
package/dist/index.cjs CHANGED
@@ -7555,10 +7555,9 @@ async function convertValueToCoords(state2, options) {
7555
7555
  crossAxis: 0,
7556
7556
  alignmentAxis: null
7557
7557
  } : {
7558
- mainAxis: 0,
7559
- crossAxis: 0,
7560
- alignmentAxis: null,
7561
- ...rawValue
7558
+ mainAxis: rawValue.mainAxis || 0,
7559
+ crossAxis: rawValue.crossAxis || 0,
7560
+ alignmentAxis: rawValue.alignmentAxis
7562
7561
  };
7563
7562
  if (alignment && typeof alignmentAxis === "number") {
7564
7563
  crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
@@ -7663,7 +7662,11 @@ const shift$1 = function(options) {
7663
7662
  ...limitedCoords,
7664
7663
  data: {
7665
7664
  x: limitedCoords.x - x2,
7666
- y: limitedCoords.y - y2
7665
+ y: limitedCoords.y - y2,
7666
+ enabled: {
7667
+ [mainAxis]: checkMainAxis,
7668
+ [crossAxis]: checkCrossAxis
7669
+ }
7667
7670
  }
7668
7671
  };
7669
7672
  }
@@ -7677,6 +7680,7 @@ const size = function(options) {
7677
7680
  name: "size",
7678
7681
  options,
7679
7682
  async fn(state2) {
7683
+ var _state$middlewareData, _state$middlewareData2;
7680
7684
  const {
7681
7685
  placement,
7682
7686
  rects,
@@ -7712,10 +7716,11 @@ const size = function(options) {
7712
7716
  const noShift = !state2.middlewareData.shift;
7713
7717
  let availableHeight = overflowAvailableHeight;
7714
7718
  let availableWidth = overflowAvailableWidth;
7715
- if (isYAxis) {
7716
- availableWidth = alignment || noShift ? min$1(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
7717
- } else {
7718
- availableHeight = alignment || noShift ? min$1(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
7719
+ if ((_state$middlewareData = state2.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
7720
+ availableWidth = maximumClippingWidth;
7721
+ }
7722
+ if ((_state$middlewareData2 = state2.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
7723
+ availableHeight = maximumClippingHeight;
7719
7724
  }
7720
7725
  if (noShift && !alignment) {
7721
7726
  const xMin = max$1(overflow.left, 0);
@@ -20714,6 +20719,12 @@ let Node$2 = class Node2 {
20714
20719
  this.content = content || Fragment.empty;
20715
20720
  }
20716
20721
  /**
20722
+ The array of this node's child nodes.
20723
+ */
20724
+ get children() {
20725
+ return this.content.content;
20726
+ }
20727
+ /**
20717
20728
  The size of this node, as defined by the integer-based [indexing
20718
20729
  scheme](/docs/guide/#doc.indexing). For text nodes, this is the
20719
20730
  amount of characters. For other leaf nodes, it is one. For
@@ -21400,7 +21411,7 @@ function resolveName(stream, name) {
21400
21411
  let result2 = [];
21401
21412
  for (let typeName in types) {
21402
21413
  let type4 = types[typeName];
21403
- if (type4.groups.indexOf(name) > -1)
21414
+ if (type4.isInGroup(name))
21404
21415
  result2.push(type4);
21405
21416
  }
21406
21417
  if (result2.length == 0)
@@ -21638,6 +21649,13 @@ let NodeType$1 = class NodeType2 {
21638
21649
  return this.isLeaf || !!this.spec.atom;
21639
21650
  }
21640
21651
  /**
21652
+ Return true when this node type is part of the given
21653
+ [group](https://prosemirror.net/docs/ref/#model.NodeSpec.group).
21654
+ */
21655
+ isInGroup(group) {
21656
+ return this.groups.indexOf(group) > -1;
21657
+ }
21658
+ /**
21641
21659
  The node type's [whitespace](https://prosemirror.net/docs/ref/#model.NodeSpec.whitespace) option.
21642
21660
  */
21643
21661
  get whitespace() {
@@ -22393,6 +22411,7 @@ class ParseContext {
22393
22411
  contentDOM = rule.contentElement;
22394
22412
  this.findAround(dom, contentDOM, true);
22395
22413
  this.addAll(contentDOM, marks);
22414
+ this.findAround(dom, contentDOM, false);
22396
22415
  }
22397
22416
  if (sync && this.sync(startIn))
22398
22417
  this.open--;
@@ -22568,7 +22587,7 @@ class ParseContext {
22568
22587
  return false;
22569
22588
  } else {
22570
22589
  let next = depth > 0 || depth == 0 && useRoot ? this.nodes[depth].type : option2 && depth >= minDepth ? option2.node(depth - minDepth).type : null;
22571
- if (!next || next.name != part && next.groups.indexOf(part) == -1)
22590
+ if (!next || next.name != part && !next.isInGroup(part))
22572
22591
  return false;
22573
22592
  depth--;
22574
22593
  }
@@ -23828,8 +23847,24 @@ function canJoin(doc2, pos) {
23828
23847
  let $pos = doc2.resolve(pos), index2 = $pos.index();
23829
23848
  return joinable($pos.nodeBefore, $pos.nodeAfter) && $pos.parent.canReplace(index2, index2 + 1);
23830
23849
  }
23850
+ function canAppendWithSubstitutedLinebreaks(a2, b2) {
23851
+ if (!b2.content.size)
23852
+ a2.type.compatibleContent(b2.type);
23853
+ let match2 = a2.contentMatchAt(a2.childCount);
23854
+ let { linebreakReplacement } = a2.type.schema;
23855
+ for (let i2 = 0; i2 < b2.childCount; i2++) {
23856
+ let child = b2.child(i2);
23857
+ let type3 = child.type == linebreakReplacement ? a2.type.schema.nodes.text : child.type;
23858
+ match2 = match2.matchType(type3);
23859
+ if (!match2)
23860
+ return false;
23861
+ if (!a2.type.allowsMarks(child.marks))
23862
+ return false;
23863
+ }
23864
+ return match2.validEnd;
23865
+ }
23831
23866
  function joinable(a2, b2) {
23832
- return !!(a2 && b2 && !a2.isLeaf && a2.canAppend(b2));
23867
+ return !!(a2 && b2 && !a2.isLeaf && canAppendWithSubstitutedLinebreaks(a2, b2));
23833
23868
  }
23834
23869
  function joinPoint(doc2, pos, dir = -1) {
23835
23870
  let $pos = doc2.resolve(pos);
@@ -23854,8 +23889,31 @@ function joinPoint(doc2, pos, dir = -1) {
23854
23889
  }
23855
23890
  }
23856
23891
  function join(tr2, pos, depth) {
23857
- let step = new ReplaceStep(pos - depth, pos + depth, Slice.empty, true);
23858
- tr2.step(step);
23892
+ let convertNewlines = null;
23893
+ let { linebreakReplacement } = tr2.doc.type.schema;
23894
+ let $before = tr2.doc.resolve(pos - depth), beforeType = $before.node().type;
23895
+ if (linebreakReplacement && beforeType.inlineContent) {
23896
+ let pre = beforeType.whitespace == "pre";
23897
+ let supportLinebreak = !!beforeType.contentMatch.matchType(linebreakReplacement);
23898
+ if (pre && !supportLinebreak)
23899
+ convertNewlines = false;
23900
+ else if (!pre && supportLinebreak)
23901
+ convertNewlines = true;
23902
+ }
23903
+ let mapFrom = tr2.steps.length;
23904
+ if (convertNewlines === false) {
23905
+ let $after = tr2.doc.resolve(pos + depth);
23906
+ replaceLinebreaks(tr2, $after.node(), $after.before(), mapFrom);
23907
+ }
23908
+ if (beforeType.inlineContent)
23909
+ clearIncompatible(tr2, pos + depth - 1, beforeType, $before.node().contentMatchAt($before.index()), convertNewlines == null);
23910
+ let mapping = tr2.mapping.slice(mapFrom), start2 = mapping.map(pos - depth);
23911
+ tr2.step(new ReplaceStep(start2, mapping.map(pos + depth, -1), Slice.empty, true));
23912
+ if (convertNewlines === true) {
23913
+ let $full = tr2.doc.resolve(start2);
23914
+ replaceNewlines(tr2, $full.node(), $full.before(), tr2.steps.length);
23915
+ }
23916
+ return tr2;
23859
23917
  }
23860
23918
  function insertPoint(doc2, pos, nodeType) {
23861
23919
  let $pos = doc2.resolve(pos);
@@ -24251,7 +24309,7 @@ function deleteRange$1(tr2, from2, to2) {
24251
24309
  return tr2.delete($from.before(depth), $to.after(depth));
24252
24310
  }
24253
24311
  for (let d2 = 1; d2 <= $from.depth && d2 <= $to.depth; d2++) {
24254
- if (from2 - $from.start(d2) == $from.depth - d2 && to2 > $from.end(d2) && $to.end(d2) - to2 != $to.depth - d2)
24312
+ if (from2 - $from.start(d2) == $from.depth - d2 && to2 > $from.end(d2) && $to.end(d2) - to2 != $to.depth - d2 && $from.start(d2 - 1) == $to.start(d2 - 1) && $from.node(d2 - 1).canReplace($from.index(d2 - 1), $to.index(d2 - 1)))
24255
24313
  return tr2.delete($from.before(d2), to2);
24256
24314
  }
24257
24315
  tr2.delete(from2, to2);
@@ -26405,17 +26463,18 @@ class ViewDesc {
26405
26463
  // custom things with the selection. Note that this falls apart when
26406
26464
  // a selection starts in such a node and ends in another, in which
26407
26465
  // case we just use whatever domFromPos produces as a best effort.
26408
- setSelection(anchor, head, root2, force = false) {
26466
+ setSelection(anchor, head, view, force = false) {
26409
26467
  let from2 = Math.min(anchor, head), to2 = Math.max(anchor, head);
26410
26468
  for (let i2 = 0, offset2 = 0; i2 < this.children.length; i2++) {
26411
26469
  let child = this.children[i2], end2 = offset2 + child.size;
26412
26470
  if (from2 > offset2 && to2 < end2)
26413
- return child.setSelection(anchor - offset2 - child.border, head - offset2 - child.border, root2, force);
26471
+ return child.setSelection(anchor - offset2 - child.border, head - offset2 - child.border, view, force);
26414
26472
  offset2 = end2;
26415
26473
  }
26416
26474
  let anchorDOM = this.domFromPos(anchor, anchor ? -1 : 1);
26417
26475
  let headDOM = head == anchor ? anchorDOM : this.domFromPos(head, head ? -1 : 1);
26418
- let domSel = root2.getSelection();
26476
+ let domSel = view.root.getSelection();
26477
+ let selRange = view.domSelectionRange();
26419
26478
  let brKludge = false;
26420
26479
  if ((gecko || safari) && anchor == head) {
26421
26480
  let { node, offset: offset2 } = anchorDOM;
@@ -26438,12 +26497,12 @@ class ViewDesc {
26438
26497
  brKludge = prev && (prev.nodeName == "BR" || prev.contentEditable == "false");
26439
26498
  }
26440
26499
  }
26441
- if (gecko && domSel.focusNode && domSel.focusNode != headDOM.node && domSel.focusNode.nodeType == 1) {
26442
- let after = domSel.focusNode.childNodes[domSel.focusOffset];
26500
+ if (gecko && selRange.focusNode && selRange.focusNode != headDOM.node && selRange.focusNode.nodeType == 1) {
26501
+ let after = selRange.focusNode.childNodes[selRange.focusOffset];
26443
26502
  if (after && after.contentEditable == "false")
26444
26503
  force = true;
26445
26504
  }
26446
- if (!(force || brKludge && safari) && isEquivalentPosition(anchorDOM.node, anchorDOM.offset, domSel.anchorNode, domSel.anchorOffset) && isEquivalentPosition(headDOM.node, headDOM.offset, domSel.focusNode, domSel.focusOffset))
26505
+ if (!(force || brKludge && safari) && isEquivalentPosition(anchorDOM.node, anchorDOM.offset, selRange.anchorNode, selRange.anchorOffset) && isEquivalentPosition(headDOM.node, headDOM.offset, selRange.focusNode, selRange.focusOffset))
26447
26506
  return;
26448
26507
  let domSelExtended = false;
26449
26508
  if ((domSel.extend || anchor == head) && !brKludge) {
@@ -26584,16 +26643,17 @@ class CompositionViewDesc extends ViewDesc {
26584
26643
  }
26585
26644
  }
26586
26645
  class MarkViewDesc extends ViewDesc {
26587
- constructor(parent, mark, dom, contentDOM) {
26646
+ constructor(parent, mark, dom, contentDOM, spec) {
26588
26647
  super(parent, [], dom, contentDOM);
26589
26648
  this.mark = mark;
26649
+ this.spec = spec;
26590
26650
  }
26591
26651
  static create(parent, mark, inline, view) {
26592
26652
  let custom2 = view.nodeViews[mark.type.name];
26593
26653
  let spec = custom2 && custom2(mark, view, inline);
26594
26654
  if (!spec || !spec.dom)
26595
26655
  spec = DOMSerializer.renderSpec(document, mark.type.spec.toDOM(mark, inline), null, mark.attrs);
26596
- return new MarkViewDesc(parent, mark, spec.dom, spec.contentDOM || spec.dom);
26656
+ return new MarkViewDesc(parent, mark, spec.dom, spec.contentDOM || spec.dom, spec);
26597
26657
  }
26598
26658
  parseRule() {
26599
26659
  if (this.dirty & NODE_DIRTY || this.mark.type.spec.reparseInView)
@@ -26626,6 +26686,14 @@ class MarkViewDesc extends ViewDesc {
26626
26686
  copy2.children = nodes;
26627
26687
  return copy2;
26628
26688
  }
26689
+ ignoreMutation(mutation) {
26690
+ return this.spec.ignoreMutation ? this.spec.ignoreMutation(mutation) : super.ignoreMutation(mutation);
26691
+ }
26692
+ destroy() {
26693
+ if (this.spec.destroy)
26694
+ this.spec.destroy();
26695
+ super.destroy();
26696
+ }
26629
26697
  }
26630
26698
  class NodeViewDesc extends ViewDesc {
26631
26699
  constructor(parent, node, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos) {
@@ -26917,7 +26985,7 @@ class CustomNodeViewDesc extends NodeViewDesc {
26917
26985
  update(node, outerDeco, innerDeco, view) {
26918
26986
  if (this.dirty == NODE_DIRTY)
26919
26987
  return false;
26920
- if (this.spec.update) {
26988
+ if (this.spec.update && (this.node.type == node.type || this.spec.multiType)) {
26921
26989
  let result2 = this.spec.update(node, outerDeco, innerDeco);
26922
26990
  if (result2)
26923
26991
  this.updateInner(node, outerDeco, innerDeco, view);
@@ -26934,8 +27002,8 @@ class CustomNodeViewDesc extends NodeViewDesc {
26934
27002
  deselectNode() {
26935
27003
  this.spec.deselectNode ? this.spec.deselectNode() : super.deselectNode();
26936
27004
  }
26937
- setSelection(anchor, head, root2, force) {
26938
- this.spec.setSelection ? this.spec.setSelection(anchor, head, root2) : super.setSelection(anchor, head, root2, force);
27005
+ setSelection(anchor, head, view, force) {
27006
+ this.spec.setSelection ? this.spec.setSelection(anchor, head, view.root) : super.setSelection(anchor, head, view, force);
26939
27007
  }
26940
27008
  destroy() {
26941
27009
  if (this.spec.destroy)
@@ -27522,7 +27590,7 @@ function selectionToDOM(view, force = false) {
27522
27590
  if (!sel.empty && !sel.$from.parent.inlineContent)
27523
27591
  resetEditableTo = temporarilyEditableNear(view, sel.to);
27524
27592
  }
27525
- view.docView.setSelection(anchor, head, view.root, force);
27593
+ view.docView.setSelection(anchor, head, view, force);
27526
27594
  if (brokenSelectBetweenUneditable) {
27527
27595
  if (resetEditableFrom)
27528
27596
  resetEditable(resetEditableFrom);
@@ -28158,11 +28226,14 @@ let _detachedDoc = null;
28158
28226
  function detachedDoc() {
28159
28227
  return _detachedDoc || (_detachedDoc = document.implementation.createHTMLDocument("title"));
28160
28228
  }
28229
+ let _policy = null;
28161
28230
  function maybeWrapTrusted(html) {
28162
28231
  let trustedTypes = window.trustedTypes;
28163
28232
  if (!trustedTypes)
28164
28233
  return html;
28165
- return trustedTypes.createPolicy("detachedDocument", { createHTML: (s2) => s2 }).createHTML(html);
28234
+ if (!_policy)
28235
+ _policy = trustedTypes.createPolicy("ProseMirrorClipboard", { createHTML: (s2) => s2 });
28236
+ return _policy.createHTML(html);
28166
28237
  }
28167
28238
  function readHTML(html) {
28168
28239
  let metas = /^(\s*<meta [^>]*>)*/.exec(html);
@@ -28294,9 +28365,7 @@ editHandlers.keydown = (view, _event) => {
28294
28365
  view.input.lastKeyCodeTime = Date.now();
28295
28366
  if (android && chrome && event.keyCode == 13)
28296
28367
  return;
28297
- if (view.domObserver.selectionChanged(view.domSelectionRange()))
28298
- view.domObserver.flush();
28299
- else if (event.keyCode != 229)
28368
+ if (event.keyCode != 229)
28300
28369
  view.domObserver.forceFlush();
28301
28370
  if (ios && event.keyCode == 13 && !event.ctrlKey && !event.altKey && !event.metaKey) {
28302
28371
  let now = Date.now();
@@ -29674,9 +29743,6 @@ class DOMObserver {
29674
29743
  this.queue.push(mut);
29675
29744
  return this.queue;
29676
29745
  }
29677
- selectionChanged(sel) {
29678
- return !this.suppressingSelectionUpdates && !this.currentSelection.eq(sel) && hasFocusAndSelection(this.view) && !this.ignoreSelectionChange(sel);
29679
- }
29680
29746
  flush() {
29681
29747
  let { view } = this;
29682
29748
  if (!view.docView || this.flushingSoon > -1)
@@ -29684,7 +29750,8 @@ class DOMObserver {
29684
29750
  let mutations = this.pendingRecords();
29685
29751
  if (mutations.length)
29686
29752
  this.queue = [];
29687
- let sel = view.domSelectionRange(), newSel = this.selectionChanged(sel);
29753
+ let sel = view.domSelectionRange();
29754
+ let newSel = !this.suppressingSelectionUpdates && !this.currentSelection.eq(sel) && hasFocusAndSelection(view) && !this.ignoreSelectionChange(sel);
29688
29755
  let from2 = -1, to2 = -1, typeOver = false, added = [];
29689
29756
  if (view.editable) {
29690
29757
  for (let i2 = 0; i2 < mutations.length; i2++) {
@@ -31124,7 +31191,7 @@ function joinMaybeClear(state2, $pos, dispatch) {
31124
31191
  if (!$pos.parent.canReplace(index2, index2 + 1) || !(after.isTextblock || canJoin(state2.doc, $pos.pos)))
31125
31192
  return false;
31126
31193
  if (dispatch)
31127
- dispatch(state2.tr.clearIncompatible($pos.pos, before.type, before.contentMatchAt(before.childCount)).join($pos.pos).scrollIntoView());
31194
+ dispatch(state2.tr.join($pos.pos).scrollIntoView());
31128
31195
  return true;
31129
31196
  }
31130
31197
  function deleteBarrier(state2, $cut, dispatch, dir) {
@@ -31140,9 +31207,9 @@ function deleteBarrier(state2, $cut, dispatch, dir) {
31140
31207
  wrap2 = Fragment.from(conn[i2].create(null, wrap2));
31141
31208
  wrap2 = Fragment.from(before.copy(wrap2));
31142
31209
  let tr2 = state2.tr.step(new ReplaceAroundStep($cut.pos - 1, end2, $cut.pos, end2, new Slice(wrap2, 1, 0), conn.length, true));
31143
- let joinAt = end2 + 2 * conn.length;
31144
- if (canJoin(tr2.doc, joinAt))
31145
- tr2.join(joinAt);
31210
+ let $joinAt = tr2.doc.resolve(end2 + 2 * conn.length);
31211
+ if ($joinAt.nodeAfter && $joinAt.nodeAfter.type == before.type && canJoin(tr2.doc, $joinAt.pos))
31212
+ tr2.join($joinAt.pos);
31146
31213
  dispatch(tr2.scrollIntoView());
31147
31214
  }
31148
31215
  return true;
@@ -31507,6 +31574,13 @@ class EventEmitter {
31507
31574
  }
31508
31575
  return this;
31509
31576
  }
31577
+ once(event, fn3) {
31578
+ const onceFn = (...args) => {
31579
+ this.off(event, onceFn);
31580
+ fn3.apply(this, args);
31581
+ };
31582
+ return this.on(event, onceFn);
31583
+ }
31510
31584
  removeAllListeners() {
31511
31585
  this.callbacks = {};
31512
31586
  }
@@ -31754,6 +31828,7 @@ function getSchemaByResolvedExtensions(extensions, editor) {
31754
31828
  draggable: callOrReturn(getExtensionField(extension, "draggable", context)),
31755
31829
  code: callOrReturn(getExtensionField(extension, "code", context)),
31756
31830
  whitespace: callOrReturn(getExtensionField(extension, "whitespace", context)),
31831
+ linebreakReplacement: callOrReturn(getExtensionField(extension, "linebreakReplacement", context)),
31757
31832
  defining: callOrReturn(getExtensionField(extension, "defining", context)),
31758
31833
  isolating: callOrReturn(getExtensionField(extension, "isolating", context)),
31759
31834
  attrs: Object.fromEntries(extensionAttributes.map((extensionAttribute) => {
@@ -31836,6 +31911,13 @@ function isExtensionRulesEnabled(extension, enabled) {
31836
31911
  }
31837
31912
  return enabled;
31838
31913
  }
31914
+ function getHTMLFromFragment(fragment, schema) {
31915
+ const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment);
31916
+ const temporaryDocument = document.implementation.createHTMLDocument();
31917
+ const container = temporaryDocument.createElement("div");
31918
+ container.appendChild(documentFragment);
31919
+ return container.innerHTML;
31920
+ }
31839
31921
  const getTextContentFromNodes = ($from, maxMatch = 500) => {
31840
31922
  let textBefore = "";
31841
31923
  const sliceEndPos = $from.parentOffset;
@@ -31946,7 +32028,7 @@ function inputRulesPlugin(props2) {
31946
32028
  init() {
31947
32029
  return null;
31948
32030
  },
31949
- apply(tr2, prev) {
32031
+ apply(tr2, prev, state2) {
31950
32032
  const stored = tr2.getMeta(plugin);
31951
32033
  if (stored) {
31952
32034
  return stored;
@@ -31955,7 +32037,13 @@ function inputRulesPlugin(props2) {
31955
32037
  const isSimulatedInput = !!simulatedInputMeta;
31956
32038
  if (isSimulatedInput) {
31957
32039
  setTimeout(() => {
31958
- const { from: from2, text } = simulatedInputMeta;
32040
+ let { text } = simulatedInputMeta;
32041
+ if (typeof text === "string") {
32042
+ text = text;
32043
+ } else {
32044
+ text = getHTMLFromFragment(Fragment.from(text), state2.schema);
32045
+ }
32046
+ const { from: from2 } = simulatedInputMeta;
31959
32047
  const to2 = from2 + text.length;
31960
32048
  run$1({
31961
32049
  editor,
@@ -32024,6 +32112,109 @@ function inputRulesPlugin(props2) {
32024
32112
  });
32025
32113
  return plugin;
32026
32114
  }
32115
+ function getType$1(value) {
32116
+ return Object.prototype.toString.call(value).slice(8, -1);
32117
+ }
32118
+ function isPlainObject$1(value) {
32119
+ if (getType$1(value) !== "Object") {
32120
+ return false;
32121
+ }
32122
+ return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
32123
+ }
32124
+ function mergeDeep(target, source) {
32125
+ const output = { ...target };
32126
+ if (isPlainObject$1(target) && isPlainObject$1(source)) {
32127
+ Object.keys(source).forEach((key) => {
32128
+ if (isPlainObject$1(source[key]) && isPlainObject$1(target[key])) {
32129
+ output[key] = mergeDeep(target[key], source[key]);
32130
+ } else {
32131
+ output[key] = source[key];
32132
+ }
32133
+ });
32134
+ }
32135
+ return output;
32136
+ }
32137
+ class Mark {
32138
+ constructor(config = {}) {
32139
+ this.type = "mark";
32140
+ this.name = "mark";
32141
+ this.parent = null;
32142
+ this.child = null;
32143
+ this.config = {
32144
+ name: this.name,
32145
+ defaultOptions: {}
32146
+ };
32147
+ this.config = {
32148
+ ...this.config,
32149
+ ...config
32150
+ };
32151
+ this.name = this.config.name;
32152
+ if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
32153
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
32154
+ }
32155
+ this.options = this.config.defaultOptions;
32156
+ if (this.config.addOptions) {
32157
+ this.options = callOrReturn(getExtensionField(this, "addOptions", {
32158
+ name: this.name
32159
+ }));
32160
+ }
32161
+ this.storage = callOrReturn(getExtensionField(this, "addStorage", {
32162
+ name: this.name,
32163
+ options: this.options
32164
+ })) || {};
32165
+ }
32166
+ static create(config = {}) {
32167
+ return new Mark(config);
32168
+ }
32169
+ configure(options = {}) {
32170
+ const extension = this.extend({
32171
+ ...this.config,
32172
+ addOptions: () => {
32173
+ return mergeDeep(this.options, options);
32174
+ }
32175
+ });
32176
+ extension.name = this.name;
32177
+ extension.parent = this.parent;
32178
+ return extension;
32179
+ }
32180
+ extend(extendedConfig = {}) {
32181
+ const extension = new Mark(extendedConfig);
32182
+ extension.parent = this;
32183
+ this.child = extension;
32184
+ extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
32185
+ if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
32186
+ console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
32187
+ }
32188
+ extension.options = callOrReturn(getExtensionField(extension, "addOptions", {
32189
+ name: extension.name
32190
+ }));
32191
+ extension.storage = callOrReturn(getExtensionField(extension, "addStorage", {
32192
+ name: extension.name,
32193
+ options: extension.options
32194
+ }));
32195
+ return extension;
32196
+ }
32197
+ static handleExit({ editor, mark }) {
32198
+ const { tr: tr2 } = editor.state;
32199
+ const currentPos = editor.state.selection.$from;
32200
+ const isAtEnd = currentPos.pos === currentPos.end();
32201
+ if (isAtEnd) {
32202
+ const currentMarks = currentPos.marks();
32203
+ const isInMark = !!currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
32204
+ if (!isInMark) {
32205
+ return false;
32206
+ }
32207
+ const removeMark2 = currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
32208
+ if (removeMark2) {
32209
+ tr2.removeStoredMark(removeMark2);
32210
+ }
32211
+ tr2.insertText(" ", currentPos.pos);
32212
+ editor.view.dispatch(tr2);
32213
+ return true;
32214
+ }
32215
+ return false;
32216
+ }
32217
+ }
32027
32218
  function isNumber$1(value) {
32028
32219
  return typeof value === "number";
32029
32220
  }
@@ -32110,7 +32301,12 @@ function pasteRulesPlugin(props2) {
32110
32301
  let isPastedFromProseMirror = false;
32111
32302
  let isDroppedFromProseMirror = false;
32112
32303
  let pasteEvent = typeof ClipboardEvent !== "undefined" ? new ClipboardEvent("paste") : null;
32113
- let dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32304
+ let dropEvent;
32305
+ try {
32306
+ dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32307
+ } catch (e) {
32308
+ dropEvent = null;
32309
+ }
32114
32310
  const processEvent = ({ state: state2, from: from2, to: to2, rule, pasteEvt }) => {
32115
32311
  const tr2 = state2.tr;
32116
32312
  const chainableState = createChainableState({
@@ -32129,7 +32325,11 @@ function pasteRulesPlugin(props2) {
32129
32325
  if (!handler || !tr2.steps.length) {
32130
32326
  return;
32131
32327
  }
32132
- dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32328
+ try {
32329
+ dropEvent = typeof DragEvent !== "undefined" ? new DragEvent("drop") : null;
32330
+ } catch (e) {
32331
+ dropEvent = null;
32332
+ }
32133
32333
  pasteEvent = typeof ClipboardEvent !== "undefined" ? new ClipboardEvent("paste") : null;
32134
32334
  return tr2;
32135
32335
  };
@@ -32174,7 +32374,13 @@ function pasteRulesPlugin(props2) {
32174
32374
  return;
32175
32375
  }
32176
32376
  if (isSimulatedPaste) {
32177
- const { from: from3, text } = simulatedPasteMeta;
32377
+ let { text } = simulatedPasteMeta;
32378
+ if (typeof text === "string") {
32379
+ text = text;
32380
+ } else {
32381
+ text = getHTMLFromFragment(Fragment.from(text), state2.schema);
32382
+ }
32383
+ const { from: from3 } = simulatedPasteMeta;
32178
32384
  const to3 = from3 + text.length;
32179
32385
  const pasteEvt = createClipboardPasteEvent(text);
32180
32386
  return processEvent({
@@ -32448,28 +32654,6 @@ class ExtensionManager {
32448
32654
  });
32449
32655
  }
32450
32656
  }
32451
- function getType$1(value) {
32452
- return Object.prototype.toString.call(value).slice(8, -1);
32453
- }
32454
- function isPlainObject$1(value) {
32455
- if (getType$1(value) !== "Object") {
32456
- return false;
32457
- }
32458
- return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype;
32459
- }
32460
- function mergeDeep(target, source) {
32461
- const output = { ...target };
32462
- if (isPlainObject$1(target) && isPlainObject$1(source)) {
32463
- Object.keys(source).forEach((key) => {
32464
- if (isPlainObject$1(source[key]) && isPlainObject$1(target[key])) {
32465
- output[key] = mergeDeep(target[key], source[key]);
32466
- } else {
32467
- output[key] = source[key];
32468
- }
32469
- });
32470
- }
32471
- return output;
32472
- }
32473
32657
  class Extension {
32474
32658
  constructor(config = {}) {
32475
32659
  this.type = "extension";
@@ -32720,23 +32904,29 @@ function objectIncludes(object1, object2, options = { strict: true }) {
32720
32904
  }
32721
32905
  function findMarkInSet(marks, type3, attributes = {}) {
32722
32906
  return marks.find((item) => {
32723
- return item.type === type3 && objectIncludes(item.attrs, attributes);
32907
+ return item.type === type3 && objectIncludes(
32908
+ // Only check equality for the attributes that are provided
32909
+ Object.fromEntries(Object.keys(attributes).map((k2) => [k2, item.attrs[k2]])),
32910
+ attributes
32911
+ );
32724
32912
  });
32725
32913
  }
32726
32914
  function isMarkInSet(marks, type3, attributes = {}) {
32727
32915
  return !!findMarkInSet(marks, type3, attributes);
32728
32916
  }
32729
- function getMarkRange($pos, type3, attributes = {}) {
32917
+ function getMarkRange($pos, type3, attributes) {
32918
+ var _a2;
32730
32919
  if (!$pos || !type3) {
32731
32920
  return;
32732
32921
  }
32733
32922
  let start2 = $pos.parent.childAfter($pos.parentOffset);
32734
- if ($pos.parentOffset === start2.offset && start2.offset !== 0) {
32923
+ if (!start2.node || !start2.node.marks.some((mark2) => mark2.type === type3)) {
32735
32924
  start2 = $pos.parent.childBefore($pos.parentOffset);
32736
32925
  }
32737
- if (!start2.node) {
32926
+ if (!start2.node || !start2.node.marks.some((mark2) => mark2.type === type3)) {
32738
32927
  return;
32739
32928
  }
32929
+ attributes = attributes || ((_a2 = start2.node.marks[0]) === null || _a2 === void 0 ? void 0 : _a2.attrs);
32740
32930
  const mark = findMarkInSet([...start2.node.marks], type3, attributes);
32741
32931
  if (!mark) {
32742
32932
  return;
@@ -32745,8 +32935,7 @@ function getMarkRange($pos, type3, attributes = {}) {
32745
32935
  let startPos = $pos.start() + start2.offset;
32746
32936
  let endIndex = startIndex + 1;
32747
32937
  let endPos = startPos + start2.node.nodeSize;
32748
- findMarkInSet([...start2.node.marks], type3, attributes);
32749
- while (startIndex > 0 && mark.isInSet($pos.parent.child(startIndex - 1).marks)) {
32938
+ while (startIndex > 0 && isMarkInSet([...$pos.parent.child(startIndex - 1).marks], type3, attributes)) {
32750
32939
  startIndex -= 1;
32751
32940
  startPos -= $pos.parent.child(startIndex).nodeSize;
32752
32941
  }
@@ -32887,6 +33076,9 @@ function elementFromString(value) {
32887
33076
  return removeWhitespaces(html);
32888
33077
  }
32889
33078
  function createNodeFromContent(content, schema, options) {
33079
+ if (content instanceof Node$2 || content instanceof Fragment) {
33080
+ return content;
33081
+ }
32890
33082
  options = {
32891
33083
  slice: true,
32892
33084
  parseOptions: {},
@@ -32981,7 +33173,7 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
32981
33173
  var _a2;
32982
33174
  if (dispatch) {
32983
33175
  options = {
32984
- parseOptions: {},
33176
+ parseOptions: editor.options.parseOptions,
32985
33177
  updateSelection: true,
32986
33178
  applyInputRules: false,
32987
33179
  applyPasteRules: false,
@@ -33001,7 +33193,9 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
33001
33193
  editor,
33002
33194
  error: e,
33003
33195
  disableCollaboration: () => {
33004
- console.error("[tiptap error]: Unable to disable collaboration at this point in time");
33196
+ if (editor.storage.collaboration) {
33197
+ editor.storage.collaboration.isDisabled = true;
33198
+ }
33005
33199
  }
33006
33200
  });
33007
33201
  return false;
@@ -33027,6 +33221,14 @@ const insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, edit
33027
33221
  if (isOnlyTextContent) {
33028
33222
  if (Array.isArray(value)) {
33029
33223
  newContent = value.map((v2) => v2.text || "").join("");
33224
+ } else if (value instanceof Fragment) {
33225
+ let text = "";
33226
+ value.forEach((node) => {
33227
+ if (node.text) {
33228
+ text += node.text;
33229
+ }
33230
+ });
33231
+ newContent = text;
33030
33232
  } else if (typeof value === "object" && !!value && !!value.text) {
33031
33233
  newContent = value.text;
33032
33234
  } else {
@@ -33362,13 +33564,6 @@ function findParentNodeClosestToPos($pos, predicate) {
33362
33564
  function findParentNode(predicate) {
33363
33565
  return (selection) => findParentNodeClosestToPos(selection.$from, predicate);
33364
33566
  }
33365
- function getHTMLFromFragment(fragment, schema) {
33366
- const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment);
33367
- const temporaryDocument = document.implementation.createHTMLDocument();
33368
- const container = temporaryDocument.createElement("div");
33369
- container.appendChild(documentFragment);
33370
- return container.innerHTML;
33371
- }
33372
33567
  function getText(node, options) {
33373
33568
  const range2 = {
33374
33569
  from: 0,
@@ -33654,18 +33849,22 @@ const setMeta = (key, value) => ({ tr: tr2 }) => {
33654
33849
  };
33655
33850
  const setNode = (typeOrName, attributes = {}) => ({ state: state2, dispatch, chain }) => {
33656
33851
  const type3 = getNodeType(typeOrName, state2.schema);
33852
+ let attributesToCopy;
33853
+ if (state2.selection.$anchor.sameParent(state2.selection.$head)) {
33854
+ attributesToCopy = state2.selection.$anchor.parent.attrs;
33855
+ }
33657
33856
  if (!type3.isTextblock) {
33658
33857
  console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.');
33659
33858
  return false;
33660
33859
  }
33661
33860
  return chain().command(({ commands: commands2 }) => {
33662
- const canSetBlock = setBlockType(type3, attributes)(state2);
33861
+ const canSetBlock = setBlockType(type3, { ...attributesToCopy, ...attributes })(state2);
33663
33862
  if (canSetBlock) {
33664
33863
  return true;
33665
33864
  }
33666
33865
  return commands2.clearNodes();
33667
33866
  }).command(({ state: updatedState }) => {
33668
- return setBlockType(type3, attributes)(updatedState, dispatch);
33867
+ return setBlockType(type3, { ...attributesToCopy, ...attributes })(updatedState, dispatch);
33669
33868
  }).run();
33670
33869
  };
33671
33870
  const setNodeSelection = (position) => ({ tr: tr2, dispatch }) => {
@@ -34024,18 +34223,59 @@ const updateAttributes = (typeOrName, attributes = {}) => ({ tr: tr2, state: sta
34024
34223
  tr2.selection.ranges.forEach((range2) => {
34025
34224
  const from2 = range2.$from.pos;
34026
34225
  const to2 = range2.$to.pos;
34027
- state2.doc.nodesBetween(from2, to2, (node, pos) => {
34028
- if (nodeType && nodeType === node.type) {
34029
- tr2.setNodeMarkup(pos, void 0, {
34030
- ...node.attrs,
34226
+ let lastPos;
34227
+ let lastNode;
34228
+ let trimmedFrom;
34229
+ let trimmedTo;
34230
+ if (tr2.selection.empty) {
34231
+ state2.doc.nodesBetween(from2, to2, (node, pos) => {
34232
+ if (nodeType && nodeType === node.type) {
34233
+ trimmedFrom = Math.max(pos, from2);
34234
+ trimmedTo = Math.min(pos + node.nodeSize, to2);
34235
+ lastPos = pos;
34236
+ lastNode = node;
34237
+ }
34238
+ });
34239
+ } else {
34240
+ state2.doc.nodesBetween(from2, to2, (node, pos) => {
34241
+ if (pos < from2 && nodeType && nodeType === node.type) {
34242
+ trimmedFrom = Math.max(pos, from2);
34243
+ trimmedTo = Math.min(pos + node.nodeSize, to2);
34244
+ lastPos = pos;
34245
+ lastNode = node;
34246
+ }
34247
+ if (pos >= from2 && pos <= to2) {
34248
+ if (nodeType && nodeType === node.type) {
34249
+ tr2.setNodeMarkup(pos, void 0, {
34250
+ ...node.attrs,
34251
+ ...attributes
34252
+ });
34253
+ }
34254
+ if (markType && node.marks.length) {
34255
+ node.marks.forEach((mark) => {
34256
+ if (markType === mark.type) {
34257
+ const trimmedFrom2 = Math.max(pos, from2);
34258
+ const trimmedTo2 = Math.min(pos + node.nodeSize, to2);
34259
+ tr2.addMark(trimmedFrom2, trimmedTo2, markType.create({
34260
+ ...mark.attrs,
34261
+ ...attributes
34262
+ }));
34263
+ }
34264
+ });
34265
+ }
34266
+ }
34267
+ });
34268
+ }
34269
+ if (lastNode) {
34270
+ if (lastPos !== void 0) {
34271
+ tr2.setNodeMarkup(lastPos, void 0, {
34272
+ ...lastNode.attrs,
34031
34273
  ...attributes
34032
34274
  });
34033
34275
  }
34034
- if (markType && node.marks.length) {
34035
- node.marks.forEach((mark) => {
34276
+ if (markType && lastNode.marks.length) {
34277
+ lastNode.marks.forEach((mark) => {
34036
34278
  if (markType === mark.type) {
34037
- const trimmedFrom = Math.max(pos, from2);
34038
- const trimmedTo = Math.min(pos + node.nodeSize, to2);
34039
34279
  tr2.addMark(trimmedFrom, trimmedTo, markType.create({
34040
34280
  ...mark.attrs,
34041
34281
  ...attributes
@@ -34043,7 +34283,7 @@ const updateAttributes = (typeOrName, attributes = {}) => ({ tr: tr2, state: sta
34043
34283
  }
34044
34284
  });
34045
34285
  }
34046
- });
34286
+ }
34047
34287
  });
34048
34288
  }
34049
34289
  return true;
@@ -34125,6 +34365,26 @@ const Commands = Extension.create({
34125
34365
  };
34126
34366
  }
34127
34367
  });
34368
+ const Drop = Extension.create({
34369
+ name: "drop",
34370
+ addProseMirrorPlugins() {
34371
+ return [
34372
+ new Plugin({
34373
+ key: new PluginKey("tiptapDrop"),
34374
+ props: {
34375
+ handleDrop: (_2, e, slice4, moved2) => {
34376
+ this.editor.emit("drop", {
34377
+ editor: this.editor,
34378
+ event: e,
34379
+ slice: slice4,
34380
+ moved: moved2
34381
+ });
34382
+ }
34383
+ }
34384
+ })
34385
+ ];
34386
+ }
34387
+ });
34128
34388
  const Editable = Extension.create({
34129
34389
  name: "editable",
34130
34390
  addProseMirrorPlugins() {
@@ -34274,6 +34534,25 @@ const Keymap = Extension.create({
34274
34534
  ];
34275
34535
  }
34276
34536
  });
34537
+ const Paste = Extension.create({
34538
+ name: "paste",
34539
+ addProseMirrorPlugins() {
34540
+ return [
34541
+ new Plugin({
34542
+ key: new PluginKey("tiptapPaste"),
34543
+ props: {
34544
+ handlePaste: (_view, e, slice4) => {
34545
+ this.editor.emit("paste", {
34546
+ editor: this.editor,
34547
+ event: e,
34548
+ slice: slice4
34549
+ });
34550
+ }
34551
+ }
34552
+ })
34553
+ ];
34554
+ }
34555
+ });
34277
34556
  const Tabindex = Extension.create({
34278
34557
  name: "tabindex",
34279
34558
  addProseMirrorPlugins() {
@@ -34381,7 +34660,8 @@ class NodePos {
34381
34660
  const children2 = [];
34382
34661
  this.node.content.forEach((node, offset2) => {
34383
34662
  const isBlock = node.isBlock && !node.isTextblock;
34384
- const targetPos = this.pos + offset2 + 1;
34663
+ const isNonTextAtom = node.isAtom && !node.isText;
34664
+ const targetPos = this.pos + offset2 + (isNonTextAtom ? 0 : 1);
34385
34665
  const $pos = this.resolvedPos.doc.resolve(targetPos);
34386
34666
  if (!isBlock && $pos.depth <= this.depth) {
34387
34667
  return;
@@ -34450,30 +34730,14 @@ class NodePos {
34450
34730
  return nodes;
34451
34731
  }
34452
34732
  setAttribute(attributes) {
34453
- const oldSelection = this.editor.state.selection;
34454
- this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from).run();
34733
+ const { tr: tr2 } = this.editor.state;
34734
+ tr2.setNodeMarkup(this.from, void 0, {
34735
+ ...this.node.attrs,
34736
+ ...attributes
34737
+ });
34738
+ this.editor.view.dispatch(tr2);
34455
34739
  }
34456
34740
  }
34457
- const DropPlugin = (onDrop) => {
34458
- return new Plugin({
34459
- key: new PluginKey("tiptapDrop"),
34460
- props: {
34461
- handleDrop: (_2, e, slice4, moved2) => {
34462
- onDrop(e, slice4, moved2);
34463
- }
34464
- }
34465
- });
34466
- };
34467
- const PastePlugin = (onPaste) => {
34468
- return new Plugin({
34469
- key: new PluginKey("tiptapPaste"),
34470
- props: {
34471
- handlePaste: (_view, e, slice4) => {
34472
- onPaste(e, slice4);
34473
- }
34474
- }
34475
- });
34476
- };
34477
34741
  const style = `.ProseMirror {
34478
34742
  position: relative;
34479
34743
  }
@@ -34616,12 +34880,8 @@ let Editor$1 = class Editor2 extends EventEmitter {
34616
34880
  this.on("focus", this.options.onFocus);
34617
34881
  this.on("blur", this.options.onBlur);
34618
34882
  this.on("destroy", this.options.onDestroy);
34619
- if (this.options.onPaste) {
34620
- this.registerPlugin(PastePlugin(this.options.onPaste));
34621
- }
34622
- if (this.options.onDrop) {
34623
- this.registerPlugin(DropPlugin(this.options.onDrop));
34624
- }
34883
+ this.on("drop", ({ event, slice: slice4, moved: moved2 }) => this.options.onDrop(event, slice4, moved2));
34884
+ this.on("paste", ({ event, slice: slice4 }) => this.options.onPaste(event, slice4));
34625
34885
  window.setTimeout(() => {
34626
34886
  if (this.isDestroyed) {
34627
34887
  return;
@@ -34718,17 +34978,24 @@ let Editor$1 = class Editor2 extends EventEmitter {
34718
34978
  /**
34719
34979
  * Unregister a ProseMirror plugin.
34720
34980
  *
34721
- * @param nameOrPluginKey The plugins name
34981
+ * @param nameOrPluginKeyToRemove The plugins name
34722
34982
  * @returns The new editor state or undefined if the editor is destroyed
34723
34983
  */
34724
- unregisterPlugin(nameOrPluginKey) {
34984
+ unregisterPlugin(nameOrPluginKeyToRemove) {
34725
34985
  if (this.isDestroyed) {
34726
34986
  return void 0;
34727
34987
  }
34728
- const name = typeof nameOrPluginKey === "string" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
34988
+ const prevPlugins = this.state.plugins;
34989
+ let plugins2 = prevPlugins;
34990
+ [].concat(nameOrPluginKeyToRemove).forEach((nameOrPluginKey) => {
34991
+ const name = typeof nameOrPluginKey === "string" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
34992
+ plugins2 = prevPlugins.filter((plugin) => !plugin.key.startsWith(name));
34993
+ });
34994
+ if (prevPlugins.length === plugins2.length) {
34995
+ return void 0;
34996
+ }
34729
34997
  const state2 = this.state.reconfigure({
34730
- // @ts-ignore
34731
- plugins: this.state.plugins.filter((plugin) => !plugin.key.startsWith(name))
34998
+ plugins: plugins2
34732
34999
  });
34733
35000
  this.view.updateState(state2);
34734
35001
  return state2;
@@ -34746,7 +35013,9 @@ let Editor$1 = class Editor2 extends EventEmitter {
34746
35013
  Commands,
34747
35014
  FocusEvents,
34748
35015
  Keymap,
34749
- Tabindex
35016
+ Tabindex,
35017
+ Drop,
35018
+ Paste
34750
35019
  ].filter((ext) => {
34751
35020
  if (typeof this.options.enableCoreExtensions === "object") {
34752
35021
  return this.options.enableCoreExtensions[ext.name] !== false;
@@ -34776,6 +35045,7 @@ let Editor$1 = class Editor2 extends EventEmitter {
34776
35045
  * Creates a ProseMirror view.
34777
35046
  */
34778
35047
  createView() {
35048
+ var _a2;
34779
35049
  let doc2;
34780
35050
  try {
34781
35051
  doc2 = createDocument(this.options.content, this.schema, this.options.parseOptions, { errorOnInvalidContent: this.options.enableContentCheck });
@@ -34787,6 +35057,9 @@ let Editor$1 = class Editor2 extends EventEmitter {
34787
35057
  editor: this,
34788
35058
  error: e,
34789
35059
  disableCollaboration: () => {
35060
+ if (this.storage.collaboration) {
35061
+ this.storage.collaboration.isDisabled = true;
35062
+ }
34790
35063
  this.options.extensions = this.options.extensions.filter((extension) => extension.name !== "collaboration");
34791
35064
  this.createExtensionManager();
34792
35065
  }
@@ -34796,6 +35069,11 @@ let Editor$1 = class Editor2 extends EventEmitter {
34796
35069
  const selection = resolveFocusPosition(doc2, this.options.autofocus);
34797
35070
  this.view = new EditorView(this.options.element, {
34798
35071
  ...this.options.editorProps,
35072
+ attributes: {
35073
+ // add `role="textbox"` to the editor element
35074
+ role: "textbox",
35075
+ ...(_a2 = this.options.editorProps) === null || _a2 === void 0 ? void 0 : _a2.attributes
35076
+ },
34799
35077
  dispatchTransaction: this.dispatchTransaction.bind(this),
34800
35078
  state: EditorState.create({
34801
35079
  doc: doc2,
@@ -35095,87 +35373,6 @@ function wrappingInputRule(config) {
35095
35373
  }
35096
35374
  });
35097
35375
  }
35098
- class Mark {
35099
- constructor(config = {}) {
35100
- this.type = "mark";
35101
- this.name = "mark";
35102
- this.parent = null;
35103
- this.child = null;
35104
- this.config = {
35105
- name: this.name,
35106
- defaultOptions: {}
35107
- };
35108
- this.config = {
35109
- ...this.config,
35110
- ...config
35111
- };
35112
- this.name = this.config.name;
35113
- if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {
35114
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`);
35115
- }
35116
- this.options = this.config.defaultOptions;
35117
- if (this.config.addOptions) {
35118
- this.options = callOrReturn(getExtensionField(this, "addOptions", {
35119
- name: this.name
35120
- }));
35121
- }
35122
- this.storage = callOrReturn(getExtensionField(this, "addStorage", {
35123
- name: this.name,
35124
- options: this.options
35125
- })) || {};
35126
- }
35127
- static create(config = {}) {
35128
- return new Mark(config);
35129
- }
35130
- configure(options = {}) {
35131
- const extension = this.extend({
35132
- ...this.config,
35133
- addOptions: () => {
35134
- return mergeDeep(this.options, options);
35135
- }
35136
- });
35137
- extension.name = this.name;
35138
- extension.parent = this.parent;
35139
- return extension;
35140
- }
35141
- extend(extendedConfig = {}) {
35142
- const extension = new Mark(extendedConfig);
35143
- extension.parent = this;
35144
- this.child = extension;
35145
- extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name;
35146
- if (extendedConfig.defaultOptions && Object.keys(extendedConfig.defaultOptions).length > 0) {
35147
- console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${extension.name}".`);
35148
- }
35149
- extension.options = callOrReturn(getExtensionField(extension, "addOptions", {
35150
- name: extension.name
35151
- }));
35152
- extension.storage = callOrReturn(getExtensionField(extension, "addStorage", {
35153
- name: extension.name,
35154
- options: extension.options
35155
- }));
35156
- return extension;
35157
- }
35158
- static handleExit({ editor, mark }) {
35159
- const { tr: tr2 } = editor.state;
35160
- const currentPos = editor.state.selection.$from;
35161
- const isAtEnd = currentPos.pos === currentPos.end();
35162
- if (isAtEnd) {
35163
- const currentMarks = currentPos.marks();
35164
- const isInMark = !!currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
35165
- if (!isInMark) {
35166
- return false;
35167
- }
35168
- const removeMark2 = currentMarks.find((m2) => (m2 === null || m2 === void 0 ? void 0 : m2.type.name) === mark.name);
35169
- if (removeMark2) {
35170
- tr2.removeStoredMark(removeMark2);
35171
- }
35172
- tr2.insertText(" ", currentPos.pos);
35173
- editor.view.dispatch(tr2);
35174
- return true;
35175
- }
35176
- return false;
35177
- }
35178
- }
35179
35376
  let Node$1 = class Node3 {
35180
35377
  constructor(config = {}) {
35181
35378
  this.type = "node";
@@ -36005,7 +36202,7 @@ function drawCellSelection(state2) {
36005
36202
  return DecorationSet.create(state2.doc, cells);
36006
36203
  }
36007
36204
  function isCellBoundarySelection({ $from, $to }) {
36008
- if ($from.pos == $to.pos || $from.pos < $from.pos - 6)
36205
+ if ($from.pos == $to.pos || $from.pos < $to.pos - 6)
36009
36206
  return false;
36010
36207
  let afterFrom = $from.pos;
36011
36208
  let beforeTo = $to.pos;
@@ -36168,267 +36365,834 @@ function fixTable(state2, table, tablePos, tr2) {
36168
36365
  }
36169
36366
  return tr2.setMeta(fixTablesKey, { fixTables: true });
36170
36367
  }
36171
- function pastedCells(slice4) {
36172
- if (!slice4.size)
36173
- return null;
36174
- let { content, openStart, openEnd } = slice4;
36175
- while (content.childCount == 1 && (openStart > 0 && openEnd > 0 || content.child(0).type.spec.tableRole == "table")) {
36176
- openStart--;
36177
- openEnd--;
36178
- content = content.child(0).content;
36368
+ function selectedRect(state2) {
36369
+ const sel = state2.selection;
36370
+ const $pos = selectionCell(state2);
36371
+ const table = $pos.node(-1);
36372
+ const tableStart = $pos.start(-1);
36373
+ const map4 = TableMap.get(table);
36374
+ const rect = sel instanceof CellSelection ? map4.rectBetween(
36375
+ sel.$anchorCell.pos - tableStart,
36376
+ sel.$headCell.pos - tableStart
36377
+ ) : map4.findCell($pos.pos - tableStart);
36378
+ return { ...rect, tableStart, map: map4, table };
36379
+ }
36380
+ function addColumn(tr2, { map: map4, tableStart, table }, col) {
36381
+ let refColumn = col > 0 ? -1 : 0;
36382
+ if (columnIsHeader(map4, table, col + refColumn)) {
36383
+ refColumn = col == 0 || col == map4.width ? null : 0;
36179
36384
  }
36180
- const first2 = content.child(0);
36181
- const role = first2.type.spec.tableRole;
36182
- const schema = first2.type.schema, rows = [];
36183
- if (role == "row") {
36184
- for (let i2 = 0; i2 < content.childCount; i2++) {
36185
- let cells = content.child(i2).content;
36186
- const left2 = i2 ? 0 : Math.max(0, openStart - 1);
36187
- const right2 = i2 < content.childCount - 1 ? 0 : Math.max(0, openEnd - 1);
36188
- if (left2 || right2)
36189
- cells = fitSlice(
36190
- tableNodeTypes(schema).row,
36191
- new Slice(cells, left2, right2)
36192
- ).content;
36193
- rows.push(cells);
36385
+ for (let row = 0; row < map4.height; row++) {
36386
+ const index2 = row * map4.width + col;
36387
+ if (col > 0 && col < map4.width && map4.map[index2 - 1] == map4.map[index2]) {
36388
+ const pos = map4.map[index2];
36389
+ const cell = table.nodeAt(pos);
36390
+ tr2.setNodeMarkup(
36391
+ tr2.mapping.map(tableStart + pos),
36392
+ null,
36393
+ addColSpan(cell.attrs, col - map4.colCount(pos))
36394
+ );
36395
+ row += cell.attrs.rowspan - 1;
36396
+ } else {
36397
+ const type3 = refColumn == null ? tableNodeTypes(table.type.schema).cell : table.nodeAt(map4.map[index2 + refColumn]).type;
36398
+ const pos = map4.positionAt(row, col, table);
36399
+ tr2.insert(tr2.mapping.map(tableStart + pos), type3.createAndFill());
36194
36400
  }
36195
- } else if (role == "cell" || role == "header_cell") {
36196
- rows.push(
36197
- openStart || openEnd ? fitSlice(
36198
- tableNodeTypes(schema).row,
36199
- new Slice(content, openStart, openEnd)
36200
- ).content : content
36201
- );
36202
- } else {
36203
- return null;
36204
36401
  }
36205
- return ensureRectangular(schema, rows);
36402
+ return tr2;
36206
36403
  }
36207
- function ensureRectangular(schema, rows) {
36208
- const widths = [];
36209
- for (let i2 = 0; i2 < rows.length; i2++) {
36210
- const row = rows[i2];
36211
- for (let j2 = row.childCount - 1; j2 >= 0; j2--) {
36212
- const { rowspan, colspan } = row.child(j2).attrs;
36213
- for (let r2 = i2; r2 < i2 + rowspan; r2++)
36214
- widths[r2] = (widths[r2] || 0) + colspan;
36215
- }
36216
- }
36217
- let width = 0;
36218
- for (let r2 = 0; r2 < widths.length; r2++)
36219
- width = Math.max(width, widths[r2]);
36220
- for (let r2 = 0; r2 < widths.length; r2++) {
36221
- if (r2 >= rows.length)
36222
- rows.push(Fragment.empty);
36223
- if (widths[r2] < width) {
36224
- const empty2 = tableNodeTypes(schema).cell.createAndFill();
36225
- const cells = [];
36226
- for (let i2 = widths[r2]; i2 < width; i2++) {
36227
- cells.push(empty2);
36228
- }
36229
- rows[r2] = rows[r2].append(Fragment.from(cells));
36230
- }
36404
+ function addColumnBefore(state2, dispatch) {
36405
+ if (!isInTable(state2))
36406
+ return false;
36407
+ if (dispatch) {
36408
+ const rect = selectedRect(state2);
36409
+ dispatch(addColumn(state2.tr, rect, rect.left));
36231
36410
  }
36232
- return { height: rows.length, width, rows };
36411
+ return true;
36233
36412
  }
36234
- function fitSlice(nodeType, slice4) {
36235
- const node = nodeType.createAndFill();
36236
- const tr2 = new Transform(node).replace(0, node.content.size, slice4);
36237
- return tr2.doc;
36413
+ function addColumnAfter(state2, dispatch) {
36414
+ if (!isInTable(state2))
36415
+ return false;
36416
+ if (dispatch) {
36417
+ const rect = selectedRect(state2);
36418
+ dispatch(addColumn(state2.tr, rect, rect.right));
36419
+ }
36420
+ return true;
36238
36421
  }
36239
- function clipCells({ width, height, rows }, newWidth, newHeight) {
36240
- if (width != newWidth) {
36241
- const added = [];
36242
- const newRows = [];
36243
- for (let row = 0; row < rows.length; row++) {
36244
- const frag = rows[row], cells = [];
36245
- for (let col = added[row] || 0, i2 = 0; col < newWidth; i2++) {
36246
- let cell = frag.child(i2 % frag.childCount);
36247
- if (col + cell.attrs.colspan > newWidth)
36248
- cell = cell.type.createChecked(
36249
- removeColSpan(
36250
- cell.attrs,
36251
- cell.attrs.colspan,
36252
- col + cell.attrs.colspan - newWidth
36253
- ),
36254
- cell.content
36255
- );
36256
- cells.push(cell);
36257
- col += cell.attrs.colspan;
36258
- for (let j2 = 1; j2 < cell.attrs.rowspan; j2++)
36259
- added[row + j2] = (added[row + j2] || 0) + cell.attrs.colspan;
36260
- }
36261
- newRows.push(Fragment.from(cells));
36422
+ function removeColumn(tr2, { map: map4, table, tableStart }, col) {
36423
+ const mapStart = tr2.mapping.maps.length;
36424
+ for (let row = 0; row < map4.height; ) {
36425
+ const index2 = row * map4.width + col;
36426
+ const pos = map4.map[index2];
36427
+ const cell = table.nodeAt(pos);
36428
+ const attrs = cell.attrs;
36429
+ if (col > 0 && map4.map[index2 - 1] == pos || col < map4.width - 1 && map4.map[index2 + 1] == pos) {
36430
+ tr2.setNodeMarkup(
36431
+ tr2.mapping.slice(mapStart).map(tableStart + pos),
36432
+ null,
36433
+ removeColSpan(attrs, col - map4.colCount(pos))
36434
+ );
36435
+ } else {
36436
+ const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos);
36437
+ tr2.delete(start2, start2 + cell.nodeSize);
36262
36438
  }
36263
- rows = newRows;
36264
- width = newWidth;
36439
+ row += attrs.rowspan;
36265
36440
  }
36266
- if (height != newHeight) {
36267
- const newRows = [];
36268
- for (let row = 0, i2 = 0; row < newHeight; row++, i2++) {
36269
- const cells = [], source = rows[i2 % height];
36270
- for (let j2 = 0; j2 < source.childCount; j2++) {
36271
- let cell = source.child(j2);
36272
- if (row + cell.attrs.rowspan > newHeight)
36273
- cell = cell.type.create(
36274
- {
36275
- ...cell.attrs,
36276
- rowspan: Math.max(1, newHeight - cell.attrs.rowspan)
36277
- },
36278
- cell.content
36279
- );
36280
- cells.push(cell);
36441
+ }
36442
+ function deleteColumn(state2, dispatch) {
36443
+ if (!isInTable(state2))
36444
+ return false;
36445
+ if (dispatch) {
36446
+ const rect = selectedRect(state2);
36447
+ const tr2 = state2.tr;
36448
+ if (rect.left == 0 && rect.right == rect.map.width)
36449
+ return false;
36450
+ for (let i2 = rect.right - 1; ; i2--) {
36451
+ removeColumn(tr2, rect, i2);
36452
+ if (i2 == rect.left)
36453
+ break;
36454
+ const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
36455
+ if (!table) {
36456
+ throw RangeError("No table found");
36281
36457
  }
36282
- newRows.push(Fragment.from(cells));
36458
+ rect.table = table;
36459
+ rect.map = TableMap.get(table);
36283
36460
  }
36284
- rows = newRows;
36285
- height = newHeight;
36461
+ dispatch(tr2);
36286
36462
  }
36287
- return { width, height, rows };
36463
+ return true;
36288
36464
  }
36289
- function growTable(tr2, map4, table, start2, width, height, mapFrom) {
36290
- const schema = tr2.doc.type.schema;
36291
- const types = tableNodeTypes(schema);
36292
- let empty2;
36293
- let emptyHead;
36294
- if (width > map4.width) {
36295
- for (let row = 0, rowEnd = 0; row < map4.height; row++) {
36296
- const rowNode = table.child(row);
36297
- rowEnd += rowNode.nodeSize;
36298
- const cells = [];
36299
- let add2;
36300
- if (rowNode.lastChild == null || rowNode.lastChild.type == types.cell)
36301
- add2 = empty2 || (empty2 = types.cell.createAndFill());
36302
- else
36303
- add2 = emptyHead || (emptyHead = types.header_cell.createAndFill());
36304
- for (let i2 = map4.width; i2 < width; i2++)
36305
- cells.push(add2);
36306
- tr2.insert(tr2.mapping.slice(mapFrom).map(rowEnd - 1 + start2), cells);
36465
+ function rowIsHeader(map4, table, row) {
36466
+ var _a2;
36467
+ const headerCell = tableNodeTypes(table.type.schema).header_cell;
36468
+ for (let col = 0; col < map4.width; col++)
36469
+ if (((_a2 = table.nodeAt(map4.map[col + row * map4.width])) == null ? void 0 : _a2.type) != headerCell)
36470
+ return false;
36471
+ return true;
36472
+ }
36473
+ function addRow(tr2, { map: map4, tableStart, table }, row) {
36474
+ var _a2;
36475
+ let rowPos = tableStart;
36476
+ for (let i2 = 0; i2 < row; i2++)
36477
+ rowPos += table.child(i2).nodeSize;
36478
+ const cells = [];
36479
+ let refRow = row > 0 ? -1 : 0;
36480
+ if (rowIsHeader(map4, table, row + refRow))
36481
+ refRow = row == 0 || row == map4.height ? null : 0;
36482
+ for (let col = 0, index2 = map4.width * row; col < map4.width; col++, index2++) {
36483
+ if (row > 0 && row < map4.height && map4.map[index2] == map4.map[index2 - map4.width]) {
36484
+ const pos = map4.map[index2];
36485
+ const attrs = table.nodeAt(pos).attrs;
36486
+ tr2.setNodeMarkup(tableStart + pos, null, {
36487
+ ...attrs,
36488
+ rowspan: attrs.rowspan + 1
36489
+ });
36490
+ col += attrs.colspan - 1;
36491
+ } else {
36492
+ const type3 = refRow == null ? tableNodeTypes(table.type.schema).cell : (_a2 = table.nodeAt(map4.map[index2 + refRow * map4.width])) == null ? void 0 : _a2.type;
36493
+ const node = type3 == null ? void 0 : type3.createAndFill();
36494
+ if (node)
36495
+ cells.push(node);
36307
36496
  }
36308
36497
  }
36309
- if (height > map4.height) {
36310
- const cells = [];
36311
- for (let i2 = 0, start22 = (map4.height - 1) * map4.width; i2 < Math.max(map4.width, width); i2++) {
36312
- const header = i2 >= map4.width ? false : table.nodeAt(map4.map[start22 + i2]).type == types.header_cell;
36313
- cells.push(
36314
- header ? emptyHead || (emptyHead = types.header_cell.createAndFill()) : empty2 || (empty2 = types.cell.createAndFill())
36315
- );
36316
- }
36317
- const emptyRow = types.row.create(null, Fragment.from(cells)), rows = [];
36318
- for (let i2 = map4.height; i2 < height; i2++)
36319
- rows.push(emptyRow);
36320
- tr2.insert(tr2.mapping.slice(mapFrom).map(start2 + table.nodeSize - 2), rows);
36498
+ tr2.insert(rowPos, tableNodeTypes(table.type.schema).row.create(null, cells));
36499
+ return tr2;
36500
+ }
36501
+ function addRowBefore(state2, dispatch) {
36502
+ if (!isInTable(state2))
36503
+ return false;
36504
+ if (dispatch) {
36505
+ const rect = selectedRect(state2);
36506
+ dispatch(addRow(state2.tr, rect, rect.top));
36321
36507
  }
36322
- return !!(empty2 || emptyHead);
36508
+ return true;
36323
36509
  }
36324
- function isolateHorizontal(tr2, map4, table, start2, left2, right2, top2, mapFrom) {
36325
- if (top2 == 0 || top2 == map4.height)
36510
+ function addRowAfter(state2, dispatch) {
36511
+ if (!isInTable(state2))
36326
36512
  return false;
36327
- let found2 = false;
36328
- for (let col = left2; col < right2; col++) {
36329
- const index2 = top2 * map4.width + col, pos = map4.map[index2];
36330
- if (map4.map[index2 - map4.width] == pos) {
36331
- found2 = true;
36332
- const cell = table.nodeAt(pos);
36333
- const { top: cellTop, left: cellLeft } = map4.findCell(pos);
36334
- tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + start2), null, {
36335
- ...cell.attrs,
36336
- rowspan: top2 - cellTop
36513
+ if (dispatch) {
36514
+ const rect = selectedRect(state2);
36515
+ dispatch(addRow(state2.tr, rect, rect.bottom));
36516
+ }
36517
+ return true;
36518
+ }
36519
+ function removeRow(tr2, { map: map4, table, tableStart }, row) {
36520
+ let rowPos = 0;
36521
+ for (let i2 = 0; i2 < row; i2++)
36522
+ rowPos += table.child(i2).nodeSize;
36523
+ const nextRow = rowPos + table.child(row).nodeSize;
36524
+ const mapFrom = tr2.mapping.maps.length;
36525
+ tr2.delete(rowPos + tableStart, nextRow + tableStart);
36526
+ const seen = /* @__PURE__ */ new Set();
36527
+ for (let col = 0, index2 = row * map4.width; col < map4.width; col++, index2++) {
36528
+ const pos = map4.map[index2];
36529
+ if (seen.has(pos))
36530
+ continue;
36531
+ seen.add(pos);
36532
+ if (row > 0 && pos == map4.map[index2 - map4.width]) {
36533
+ const attrs = table.nodeAt(pos).attrs;
36534
+ tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + tableStart), null, {
36535
+ ...attrs,
36536
+ rowspan: attrs.rowspan - 1
36337
36537
  });
36338
- tr2.insert(
36339
- tr2.mapping.slice(mapFrom).map(map4.positionAt(top2, cellLeft, table)),
36340
- cell.type.createAndFill({
36341
- ...cell.attrs,
36342
- rowspan: cellTop + cell.attrs.rowspan - top2
36343
- })
36538
+ col += attrs.colspan - 1;
36539
+ } else if (row < map4.height && pos == map4.map[index2 + map4.width]) {
36540
+ const cell = table.nodeAt(pos);
36541
+ const attrs = cell.attrs;
36542
+ const copy2 = cell.type.create(
36543
+ { ...attrs, rowspan: cell.attrs.rowspan - 1 },
36544
+ cell.content
36344
36545
  );
36345
- col += cell.attrs.colspan - 1;
36546
+ const newPos = map4.positionAt(row + 1, col, table);
36547
+ tr2.insert(tr2.mapping.slice(mapFrom).map(tableStart + newPos), copy2);
36548
+ col += attrs.colspan - 1;
36346
36549
  }
36347
36550
  }
36348
- return found2;
36349
36551
  }
36350
- function isolateVertical(tr2, map4, table, start2, top2, bottom2, left2, mapFrom) {
36351
- if (left2 == 0 || left2 == map4.width)
36552
+ function deleteRow(state2, dispatch) {
36553
+ if (!isInTable(state2))
36352
36554
  return false;
36353
- let found2 = false;
36354
- for (let row = top2; row < bottom2; row++) {
36355
- const index2 = row * map4.width + left2, pos = map4.map[index2];
36356
- if (map4.map[index2 - 1] == pos) {
36357
- found2 = true;
36358
- const cell = table.nodeAt(pos);
36359
- const cellLeft = map4.colCount(pos);
36360
- const updatePos = tr2.mapping.slice(mapFrom).map(pos + start2);
36361
- tr2.setNodeMarkup(
36362
- updatePos,
36363
- null,
36364
- removeColSpan(
36365
- cell.attrs,
36366
- left2 - cellLeft,
36367
- cell.attrs.colspan - (left2 - cellLeft)
36368
- )
36369
- );
36370
- tr2.insert(
36371
- updatePos + cell.nodeSize,
36372
- cell.type.createAndFill(
36373
- removeColSpan(cell.attrs, 0, left2 - cellLeft)
36374
- )
36375
- );
36376
- row += cell.attrs.rowspan - 1;
36555
+ if (dispatch) {
36556
+ const rect = selectedRect(state2), tr2 = state2.tr;
36557
+ if (rect.top == 0 && rect.bottom == rect.map.height)
36558
+ return false;
36559
+ for (let i2 = rect.bottom - 1; ; i2--) {
36560
+ removeRow(tr2, rect, i2);
36561
+ if (i2 == rect.top)
36562
+ break;
36563
+ const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
36564
+ if (!table) {
36565
+ throw RangeError("No table found");
36566
+ }
36567
+ rect.table = table;
36568
+ rect.map = TableMap.get(rect.table);
36377
36569
  }
36570
+ dispatch(tr2);
36378
36571
  }
36379
- return found2;
36572
+ return true;
36380
36573
  }
36381
- function insertCells(state2, dispatch, tableStart, rect, cells) {
36382
- let table = tableStart ? state2.doc.nodeAt(tableStart - 1) : state2.doc;
36383
- if (!table) {
36384
- throw new Error("No table found");
36385
- }
36386
- let map4 = TableMap.get(table);
36387
- const { top: top2, left: left2 } = rect;
36388
- const right2 = left2 + cells.width, bottom2 = top2 + cells.height;
36389
- const tr2 = state2.tr;
36390
- let mapFrom = 0;
36391
- function recomp() {
36392
- table = tableStart ? tr2.doc.nodeAt(tableStart - 1) : tr2.doc;
36393
- if (!table) {
36394
- throw new Error("No table found");
36395
- }
36396
- map4 = TableMap.get(table);
36397
- mapFrom = tr2.mapping.maps.length;
36574
+ function isEmpty(cell) {
36575
+ const c2 = cell.content;
36576
+ return c2.childCount == 1 && c2.child(0).isTextblock && c2.child(0).childCount == 0;
36577
+ }
36578
+ function cellsOverlapRectangle({ width, height, map: map4 }, rect) {
36579
+ let indexTop = rect.top * width + rect.left, indexLeft = indexTop;
36580
+ let indexBottom = (rect.bottom - 1) * width + rect.left, indexRight = indexTop + (rect.right - rect.left - 1);
36581
+ for (let i2 = rect.top; i2 < rect.bottom; i2++) {
36582
+ if (rect.left > 0 && map4[indexLeft] == map4[indexLeft - 1] || rect.right < width && map4[indexRight] == map4[indexRight + 1])
36583
+ return true;
36584
+ indexLeft += width;
36585
+ indexRight += width;
36398
36586
  }
36399
- if (growTable(tr2, map4, table, tableStart, right2, bottom2, mapFrom))
36400
- recomp();
36401
- if (isolateHorizontal(tr2, map4, table, tableStart, left2, right2, top2, mapFrom))
36402
- recomp();
36403
- if (isolateHorizontal(tr2, map4, table, tableStart, left2, right2, bottom2, mapFrom))
36404
- recomp();
36405
- if (isolateVertical(tr2, map4, table, tableStart, top2, bottom2, left2, mapFrom))
36406
- recomp();
36407
- if (isolateVertical(tr2, map4, table, tableStart, top2, bottom2, right2, mapFrom))
36408
- recomp();
36409
- for (let row = top2; row < bottom2; row++) {
36410
- const from2 = map4.positionAt(row, left2, table), to2 = map4.positionAt(row, right2, table);
36411
- tr2.replace(
36412
- tr2.mapping.slice(mapFrom).map(from2 + tableStart),
36413
- tr2.mapping.slice(mapFrom).map(to2 + tableStart),
36414
- new Slice(cells.rows[row - top2], 0, 0)
36415
- );
36587
+ for (let i2 = rect.left; i2 < rect.right; i2++) {
36588
+ if (rect.top > 0 && map4[indexTop] == map4[indexTop - width] || rect.bottom < height && map4[indexBottom] == map4[indexBottom + width])
36589
+ return true;
36590
+ indexTop++;
36591
+ indexBottom++;
36416
36592
  }
36417
- recomp();
36418
- tr2.setSelection(
36419
- new CellSelection(
36420
- tr2.doc.resolve(tableStart + map4.positionAt(top2, left2, table)),
36421
- tr2.doc.resolve(tableStart + map4.positionAt(bottom2 - 1, right2 - 1, table))
36422
- )
36423
- );
36424
- dispatch(tr2);
36593
+ return false;
36425
36594
  }
36426
- var handleKeyDown$1 = keydownHandler({
36427
- ArrowLeft: arrow$3("horiz", -1),
36428
- ArrowRight: arrow$3("horiz", 1),
36429
- ArrowUp: arrow$3("vert", -1),
36430
- ArrowDown: arrow$3("vert", 1),
36431
- "Shift-ArrowLeft": shiftArrow("horiz", -1),
36595
+ function mergeCells(state2, dispatch) {
36596
+ const sel = state2.selection;
36597
+ if (!(sel instanceof CellSelection) || sel.$anchorCell.pos == sel.$headCell.pos)
36598
+ return false;
36599
+ const rect = selectedRect(state2), { map: map4 } = rect;
36600
+ if (cellsOverlapRectangle(map4, rect))
36601
+ return false;
36602
+ if (dispatch) {
36603
+ const tr2 = state2.tr;
36604
+ const seen = {};
36605
+ let content = Fragment.empty;
36606
+ let mergedPos;
36607
+ let mergedCell;
36608
+ for (let row = rect.top; row < rect.bottom; row++) {
36609
+ for (let col = rect.left; col < rect.right; col++) {
36610
+ const cellPos = map4.map[row * map4.width + col];
36611
+ const cell = rect.table.nodeAt(cellPos);
36612
+ if (seen[cellPos] || !cell)
36613
+ continue;
36614
+ seen[cellPos] = true;
36615
+ if (mergedPos == null) {
36616
+ mergedPos = cellPos;
36617
+ mergedCell = cell;
36618
+ } else {
36619
+ if (!isEmpty(cell))
36620
+ content = content.append(cell.content);
36621
+ const mapped = tr2.mapping.map(cellPos + rect.tableStart);
36622
+ tr2.delete(mapped, mapped + cell.nodeSize);
36623
+ }
36624
+ }
36625
+ }
36626
+ if (mergedPos == null || mergedCell == null) {
36627
+ return true;
36628
+ }
36629
+ tr2.setNodeMarkup(mergedPos + rect.tableStart, null, {
36630
+ ...addColSpan(
36631
+ mergedCell.attrs,
36632
+ mergedCell.attrs.colspan,
36633
+ rect.right - rect.left - mergedCell.attrs.colspan
36634
+ ),
36635
+ rowspan: rect.bottom - rect.top
36636
+ });
36637
+ if (content.size) {
36638
+ const end2 = mergedPos + 1 + mergedCell.content.size;
36639
+ const start2 = isEmpty(mergedCell) ? mergedPos + 1 : end2;
36640
+ tr2.replaceWith(start2 + rect.tableStart, end2 + rect.tableStart, content);
36641
+ }
36642
+ tr2.setSelection(
36643
+ new CellSelection(tr2.doc.resolve(mergedPos + rect.tableStart))
36644
+ );
36645
+ dispatch(tr2);
36646
+ }
36647
+ return true;
36648
+ }
36649
+ function splitCell(state2, dispatch) {
36650
+ const nodeTypes = tableNodeTypes(state2.schema);
36651
+ return splitCellWithType(({ node }) => {
36652
+ return nodeTypes[node.type.spec.tableRole];
36653
+ })(state2, dispatch);
36654
+ }
36655
+ function splitCellWithType(getCellType) {
36656
+ return (state2, dispatch) => {
36657
+ var _a2;
36658
+ const sel = state2.selection;
36659
+ let cellNode;
36660
+ let cellPos;
36661
+ if (!(sel instanceof CellSelection)) {
36662
+ cellNode = cellWrapping(sel.$from);
36663
+ if (!cellNode)
36664
+ return false;
36665
+ cellPos = (_a2 = cellAround(sel.$from)) == null ? void 0 : _a2.pos;
36666
+ } else {
36667
+ if (sel.$anchorCell.pos != sel.$headCell.pos)
36668
+ return false;
36669
+ cellNode = sel.$anchorCell.nodeAfter;
36670
+ cellPos = sel.$anchorCell.pos;
36671
+ }
36672
+ if (cellNode == null || cellPos == null) {
36673
+ return false;
36674
+ }
36675
+ if (cellNode.attrs.colspan == 1 && cellNode.attrs.rowspan == 1) {
36676
+ return false;
36677
+ }
36678
+ if (dispatch) {
36679
+ let baseAttrs = cellNode.attrs;
36680
+ const attrs = [];
36681
+ const colwidth = baseAttrs.colwidth;
36682
+ if (baseAttrs.rowspan > 1)
36683
+ baseAttrs = { ...baseAttrs, rowspan: 1 };
36684
+ if (baseAttrs.colspan > 1)
36685
+ baseAttrs = { ...baseAttrs, colspan: 1 };
36686
+ const rect = selectedRect(state2), tr2 = state2.tr;
36687
+ for (let i2 = 0; i2 < rect.right - rect.left; i2++)
36688
+ attrs.push(
36689
+ colwidth ? {
36690
+ ...baseAttrs,
36691
+ colwidth: colwidth && colwidth[i2] ? [colwidth[i2]] : null
36692
+ } : baseAttrs
36693
+ );
36694
+ let lastCell;
36695
+ for (let row = rect.top; row < rect.bottom; row++) {
36696
+ let pos = rect.map.positionAt(row, rect.left, rect.table);
36697
+ if (row == rect.top)
36698
+ pos += cellNode.nodeSize;
36699
+ for (let col = rect.left, i2 = 0; col < rect.right; col++, i2++) {
36700
+ if (col == rect.left && row == rect.top)
36701
+ continue;
36702
+ tr2.insert(
36703
+ lastCell = tr2.mapping.map(pos + rect.tableStart, 1),
36704
+ getCellType({ node: cellNode, row, col }).createAndFill(attrs[i2])
36705
+ );
36706
+ }
36707
+ }
36708
+ tr2.setNodeMarkup(
36709
+ cellPos,
36710
+ getCellType({ node: cellNode, row: rect.top, col: rect.left }),
36711
+ attrs[0]
36712
+ );
36713
+ if (sel instanceof CellSelection)
36714
+ tr2.setSelection(
36715
+ new CellSelection(
36716
+ tr2.doc.resolve(sel.$anchorCell.pos),
36717
+ lastCell ? tr2.doc.resolve(lastCell) : void 0
36718
+ )
36719
+ );
36720
+ dispatch(tr2);
36721
+ }
36722
+ return true;
36723
+ };
36724
+ }
36725
+ function setCellAttr(name, value) {
36726
+ return function(state2, dispatch) {
36727
+ if (!isInTable(state2))
36728
+ return false;
36729
+ const $cell = selectionCell(state2);
36730
+ if ($cell.nodeAfter.attrs[name] === value)
36731
+ return false;
36732
+ if (dispatch) {
36733
+ const tr2 = state2.tr;
36734
+ if (state2.selection instanceof CellSelection)
36735
+ state2.selection.forEachCell((node, pos) => {
36736
+ if (node.attrs[name] !== value)
36737
+ tr2.setNodeMarkup(pos, null, {
36738
+ ...node.attrs,
36739
+ [name]: value
36740
+ });
36741
+ });
36742
+ else
36743
+ tr2.setNodeMarkup($cell.pos, null, {
36744
+ ...$cell.nodeAfter.attrs,
36745
+ [name]: value
36746
+ });
36747
+ dispatch(tr2);
36748
+ }
36749
+ return true;
36750
+ };
36751
+ }
36752
+ function deprecated_toggleHeader(type3) {
36753
+ return function(state2, dispatch) {
36754
+ if (!isInTable(state2))
36755
+ return false;
36756
+ if (dispatch) {
36757
+ const types = tableNodeTypes(state2.schema);
36758
+ const rect = selectedRect(state2), tr2 = state2.tr;
36759
+ const cells = rect.map.cellsInRect(
36760
+ type3 == "column" ? {
36761
+ left: rect.left,
36762
+ top: 0,
36763
+ right: rect.right,
36764
+ bottom: rect.map.height
36765
+ } : type3 == "row" ? {
36766
+ left: 0,
36767
+ top: rect.top,
36768
+ right: rect.map.width,
36769
+ bottom: rect.bottom
36770
+ } : rect
36771
+ );
36772
+ const nodes = cells.map((pos) => rect.table.nodeAt(pos));
36773
+ for (let i2 = 0; i2 < cells.length; i2++)
36774
+ if (nodes[i2].type == types.header_cell)
36775
+ tr2.setNodeMarkup(
36776
+ rect.tableStart + cells[i2],
36777
+ types.cell,
36778
+ nodes[i2].attrs
36779
+ );
36780
+ if (tr2.steps.length == 0)
36781
+ for (let i2 = 0; i2 < cells.length; i2++)
36782
+ tr2.setNodeMarkup(
36783
+ rect.tableStart + cells[i2],
36784
+ types.header_cell,
36785
+ nodes[i2].attrs
36786
+ );
36787
+ dispatch(tr2);
36788
+ }
36789
+ return true;
36790
+ };
36791
+ }
36792
+ function isHeaderEnabledByType(type3, rect, types) {
36793
+ const cellPositions = rect.map.cellsInRect({
36794
+ left: 0,
36795
+ top: 0,
36796
+ right: type3 == "row" ? rect.map.width : 1,
36797
+ bottom: type3 == "column" ? rect.map.height : 1
36798
+ });
36799
+ for (let i2 = 0; i2 < cellPositions.length; i2++) {
36800
+ const cell = rect.table.nodeAt(cellPositions[i2]);
36801
+ if (cell && cell.type !== types.header_cell) {
36802
+ return false;
36803
+ }
36804
+ }
36805
+ return true;
36806
+ }
36807
+ function toggleHeader(type3, options) {
36808
+ options = options || { useDeprecatedLogic: false };
36809
+ if (options.useDeprecatedLogic)
36810
+ return deprecated_toggleHeader(type3);
36811
+ return function(state2, dispatch) {
36812
+ if (!isInTable(state2))
36813
+ return false;
36814
+ if (dispatch) {
36815
+ const types = tableNodeTypes(state2.schema);
36816
+ const rect = selectedRect(state2), tr2 = state2.tr;
36817
+ const isHeaderRowEnabled = isHeaderEnabledByType("row", rect, types);
36818
+ const isHeaderColumnEnabled = isHeaderEnabledByType(
36819
+ "column",
36820
+ rect,
36821
+ types
36822
+ );
36823
+ const isHeaderEnabled = type3 === "column" ? isHeaderRowEnabled : type3 === "row" ? isHeaderColumnEnabled : false;
36824
+ const selectionStartsAt = isHeaderEnabled ? 1 : 0;
36825
+ const cellsRect = type3 == "column" ? {
36826
+ left: 0,
36827
+ top: selectionStartsAt,
36828
+ right: 1,
36829
+ bottom: rect.map.height
36830
+ } : type3 == "row" ? {
36831
+ left: selectionStartsAt,
36832
+ top: 0,
36833
+ right: rect.map.width,
36834
+ bottom: 1
36835
+ } : rect;
36836
+ const newType = type3 == "column" ? isHeaderColumnEnabled ? types.cell : types.header_cell : type3 == "row" ? isHeaderRowEnabled ? types.cell : types.header_cell : types.cell;
36837
+ rect.map.cellsInRect(cellsRect).forEach((relativeCellPos) => {
36838
+ const cellPos = relativeCellPos + rect.tableStart;
36839
+ const cell = tr2.doc.nodeAt(cellPos);
36840
+ if (cell) {
36841
+ tr2.setNodeMarkup(cellPos, newType, cell.attrs);
36842
+ }
36843
+ });
36844
+ dispatch(tr2);
36845
+ }
36846
+ return true;
36847
+ };
36848
+ }
36849
+ toggleHeader("row", {
36850
+ useDeprecatedLogic: true
36851
+ });
36852
+ toggleHeader("column", {
36853
+ useDeprecatedLogic: true
36854
+ });
36855
+ var toggleHeaderCell = toggleHeader("cell", {
36856
+ useDeprecatedLogic: true
36857
+ });
36858
+ function findNextCell($cell, dir) {
36859
+ if (dir < 0) {
36860
+ const before = $cell.nodeBefore;
36861
+ if (before)
36862
+ return $cell.pos - before.nodeSize;
36863
+ for (let row = $cell.index(-1) - 1, rowEnd = $cell.before(); row >= 0; row--) {
36864
+ const rowNode = $cell.node(-1).child(row);
36865
+ const lastChild2 = rowNode.lastChild;
36866
+ if (lastChild2) {
36867
+ return rowEnd - 1 - lastChild2.nodeSize;
36868
+ }
36869
+ rowEnd -= rowNode.nodeSize;
36870
+ }
36871
+ } else {
36872
+ if ($cell.index() < $cell.parent.childCount - 1) {
36873
+ return $cell.pos + $cell.nodeAfter.nodeSize;
36874
+ }
36875
+ const table = $cell.node(-1);
36876
+ for (let row = $cell.indexAfter(-1), rowStart = $cell.after(); row < table.childCount; row++) {
36877
+ const rowNode = table.child(row);
36878
+ if (rowNode.childCount)
36879
+ return rowStart + 1;
36880
+ rowStart += rowNode.nodeSize;
36881
+ }
36882
+ }
36883
+ return null;
36884
+ }
36885
+ function goToNextCell(direction) {
36886
+ return function(state2, dispatch) {
36887
+ if (!isInTable(state2))
36888
+ return false;
36889
+ const cell = findNextCell(selectionCell(state2), direction);
36890
+ if (cell == null)
36891
+ return false;
36892
+ if (dispatch) {
36893
+ const $cell = state2.doc.resolve(cell);
36894
+ dispatch(
36895
+ state2.tr.setSelection(TextSelection.between($cell, moveCellForward($cell))).scrollIntoView()
36896
+ );
36897
+ }
36898
+ return true;
36899
+ };
36900
+ }
36901
+ function deleteTable(state2, dispatch) {
36902
+ const $pos = state2.selection.$anchor;
36903
+ for (let d2 = $pos.depth; d2 > 0; d2--) {
36904
+ const node = $pos.node(d2);
36905
+ if (node.type.spec.tableRole == "table") {
36906
+ if (dispatch)
36907
+ dispatch(
36908
+ state2.tr.delete($pos.before(d2), $pos.after(d2)).scrollIntoView()
36909
+ );
36910
+ return true;
36911
+ }
36912
+ }
36913
+ return false;
36914
+ }
36915
+ function deleteCellSelection(state2, dispatch) {
36916
+ const sel = state2.selection;
36917
+ if (!(sel instanceof CellSelection))
36918
+ return false;
36919
+ if (dispatch) {
36920
+ const tr2 = state2.tr;
36921
+ const baseContent = tableNodeTypes(state2.schema).cell.createAndFill().content;
36922
+ sel.forEachCell((cell, pos) => {
36923
+ if (!cell.content.eq(baseContent))
36924
+ tr2.replace(
36925
+ tr2.mapping.map(pos + 1),
36926
+ tr2.mapping.map(pos + cell.nodeSize - 1),
36927
+ new Slice(baseContent, 0, 0)
36928
+ );
36929
+ });
36930
+ if (tr2.docChanged)
36931
+ dispatch(tr2);
36932
+ }
36933
+ return true;
36934
+ }
36935
+ function pastedCells(slice4) {
36936
+ if (!slice4.size)
36937
+ return null;
36938
+ let { content, openStart, openEnd } = slice4;
36939
+ while (content.childCount == 1 && (openStart > 0 && openEnd > 0 || content.child(0).type.spec.tableRole == "table")) {
36940
+ openStart--;
36941
+ openEnd--;
36942
+ content = content.child(0).content;
36943
+ }
36944
+ const first2 = content.child(0);
36945
+ const role = first2.type.spec.tableRole;
36946
+ const schema = first2.type.schema, rows = [];
36947
+ if (role == "row") {
36948
+ for (let i2 = 0; i2 < content.childCount; i2++) {
36949
+ let cells = content.child(i2).content;
36950
+ const left2 = i2 ? 0 : Math.max(0, openStart - 1);
36951
+ const right2 = i2 < content.childCount - 1 ? 0 : Math.max(0, openEnd - 1);
36952
+ if (left2 || right2)
36953
+ cells = fitSlice(
36954
+ tableNodeTypes(schema).row,
36955
+ new Slice(cells, left2, right2)
36956
+ ).content;
36957
+ rows.push(cells);
36958
+ }
36959
+ } else if (role == "cell" || role == "header_cell") {
36960
+ rows.push(
36961
+ openStart || openEnd ? fitSlice(
36962
+ tableNodeTypes(schema).row,
36963
+ new Slice(content, openStart, openEnd)
36964
+ ).content : content
36965
+ );
36966
+ } else {
36967
+ return null;
36968
+ }
36969
+ return ensureRectangular(schema, rows);
36970
+ }
36971
+ function ensureRectangular(schema, rows) {
36972
+ const widths = [];
36973
+ for (let i2 = 0; i2 < rows.length; i2++) {
36974
+ const row = rows[i2];
36975
+ for (let j2 = row.childCount - 1; j2 >= 0; j2--) {
36976
+ const { rowspan, colspan } = row.child(j2).attrs;
36977
+ for (let r2 = i2; r2 < i2 + rowspan; r2++)
36978
+ widths[r2] = (widths[r2] || 0) + colspan;
36979
+ }
36980
+ }
36981
+ let width = 0;
36982
+ for (let r2 = 0; r2 < widths.length; r2++)
36983
+ width = Math.max(width, widths[r2]);
36984
+ for (let r2 = 0; r2 < widths.length; r2++) {
36985
+ if (r2 >= rows.length)
36986
+ rows.push(Fragment.empty);
36987
+ if (widths[r2] < width) {
36988
+ const empty2 = tableNodeTypes(schema).cell.createAndFill();
36989
+ const cells = [];
36990
+ for (let i2 = widths[r2]; i2 < width; i2++) {
36991
+ cells.push(empty2);
36992
+ }
36993
+ rows[r2] = rows[r2].append(Fragment.from(cells));
36994
+ }
36995
+ }
36996
+ return { height: rows.length, width, rows };
36997
+ }
36998
+ function fitSlice(nodeType, slice4) {
36999
+ const node = nodeType.createAndFill();
37000
+ const tr2 = new Transform(node).replace(0, node.content.size, slice4);
37001
+ return tr2.doc;
37002
+ }
37003
+ function clipCells({ width, height, rows }, newWidth, newHeight) {
37004
+ if (width != newWidth) {
37005
+ const added = [];
37006
+ const newRows = [];
37007
+ for (let row = 0; row < rows.length; row++) {
37008
+ const frag = rows[row], cells = [];
37009
+ for (let col = added[row] || 0, i2 = 0; col < newWidth; i2++) {
37010
+ let cell = frag.child(i2 % frag.childCount);
37011
+ if (col + cell.attrs.colspan > newWidth)
37012
+ cell = cell.type.createChecked(
37013
+ removeColSpan(
37014
+ cell.attrs,
37015
+ cell.attrs.colspan,
37016
+ col + cell.attrs.colspan - newWidth
37017
+ ),
37018
+ cell.content
37019
+ );
37020
+ cells.push(cell);
37021
+ col += cell.attrs.colspan;
37022
+ for (let j2 = 1; j2 < cell.attrs.rowspan; j2++)
37023
+ added[row + j2] = (added[row + j2] || 0) + cell.attrs.colspan;
37024
+ }
37025
+ newRows.push(Fragment.from(cells));
37026
+ }
37027
+ rows = newRows;
37028
+ width = newWidth;
37029
+ }
37030
+ if (height != newHeight) {
37031
+ const newRows = [];
37032
+ for (let row = 0, i2 = 0; row < newHeight; row++, i2++) {
37033
+ const cells = [], source = rows[i2 % height];
37034
+ for (let j2 = 0; j2 < source.childCount; j2++) {
37035
+ let cell = source.child(j2);
37036
+ if (row + cell.attrs.rowspan > newHeight)
37037
+ cell = cell.type.create(
37038
+ {
37039
+ ...cell.attrs,
37040
+ rowspan: Math.max(1, newHeight - cell.attrs.rowspan)
37041
+ },
37042
+ cell.content
37043
+ );
37044
+ cells.push(cell);
37045
+ }
37046
+ newRows.push(Fragment.from(cells));
37047
+ }
37048
+ rows = newRows;
37049
+ height = newHeight;
37050
+ }
37051
+ return { width, height, rows };
37052
+ }
37053
+ function growTable(tr2, map4, table, start2, width, height, mapFrom) {
37054
+ const schema = tr2.doc.type.schema;
37055
+ const types = tableNodeTypes(schema);
37056
+ let empty2;
37057
+ let emptyHead;
37058
+ if (width > map4.width) {
37059
+ for (let row = 0, rowEnd = 0; row < map4.height; row++) {
37060
+ const rowNode = table.child(row);
37061
+ rowEnd += rowNode.nodeSize;
37062
+ const cells = [];
37063
+ let add2;
37064
+ if (rowNode.lastChild == null || rowNode.lastChild.type == types.cell)
37065
+ add2 = empty2 || (empty2 = types.cell.createAndFill());
37066
+ else
37067
+ add2 = emptyHead || (emptyHead = types.header_cell.createAndFill());
37068
+ for (let i2 = map4.width; i2 < width; i2++)
37069
+ cells.push(add2);
37070
+ tr2.insert(tr2.mapping.slice(mapFrom).map(rowEnd - 1 + start2), cells);
37071
+ }
37072
+ }
37073
+ if (height > map4.height) {
37074
+ const cells = [];
37075
+ for (let i2 = 0, start22 = (map4.height - 1) * map4.width; i2 < Math.max(map4.width, width); i2++) {
37076
+ const header = i2 >= map4.width ? false : table.nodeAt(map4.map[start22 + i2]).type == types.header_cell;
37077
+ cells.push(
37078
+ header ? emptyHead || (emptyHead = types.header_cell.createAndFill()) : empty2 || (empty2 = types.cell.createAndFill())
37079
+ );
37080
+ }
37081
+ const emptyRow = types.row.create(null, Fragment.from(cells)), rows = [];
37082
+ for (let i2 = map4.height; i2 < height; i2++)
37083
+ rows.push(emptyRow);
37084
+ tr2.insert(tr2.mapping.slice(mapFrom).map(start2 + table.nodeSize - 2), rows);
37085
+ }
37086
+ return !!(empty2 || emptyHead);
37087
+ }
37088
+ function isolateHorizontal(tr2, map4, table, start2, left2, right2, top2, mapFrom) {
37089
+ if (top2 == 0 || top2 == map4.height)
37090
+ return false;
37091
+ let found2 = false;
37092
+ for (let col = left2; col < right2; col++) {
37093
+ const index2 = top2 * map4.width + col, pos = map4.map[index2];
37094
+ if (map4.map[index2 - map4.width] == pos) {
37095
+ found2 = true;
37096
+ const cell = table.nodeAt(pos);
37097
+ const { top: cellTop, left: cellLeft } = map4.findCell(pos);
37098
+ tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + start2), null, {
37099
+ ...cell.attrs,
37100
+ rowspan: top2 - cellTop
37101
+ });
37102
+ tr2.insert(
37103
+ tr2.mapping.slice(mapFrom).map(map4.positionAt(top2, cellLeft, table)),
37104
+ cell.type.createAndFill({
37105
+ ...cell.attrs,
37106
+ rowspan: cellTop + cell.attrs.rowspan - top2
37107
+ })
37108
+ );
37109
+ col += cell.attrs.colspan - 1;
37110
+ }
37111
+ }
37112
+ return found2;
37113
+ }
37114
+ function isolateVertical(tr2, map4, table, start2, top2, bottom2, left2, mapFrom) {
37115
+ if (left2 == 0 || left2 == map4.width)
37116
+ return false;
37117
+ let found2 = false;
37118
+ for (let row = top2; row < bottom2; row++) {
37119
+ const index2 = row * map4.width + left2, pos = map4.map[index2];
37120
+ if (map4.map[index2 - 1] == pos) {
37121
+ found2 = true;
37122
+ const cell = table.nodeAt(pos);
37123
+ const cellLeft = map4.colCount(pos);
37124
+ const updatePos = tr2.mapping.slice(mapFrom).map(pos + start2);
37125
+ tr2.setNodeMarkup(
37126
+ updatePos,
37127
+ null,
37128
+ removeColSpan(
37129
+ cell.attrs,
37130
+ left2 - cellLeft,
37131
+ cell.attrs.colspan - (left2 - cellLeft)
37132
+ )
37133
+ );
37134
+ tr2.insert(
37135
+ updatePos + cell.nodeSize,
37136
+ cell.type.createAndFill(
37137
+ removeColSpan(cell.attrs, 0, left2 - cellLeft)
37138
+ )
37139
+ );
37140
+ row += cell.attrs.rowspan - 1;
37141
+ }
37142
+ }
37143
+ return found2;
37144
+ }
37145
+ function insertCells(state2, dispatch, tableStart, rect, cells) {
37146
+ let table = tableStart ? state2.doc.nodeAt(tableStart - 1) : state2.doc;
37147
+ if (!table) {
37148
+ throw new Error("No table found");
37149
+ }
37150
+ let map4 = TableMap.get(table);
37151
+ const { top: top2, left: left2 } = rect;
37152
+ const right2 = left2 + cells.width, bottom2 = top2 + cells.height;
37153
+ const tr2 = state2.tr;
37154
+ let mapFrom = 0;
37155
+ function recomp() {
37156
+ table = tableStart ? tr2.doc.nodeAt(tableStart - 1) : tr2.doc;
37157
+ if (!table) {
37158
+ throw new Error("No table found");
37159
+ }
37160
+ map4 = TableMap.get(table);
37161
+ mapFrom = tr2.mapping.maps.length;
37162
+ }
37163
+ if (growTable(tr2, map4, table, tableStart, right2, bottom2, mapFrom))
37164
+ recomp();
37165
+ if (isolateHorizontal(tr2, map4, table, tableStart, left2, right2, top2, mapFrom))
37166
+ recomp();
37167
+ if (isolateHorizontal(tr2, map4, table, tableStart, left2, right2, bottom2, mapFrom))
37168
+ recomp();
37169
+ if (isolateVertical(tr2, map4, table, tableStart, top2, bottom2, left2, mapFrom))
37170
+ recomp();
37171
+ if (isolateVertical(tr2, map4, table, tableStart, top2, bottom2, right2, mapFrom))
37172
+ recomp();
37173
+ for (let row = top2; row < bottom2; row++) {
37174
+ const from2 = map4.positionAt(row, left2, table), to2 = map4.positionAt(row, right2, table);
37175
+ tr2.replace(
37176
+ tr2.mapping.slice(mapFrom).map(from2 + tableStart),
37177
+ tr2.mapping.slice(mapFrom).map(to2 + tableStart),
37178
+ new Slice(cells.rows[row - top2], 0, 0)
37179
+ );
37180
+ }
37181
+ recomp();
37182
+ tr2.setSelection(
37183
+ new CellSelection(
37184
+ tr2.doc.resolve(tableStart + map4.positionAt(top2, left2, table)),
37185
+ tr2.doc.resolve(tableStart + map4.positionAt(bottom2 - 1, right2 - 1, table))
37186
+ )
37187
+ );
37188
+ dispatch(tr2);
37189
+ }
37190
+ var handleKeyDown$1 = keydownHandler({
37191
+ ArrowLeft: arrow$3("horiz", -1),
37192
+ ArrowRight: arrow$3("horiz", 1),
37193
+ ArrowUp: arrow$3("vert", -1),
37194
+ ArrowDown: arrow$3("vert", 1),
37195
+ "Shift-ArrowLeft": shiftArrow("horiz", -1),
36432
37196
  "Shift-ArrowRight": shiftArrow("horiz", 1),
36433
37197
  "Shift-ArrowUp": shiftArrow("vert", -1),
36434
37198
  "Shift-ArrowDown": shiftArrow("vert", 1),
@@ -36502,28 +37266,8 @@ function shiftArrow(axis2, dir) {
36502
37266
  state2,
36503
37267
  dispatch,
36504
37268
  new CellSelection(cellSel.$anchorCell, $head)
36505
- );
36506
- };
36507
- }
36508
- function deleteCellSelection(state2, dispatch) {
36509
- const sel = state2.selection;
36510
- if (!(sel instanceof CellSelection))
36511
- return false;
36512
- if (dispatch) {
36513
- const tr2 = state2.tr;
36514
- const baseContent = tableNodeTypes(state2.schema).cell.createAndFill().content;
36515
- sel.forEachCell((cell, pos) => {
36516
- if (!cell.content.eq(baseContent))
36517
- tr2.replace(
36518
- tr2.mapping.map(pos + 1),
36519
- tr2.mapping.map(pos + cell.nodeSize - 1),
36520
- new Slice(baseContent, 0, 0)
36521
- );
36522
- });
36523
- if (tr2.docChanged)
36524
- dispatch(tr2);
36525
- }
36526
- return true;
37269
+ );
37270
+ };
36527
37271
  }
36528
37272
  function handleTripleClick(view, pos) {
36529
37273
  const doc2 = view.state.doc, $cell = cellAround(doc2.resolve(pos));
@@ -36663,28 +37407,37 @@ function cellUnderMouse(view, event) {
36663
37407
  return mousePos ? cellAround(view.state.doc.resolve(mousePos.pos)) : null;
36664
37408
  }
36665
37409
  var TableView$1 = class TableView2 {
36666
- constructor(node, cellMinWidth) {
37410
+ constructor(node, defaultCellMinWidth) {
36667
37411
  this.node = node;
36668
- this.cellMinWidth = cellMinWidth;
37412
+ this.defaultCellMinWidth = defaultCellMinWidth;
36669
37413
  this.dom = document.createElement("div");
36670
37414
  this.dom.className = "tableWrapper";
36671
37415
  this.table = this.dom.appendChild(document.createElement("table"));
37416
+ this.table.style.setProperty(
37417
+ "--default-cell-min-width",
37418
+ `${defaultCellMinWidth}px`
37419
+ );
36672
37420
  this.colgroup = this.table.appendChild(document.createElement("colgroup"));
36673
- updateColumnsOnResize(node, this.colgroup, this.table, cellMinWidth);
37421
+ updateColumnsOnResize(node, this.colgroup, this.table, defaultCellMinWidth);
36674
37422
  this.contentDOM = this.table.appendChild(document.createElement("tbody"));
36675
37423
  }
36676
37424
  update(node) {
36677
37425
  if (node.type != this.node.type)
36678
37426
  return false;
36679
37427
  this.node = node;
36680
- updateColumnsOnResize(node, this.colgroup, this.table, this.cellMinWidth);
37428
+ updateColumnsOnResize(
37429
+ node,
37430
+ this.colgroup,
37431
+ this.table,
37432
+ this.defaultCellMinWidth
37433
+ );
36681
37434
  return true;
36682
37435
  }
36683
37436
  ignoreMutation(record) {
36684
37437
  return record.type == "attributes" && (record.target == this.table || this.colgroup.contains(record.target));
36685
37438
  }
36686
37439
  };
36687
- function updateColumnsOnResize(node, colgroup, table, cellMinWidth, overrideCol, overrideValue) {
37440
+ function updateColumnsOnResize(node, colgroup, table, defaultCellMinWidth, overrideCol, overrideValue) {
36688
37441
  var _a2;
36689
37442
  let totalWidth = 0;
36690
37443
  let fixedWidth = true;
@@ -36697,14 +37450,17 @@ function updateColumnsOnResize(node, colgroup, table, cellMinWidth, overrideCol,
36697
37450
  for (let j2 = 0; j2 < colspan; j2++, col++) {
36698
37451
  const hasWidth = overrideCol == col ? overrideValue : colwidth && colwidth[j2];
36699
37452
  const cssWidth = hasWidth ? hasWidth + "px" : "";
36700
- totalWidth += hasWidth || cellMinWidth;
37453
+ totalWidth += hasWidth || defaultCellMinWidth;
36701
37454
  if (!hasWidth)
36702
37455
  fixedWidth = false;
36703
37456
  if (!nextDOM) {
36704
- colgroup.appendChild(document.createElement("col")).style.width = cssWidth;
37457
+ const col2 = document.createElement("col");
37458
+ col2.style.width = cssWidth;
37459
+ colgroup.appendChild(col2);
36705
37460
  } else {
36706
- if (nextDOM.style.width != cssWidth)
37461
+ if (nextDOM.style.width != cssWidth) {
36707
37462
  nextDOM.style.width = cssWidth;
37463
+ }
36708
37464
  nextDOM = nextDOM.nextSibling;
36709
37465
  }
36710
37466
  }
@@ -36728,6 +37484,7 @@ var columnResizingPluginKey = new PluginKey(
36728
37484
  function columnResizing({
36729
37485
  handleWidth = 5,
36730
37486
  cellMinWidth = 25,
37487
+ defaultCellMinWidth = 100,
36731
37488
  View = TableView$1,
36732
37489
  lastColumnResizable = true
36733
37490
  } = {}) {
@@ -36740,7 +37497,7 @@ function columnResizing({
36740
37497
  const tableName = tableNodeTypes(state2.schema).table.name;
36741
37498
  if (View && nodeViews) {
36742
37499
  nodeViews[tableName] = (node, view) => {
36743
- return new View(node, cellMinWidth, view);
37500
+ return new View(node, defaultCellMinWidth, view);
36744
37501
  };
36745
37502
  }
36746
37503
  return new ResizeState(-1, false);
@@ -36756,19 +37513,13 @@ function columnResizing({
36756
37513
  },
36757
37514
  handleDOMEvents: {
36758
37515
  mousemove: (view, event) => {
36759
- handleMouseMove(
36760
- view,
36761
- event,
36762
- handleWidth,
36763
- cellMinWidth,
36764
- lastColumnResizable
36765
- );
37516
+ handleMouseMove(view, event, handleWidth, lastColumnResizable);
36766
37517
  },
36767
37518
  mouseleave: (view) => {
36768
37519
  handleMouseLeave(view);
36769
37520
  },
36770
37521
  mousedown: (view, event) => {
36771
- handleMouseDown2(view, event, cellMinWidth);
37522
+ handleMouseDown2(view, event, cellMinWidth, defaultCellMinWidth);
36772
37523
  }
36773
37524
  },
36774
37525
  decorations: (state2) => {
@@ -36804,7 +37555,7 @@ var ResizeState = class _ResizeState {
36804
37555
  return state2;
36805
37556
  }
36806
37557
  };
36807
- function handleMouseMove(view, event, handleWidth, cellMinWidth, lastColumnResizable) {
37558
+ function handleMouseMove(view, event, handleWidth, lastColumnResizable) {
36808
37559
  const pluginState = columnResizingPluginKey.getState(view.state);
36809
37560
  if (!pluginState)
36810
37561
  return;
@@ -36825,722 +37576,198 @@ function handleMouseMove(view, event, handleWidth, cellMinWidth, lastColumnResiz
36825
37576
  const map4 = TableMap.get(table);
36826
37577
  const tableStart = $cell.start(-1);
36827
37578
  const col = map4.colCount($cell.pos - tableStart) + $cell.nodeAfter.attrs.colspan - 1;
36828
- if (col == map4.width - 1) {
36829
- return;
36830
- }
36831
- }
36832
- updateHandle(view, cell);
36833
- }
36834
- }
36835
- }
36836
- function handleMouseLeave(view) {
36837
- const pluginState = columnResizingPluginKey.getState(view.state);
36838
- if (pluginState && pluginState.activeHandle > -1 && !pluginState.dragging)
36839
- updateHandle(view, -1);
36840
- }
36841
- function handleMouseDown2(view, event, cellMinWidth) {
36842
- var _a2;
36843
- const win = (_a2 = view.dom.ownerDocument.defaultView) != null ? _a2 : window;
36844
- const pluginState = columnResizingPluginKey.getState(view.state);
36845
- if (!pluginState || pluginState.activeHandle == -1 || pluginState.dragging)
36846
- return false;
36847
- const cell = view.state.doc.nodeAt(pluginState.activeHandle);
36848
- const width = currentColWidth(view, pluginState.activeHandle, cell.attrs);
36849
- view.dispatch(
36850
- view.state.tr.setMeta(columnResizingPluginKey, {
36851
- setDragging: { startX: event.clientX, startWidth: width }
36852
- })
36853
- );
36854
- function finish(event2) {
36855
- win.removeEventListener("mouseup", finish);
36856
- win.removeEventListener("mousemove", move);
36857
- const pluginState2 = columnResizingPluginKey.getState(view.state);
36858
- if (pluginState2 == null ? void 0 : pluginState2.dragging) {
36859
- updateColumnWidth(
36860
- view,
36861
- pluginState2.activeHandle,
36862
- draggedWidth(pluginState2.dragging, event2, cellMinWidth)
36863
- );
36864
- view.dispatch(
36865
- view.state.tr.setMeta(columnResizingPluginKey, { setDragging: null })
36866
- );
36867
- }
36868
- }
36869
- function move(event2) {
36870
- if (!event2.which)
36871
- return finish(event2);
36872
- const pluginState2 = columnResizingPluginKey.getState(view.state);
36873
- if (!pluginState2)
36874
- return;
36875
- if (pluginState2.dragging) {
36876
- const dragged = draggedWidth(pluginState2.dragging, event2, cellMinWidth);
36877
- displayColumnWidth(view, pluginState2.activeHandle, dragged, cellMinWidth);
36878
- }
36879
- }
36880
- win.addEventListener("mouseup", finish);
36881
- win.addEventListener("mousemove", move);
36882
- event.preventDefault();
36883
- return true;
36884
- }
36885
- function currentColWidth(view, cellPos, { colspan, colwidth }) {
36886
- const width = colwidth && colwidth[colwidth.length - 1];
36887
- if (width)
36888
- return width;
36889
- const dom = view.domAtPos(cellPos);
36890
- const node = dom.node.childNodes[dom.offset];
36891
- let domWidth = node.offsetWidth, parts = colspan;
36892
- if (colwidth) {
36893
- for (let i2 = 0; i2 < colspan; i2++)
36894
- if (colwidth[i2]) {
36895
- domWidth -= colwidth[i2];
36896
- parts--;
36897
- }
36898
- }
36899
- return domWidth / parts;
36900
- }
36901
- function domCellAround(target) {
36902
- while (target && target.nodeName != "TD" && target.nodeName != "TH")
36903
- target = target.classList && target.classList.contains("ProseMirror") ? null : target.parentNode;
36904
- return target;
36905
- }
36906
- function edgeCell(view, event, side, handleWidth) {
36907
- const offset2 = side == "right" ? -handleWidth : handleWidth;
36908
- const found2 = view.posAtCoords({
36909
- left: event.clientX + offset2,
36910
- top: event.clientY
36911
- });
36912
- if (!found2)
36913
- return -1;
36914
- const { pos } = found2;
36915
- const $cell = cellAround(view.state.doc.resolve(pos));
36916
- if (!$cell)
36917
- return -1;
36918
- if (side == "right")
36919
- return $cell.pos;
36920
- const map4 = TableMap.get($cell.node(-1)), start2 = $cell.start(-1);
36921
- const index2 = map4.map.indexOf($cell.pos - start2);
36922
- return index2 % map4.width == 0 ? -1 : start2 + map4.map[index2 - 1];
36923
- }
36924
- function draggedWidth(dragging, event, cellMinWidth) {
36925
- const offset2 = event.clientX - dragging.startX;
36926
- return Math.max(cellMinWidth, dragging.startWidth + offset2);
36927
- }
36928
- function updateHandle(view, value) {
36929
- view.dispatch(
36930
- view.state.tr.setMeta(columnResizingPluginKey, { setHandle: value })
36931
- );
36932
- }
36933
- function updateColumnWidth(view, cell, width) {
36934
- const $cell = view.state.doc.resolve(cell);
36935
- const table = $cell.node(-1), map4 = TableMap.get(table), start2 = $cell.start(-1);
36936
- const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36937
- const tr2 = view.state.tr;
36938
- for (let row = 0; row < map4.height; row++) {
36939
- const mapIndex = row * map4.width + col;
36940
- if (row && map4.map[mapIndex] == map4.map[mapIndex - map4.width])
36941
- continue;
36942
- const pos = map4.map[mapIndex];
36943
- const attrs = table.nodeAt(pos).attrs;
36944
- const index2 = attrs.colspan == 1 ? 0 : col - map4.colCount(pos);
36945
- if (attrs.colwidth && attrs.colwidth[index2] == width)
36946
- continue;
36947
- const colwidth = attrs.colwidth ? attrs.colwidth.slice() : zeroes(attrs.colspan);
36948
- colwidth[index2] = width;
36949
- tr2.setNodeMarkup(start2 + pos, null, { ...attrs, colwidth });
36950
- }
36951
- if (tr2.docChanged)
36952
- view.dispatch(tr2);
36953
- }
36954
- function displayColumnWidth(view, cell, width, cellMinWidth) {
36955
- const $cell = view.state.doc.resolve(cell);
36956
- const table = $cell.node(-1), start2 = $cell.start(-1);
36957
- const col = TableMap.get(table).colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36958
- let dom = view.domAtPos($cell.start(-1)).node;
36959
- while (dom && dom.nodeName != "TABLE") {
36960
- dom = dom.parentNode;
36961
- }
36962
- if (!dom)
36963
- return;
36964
- updateColumnsOnResize(
36965
- table,
36966
- dom.firstChild,
36967
- dom,
36968
- cellMinWidth,
36969
- col,
36970
- width
36971
- );
36972
- }
36973
- function zeroes(n2) {
36974
- return Array(n2).fill(0);
36975
- }
36976
- function handleDecorations(state2, cell) {
36977
- const decorations = [];
36978
- const $cell = state2.doc.resolve(cell);
36979
- const table = $cell.node(-1);
36980
- if (!table) {
36981
- return DecorationSet.empty;
36982
- }
36983
- const map4 = TableMap.get(table);
36984
- const start2 = $cell.start(-1);
36985
- const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
36986
- for (let row = 0; row < map4.height; row++) {
36987
- const index2 = col + row * map4.width;
36988
- if ((col == map4.width - 1 || map4.map[index2] != map4.map[index2 + 1]) && (row == 0 || map4.map[index2] != map4.map[index2 - map4.width])) {
36989
- const cellPos = map4.map[index2];
36990
- const pos = start2 + cellPos + table.nodeAt(cellPos).nodeSize - 1;
36991
- const dom = document.createElement("div");
36992
- dom.className = "column-resize-handle";
36993
- decorations.push(Decoration.widget(pos, dom));
36994
- }
36995
- }
36996
- return DecorationSet.create(state2.doc, decorations);
36997
- }
36998
- function selectedRect(state2) {
36999
- const sel = state2.selection;
37000
- const $pos = selectionCell(state2);
37001
- const table = $pos.node(-1);
37002
- const tableStart = $pos.start(-1);
37003
- const map4 = TableMap.get(table);
37004
- const rect = sel instanceof CellSelection ? map4.rectBetween(
37005
- sel.$anchorCell.pos - tableStart,
37006
- sel.$headCell.pos - tableStart
37007
- ) : map4.findCell($pos.pos - tableStart);
37008
- return { ...rect, tableStart, map: map4, table };
37009
- }
37010
- function addColumn(tr2, { map: map4, tableStart, table }, col) {
37011
- let refColumn = col > 0 ? -1 : 0;
37012
- if (columnIsHeader(map4, table, col + refColumn)) {
37013
- refColumn = col == 0 || col == map4.width ? null : 0;
37014
- }
37015
- for (let row = 0; row < map4.height; row++) {
37016
- const index2 = row * map4.width + col;
37017
- if (col > 0 && col < map4.width && map4.map[index2 - 1] == map4.map[index2]) {
37018
- const pos = map4.map[index2];
37019
- const cell = table.nodeAt(pos);
37020
- tr2.setNodeMarkup(
37021
- tr2.mapping.map(tableStart + pos),
37022
- null,
37023
- addColSpan(cell.attrs, col - map4.colCount(pos))
37024
- );
37025
- row += cell.attrs.rowspan - 1;
37026
- } else {
37027
- const type3 = refColumn == null ? tableNodeTypes(table.type.schema).cell : table.nodeAt(map4.map[index2 + refColumn]).type;
37028
- const pos = map4.positionAt(row, col, table);
37029
- tr2.insert(tr2.mapping.map(tableStart + pos), type3.createAndFill());
37030
- }
37031
- }
37032
- return tr2;
37033
- }
37034
- function addColumnBefore(state2, dispatch) {
37035
- if (!isInTable(state2))
37036
- return false;
37037
- if (dispatch) {
37038
- const rect = selectedRect(state2);
37039
- dispatch(addColumn(state2.tr, rect, rect.left));
37040
- }
37041
- return true;
37042
- }
37043
- function addColumnAfter(state2, dispatch) {
37044
- if (!isInTable(state2))
37045
- return false;
37046
- if (dispatch) {
37047
- const rect = selectedRect(state2);
37048
- dispatch(addColumn(state2.tr, rect, rect.right));
37049
- }
37050
- return true;
37051
- }
37052
- function removeColumn(tr2, { map: map4, table, tableStart }, col) {
37053
- const mapStart = tr2.mapping.maps.length;
37054
- for (let row = 0; row < map4.height; ) {
37055
- const index2 = row * map4.width + col;
37056
- const pos = map4.map[index2];
37057
- const cell = table.nodeAt(pos);
37058
- const attrs = cell.attrs;
37059
- if (col > 0 && map4.map[index2 - 1] == pos || col < map4.width - 1 && map4.map[index2 + 1] == pos) {
37060
- tr2.setNodeMarkup(
37061
- tr2.mapping.slice(mapStart).map(tableStart + pos),
37062
- null,
37063
- removeColSpan(attrs, col - map4.colCount(pos))
37064
- );
37065
- } else {
37066
- const start2 = tr2.mapping.slice(mapStart).map(tableStart + pos);
37067
- tr2.delete(start2, start2 + cell.nodeSize);
37068
- }
37069
- row += attrs.rowspan;
37070
- }
37071
- }
37072
- function deleteColumn(state2, dispatch) {
37073
- if (!isInTable(state2))
37074
- return false;
37075
- if (dispatch) {
37076
- const rect = selectedRect(state2);
37077
- const tr2 = state2.tr;
37078
- if (rect.left == 0 && rect.right == rect.map.width)
37079
- return false;
37080
- for (let i2 = rect.right - 1; ; i2--) {
37081
- removeColumn(tr2, rect, i2);
37082
- if (i2 == rect.left)
37083
- break;
37084
- const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
37085
- if (!table) {
37086
- throw RangeError("No table found");
37087
- }
37088
- rect.table = table;
37089
- rect.map = TableMap.get(table);
37090
- }
37091
- dispatch(tr2);
37092
- }
37093
- return true;
37094
- }
37095
- function rowIsHeader(map4, table, row) {
37096
- var _a2;
37097
- const headerCell = tableNodeTypes(table.type.schema).header_cell;
37098
- for (let col = 0; col < map4.width; col++)
37099
- if (((_a2 = table.nodeAt(map4.map[col + row * map4.width])) == null ? void 0 : _a2.type) != headerCell)
37100
- return false;
37101
- return true;
37102
- }
37103
- function addRow(tr2, { map: map4, tableStart, table }, row) {
37104
- var _a2;
37105
- let rowPos = tableStart;
37106
- for (let i2 = 0; i2 < row; i2++)
37107
- rowPos += table.child(i2).nodeSize;
37108
- const cells = [];
37109
- let refRow = row > 0 ? -1 : 0;
37110
- if (rowIsHeader(map4, table, row + refRow))
37111
- refRow = row == 0 || row == map4.height ? null : 0;
37112
- for (let col = 0, index2 = map4.width * row; col < map4.width; col++, index2++) {
37113
- if (row > 0 && row < map4.height && map4.map[index2] == map4.map[index2 - map4.width]) {
37114
- const pos = map4.map[index2];
37115
- const attrs = table.nodeAt(pos).attrs;
37116
- tr2.setNodeMarkup(tableStart + pos, null, {
37117
- ...attrs,
37118
- rowspan: attrs.rowspan + 1
37119
- });
37120
- col += attrs.colspan - 1;
37121
- } else {
37122
- const type3 = refRow == null ? tableNodeTypes(table.type.schema).cell : (_a2 = table.nodeAt(map4.map[index2 + refRow * map4.width])) == null ? void 0 : _a2.type;
37123
- const node = type3 == null ? void 0 : type3.createAndFill();
37124
- if (node)
37125
- cells.push(node);
37126
- }
37127
- }
37128
- tr2.insert(rowPos, tableNodeTypes(table.type.schema).row.create(null, cells));
37129
- return tr2;
37130
- }
37131
- function addRowBefore(state2, dispatch) {
37132
- if (!isInTable(state2))
37133
- return false;
37134
- if (dispatch) {
37135
- const rect = selectedRect(state2);
37136
- dispatch(addRow(state2.tr, rect, rect.top));
37137
- }
37138
- return true;
37139
- }
37140
- function addRowAfter(state2, dispatch) {
37141
- if (!isInTable(state2))
37142
- return false;
37143
- if (dispatch) {
37144
- const rect = selectedRect(state2);
37145
- dispatch(addRow(state2.tr, rect, rect.bottom));
37146
- }
37147
- return true;
37148
- }
37149
- function removeRow(tr2, { map: map4, table, tableStart }, row) {
37150
- let rowPos = 0;
37151
- for (let i2 = 0; i2 < row; i2++)
37152
- rowPos += table.child(i2).nodeSize;
37153
- const nextRow = rowPos + table.child(row).nodeSize;
37154
- const mapFrom = tr2.mapping.maps.length;
37155
- tr2.delete(rowPos + tableStart, nextRow + tableStart);
37156
- const seen = /* @__PURE__ */ new Set();
37157
- for (let col = 0, index2 = row * map4.width; col < map4.width; col++, index2++) {
37158
- const pos = map4.map[index2];
37159
- if (seen.has(pos))
37160
- continue;
37161
- seen.add(pos);
37162
- if (row > 0 && pos == map4.map[index2 - map4.width]) {
37163
- const attrs = table.nodeAt(pos).attrs;
37164
- tr2.setNodeMarkup(tr2.mapping.slice(mapFrom).map(pos + tableStart), null, {
37165
- ...attrs,
37166
- rowspan: attrs.rowspan - 1
37167
- });
37168
- col += attrs.colspan - 1;
37169
- } else if (row < map4.height && pos == map4.map[index2 + map4.width]) {
37170
- const cell = table.nodeAt(pos);
37171
- const attrs = cell.attrs;
37172
- const copy2 = cell.type.create(
37173
- { ...attrs, rowspan: cell.attrs.rowspan - 1 },
37174
- cell.content
37175
- );
37176
- const newPos = map4.positionAt(row + 1, col, table);
37177
- tr2.insert(tr2.mapping.slice(mapFrom).map(tableStart + newPos), copy2);
37178
- col += attrs.colspan - 1;
37179
- }
37180
- }
37181
- }
37182
- function deleteRow(state2, dispatch) {
37183
- if (!isInTable(state2))
37184
- return false;
37185
- if (dispatch) {
37186
- const rect = selectedRect(state2), tr2 = state2.tr;
37187
- if (rect.top == 0 && rect.bottom == rect.map.height)
37188
- return false;
37189
- for (let i2 = rect.bottom - 1; ; i2--) {
37190
- removeRow(tr2, rect, i2);
37191
- if (i2 == rect.top)
37192
- break;
37193
- const table = rect.tableStart ? tr2.doc.nodeAt(rect.tableStart - 1) : tr2.doc;
37194
- if (!table) {
37195
- throw RangeError("No table found");
37196
- }
37197
- rect.table = table;
37198
- rect.map = TableMap.get(rect.table);
37199
- }
37200
- dispatch(tr2);
37201
- }
37202
- return true;
37203
- }
37204
- function isEmpty(cell) {
37205
- const c2 = cell.content;
37206
- return c2.childCount == 1 && c2.child(0).isTextblock && c2.child(0).childCount == 0;
37207
- }
37208
- function cellsOverlapRectangle({ width, height, map: map4 }, rect) {
37209
- let indexTop = rect.top * width + rect.left, indexLeft = indexTop;
37210
- let indexBottom = (rect.bottom - 1) * width + rect.left, indexRight = indexTop + (rect.right - rect.left - 1);
37211
- for (let i2 = rect.top; i2 < rect.bottom; i2++) {
37212
- if (rect.left > 0 && map4[indexLeft] == map4[indexLeft - 1] || rect.right < width && map4[indexRight] == map4[indexRight + 1])
37213
- return true;
37214
- indexLeft += width;
37215
- indexRight += width;
37216
- }
37217
- for (let i2 = rect.left; i2 < rect.right; i2++) {
37218
- if (rect.top > 0 && map4[indexTop] == map4[indexTop - width] || rect.bottom < height && map4[indexBottom] == map4[indexBottom + width])
37219
- return true;
37220
- indexTop++;
37221
- indexBottom++;
37222
- }
37223
- return false;
37224
- }
37225
- function mergeCells(state2, dispatch) {
37226
- const sel = state2.selection;
37227
- if (!(sel instanceof CellSelection) || sel.$anchorCell.pos == sel.$headCell.pos)
37228
- return false;
37229
- const rect = selectedRect(state2), { map: map4 } = rect;
37230
- if (cellsOverlapRectangle(map4, rect))
37231
- return false;
37232
- if (dispatch) {
37233
- const tr2 = state2.tr;
37234
- const seen = {};
37235
- let content = Fragment.empty;
37236
- let mergedPos;
37237
- let mergedCell;
37238
- for (let row = rect.top; row < rect.bottom; row++) {
37239
- for (let col = rect.left; col < rect.right; col++) {
37240
- const cellPos = map4.map[row * map4.width + col];
37241
- const cell = rect.table.nodeAt(cellPos);
37242
- if (seen[cellPos] || !cell)
37243
- continue;
37244
- seen[cellPos] = true;
37245
- if (mergedPos == null) {
37246
- mergedPos = cellPos;
37247
- mergedCell = cell;
37248
- } else {
37249
- if (!isEmpty(cell))
37250
- content = content.append(cell.content);
37251
- const mapped = tr2.mapping.map(cellPos + rect.tableStart);
37252
- tr2.delete(mapped, mapped + cell.nodeSize);
37253
- }
37254
- }
37255
- }
37256
- if (mergedPos == null || mergedCell == null) {
37257
- return true;
37258
- }
37259
- tr2.setNodeMarkup(mergedPos + rect.tableStart, null, {
37260
- ...addColSpan(
37261
- mergedCell.attrs,
37262
- mergedCell.attrs.colspan,
37263
- rect.right - rect.left - mergedCell.attrs.colspan
37264
- ),
37265
- rowspan: rect.bottom - rect.top
37266
- });
37267
- if (content.size) {
37268
- const end2 = mergedPos + 1 + mergedCell.content.size;
37269
- const start2 = isEmpty(mergedCell) ? mergedPos + 1 : end2;
37270
- tr2.replaceWith(start2 + rect.tableStart, end2 + rect.tableStart, content);
37271
- }
37272
- tr2.setSelection(
37273
- new CellSelection(tr2.doc.resolve(mergedPos + rect.tableStart))
37274
- );
37275
- dispatch(tr2);
37276
- }
37277
- return true;
37278
- }
37279
- function splitCell(state2, dispatch) {
37280
- const nodeTypes = tableNodeTypes(state2.schema);
37281
- return splitCellWithType(({ node }) => {
37282
- return nodeTypes[node.type.spec.tableRole];
37283
- })(state2, dispatch);
37284
- }
37285
- function splitCellWithType(getCellType) {
37286
- return (state2, dispatch) => {
37287
- var _a2;
37288
- const sel = state2.selection;
37289
- let cellNode;
37290
- let cellPos;
37291
- if (!(sel instanceof CellSelection)) {
37292
- cellNode = cellWrapping(sel.$from);
37293
- if (!cellNode)
37294
- return false;
37295
- cellPos = (_a2 = cellAround(sel.$from)) == null ? void 0 : _a2.pos;
37296
- } else {
37297
- if (sel.$anchorCell.pos != sel.$headCell.pos)
37298
- return false;
37299
- cellNode = sel.$anchorCell.nodeAfter;
37300
- cellPos = sel.$anchorCell.pos;
37301
- }
37302
- if (cellNode == null || cellPos == null) {
37303
- return false;
37304
- }
37305
- if (cellNode.attrs.colspan == 1 && cellNode.attrs.rowspan == 1) {
37306
- return false;
37307
- }
37308
- if (dispatch) {
37309
- let baseAttrs = cellNode.attrs;
37310
- const attrs = [];
37311
- const colwidth = baseAttrs.colwidth;
37312
- if (baseAttrs.rowspan > 1)
37313
- baseAttrs = { ...baseAttrs, rowspan: 1 };
37314
- if (baseAttrs.colspan > 1)
37315
- baseAttrs = { ...baseAttrs, colspan: 1 };
37316
- const rect = selectedRect(state2), tr2 = state2.tr;
37317
- for (let i2 = 0; i2 < rect.right - rect.left; i2++)
37318
- attrs.push(
37319
- colwidth ? {
37320
- ...baseAttrs,
37321
- colwidth: colwidth && colwidth[i2] ? [colwidth[i2]] : null
37322
- } : baseAttrs
37323
- );
37324
- let lastCell;
37325
- for (let row = rect.top; row < rect.bottom; row++) {
37326
- let pos = rect.map.positionAt(row, rect.left, rect.table);
37327
- if (row == rect.top)
37328
- pos += cellNode.nodeSize;
37329
- for (let col = rect.left, i2 = 0; col < rect.right; col++, i2++) {
37330
- if (col == rect.left && row == rect.top)
37331
- continue;
37332
- tr2.insert(
37333
- lastCell = tr2.mapping.map(pos + rect.tableStart, 1),
37334
- getCellType({ node: cellNode, row, col }).createAndFill(attrs[i2])
37335
- );
37579
+ if (col == map4.width - 1) {
37580
+ return;
37336
37581
  }
37337
37582
  }
37338
- tr2.setNodeMarkup(
37339
- cellPos,
37340
- getCellType({ node: cellNode, row: rect.top, col: rect.left }),
37341
- attrs[0]
37342
- );
37343
- if (sel instanceof CellSelection)
37344
- tr2.setSelection(
37345
- new CellSelection(
37346
- tr2.doc.resolve(sel.$anchorCell.pos),
37347
- lastCell ? tr2.doc.resolve(lastCell) : void 0
37348
- )
37349
- );
37350
- dispatch(tr2);
37583
+ updateHandle(view, cell);
37351
37584
  }
37352
- return true;
37353
- };
37585
+ }
37354
37586
  }
37355
- function setCellAttr(name, value) {
37356
- return function(state2, dispatch) {
37357
- if (!isInTable(state2))
37358
- return false;
37359
- const $cell = selectionCell(state2);
37360
- if ($cell.nodeAfter.attrs[name] === value)
37361
- return false;
37362
- if (dispatch) {
37363
- const tr2 = state2.tr;
37364
- if (state2.selection instanceof CellSelection)
37365
- state2.selection.forEachCell((node, pos) => {
37366
- if (node.attrs[name] !== value)
37367
- tr2.setNodeMarkup(pos, null, {
37368
- ...node.attrs,
37369
- [name]: value
37370
- });
37371
- });
37372
- else
37373
- tr2.setNodeMarkup($cell.pos, null, {
37374
- ...$cell.nodeAfter.attrs,
37375
- [name]: value
37376
- });
37377
- dispatch(tr2);
37378
- }
37379
- return true;
37380
- };
37587
+ function handleMouseLeave(view) {
37588
+ const pluginState = columnResizingPluginKey.getState(view.state);
37589
+ if (pluginState && pluginState.activeHandle > -1 && !pluginState.dragging)
37590
+ updateHandle(view, -1);
37381
37591
  }
37382
- function deprecated_toggleHeader(type3) {
37383
- return function(state2, dispatch) {
37384
- if (!isInTable(state2))
37385
- return false;
37386
- if (dispatch) {
37387
- const types = tableNodeTypes(state2.schema);
37388
- const rect = selectedRect(state2), tr2 = state2.tr;
37389
- const cells = rect.map.cellsInRect(
37390
- type3 == "column" ? {
37391
- left: rect.left,
37392
- top: 0,
37393
- right: rect.right,
37394
- bottom: rect.map.height
37395
- } : type3 == "row" ? {
37396
- left: 0,
37397
- top: rect.top,
37398
- right: rect.map.width,
37399
- bottom: rect.bottom
37400
- } : rect
37592
+ function handleMouseDown2(view, event, cellMinWidth, defaultCellMinWidth) {
37593
+ var _a2;
37594
+ const win = (_a2 = view.dom.ownerDocument.defaultView) != null ? _a2 : window;
37595
+ const pluginState = columnResizingPluginKey.getState(view.state);
37596
+ if (!pluginState || pluginState.activeHandle == -1 || pluginState.dragging)
37597
+ return false;
37598
+ const cell = view.state.doc.nodeAt(pluginState.activeHandle);
37599
+ const width = currentColWidth(view, pluginState.activeHandle, cell.attrs);
37600
+ view.dispatch(
37601
+ view.state.tr.setMeta(columnResizingPluginKey, {
37602
+ setDragging: { startX: event.clientX, startWidth: width }
37603
+ })
37604
+ );
37605
+ function finish(event2) {
37606
+ win.removeEventListener("mouseup", finish);
37607
+ win.removeEventListener("mousemove", move);
37608
+ const pluginState2 = columnResizingPluginKey.getState(view.state);
37609
+ if (pluginState2 == null ? void 0 : pluginState2.dragging) {
37610
+ updateColumnWidth(
37611
+ view,
37612
+ pluginState2.activeHandle,
37613
+ draggedWidth(pluginState2.dragging, event2, cellMinWidth)
37614
+ );
37615
+ view.dispatch(
37616
+ view.state.tr.setMeta(columnResizingPluginKey, { setDragging: null })
37401
37617
  );
37402
- const nodes = cells.map((pos) => rect.table.nodeAt(pos));
37403
- for (let i2 = 0; i2 < cells.length; i2++)
37404
- if (nodes[i2].type == types.header_cell)
37405
- tr2.setNodeMarkup(
37406
- rect.tableStart + cells[i2],
37407
- types.cell,
37408
- nodes[i2].attrs
37409
- );
37410
- if (tr2.steps.length == 0)
37411
- for (let i2 = 0; i2 < cells.length; i2++)
37412
- tr2.setNodeMarkup(
37413
- rect.tableStart + cells[i2],
37414
- types.header_cell,
37415
- nodes[i2].attrs
37416
- );
37417
- dispatch(tr2);
37418
- }
37419
- return true;
37420
- };
37421
- }
37422
- function isHeaderEnabledByType(type3, rect, types) {
37423
- const cellPositions = rect.map.cellsInRect({
37424
- left: 0,
37425
- top: 0,
37426
- right: type3 == "row" ? rect.map.width : 1,
37427
- bottom: type3 == "column" ? rect.map.height : 1
37428
- });
37429
- for (let i2 = 0; i2 < cellPositions.length; i2++) {
37430
- const cell = rect.table.nodeAt(cellPositions[i2]);
37431
- if (cell && cell.type !== types.header_cell) {
37432
- return false;
37433
37618
  }
37434
37619
  }
37435
- return true;
37436
- }
37437
- function toggleHeader(type3, options) {
37438
- options = options || { useDeprecatedLogic: false };
37439
- if (options.useDeprecatedLogic)
37440
- return deprecated_toggleHeader(type3);
37441
- return function(state2, dispatch) {
37442
- if (!isInTable(state2))
37443
- return false;
37444
- if (dispatch) {
37445
- const types = tableNodeTypes(state2.schema);
37446
- const rect = selectedRect(state2), tr2 = state2.tr;
37447
- const isHeaderRowEnabled = isHeaderEnabledByType("row", rect, types);
37448
- const isHeaderColumnEnabled = isHeaderEnabledByType(
37449
- "column",
37450
- rect,
37451
- types
37620
+ function move(event2) {
37621
+ if (!event2.which)
37622
+ return finish(event2);
37623
+ const pluginState2 = columnResizingPluginKey.getState(view.state);
37624
+ if (!pluginState2)
37625
+ return;
37626
+ if (pluginState2.dragging) {
37627
+ const dragged = draggedWidth(pluginState2.dragging, event2, cellMinWidth);
37628
+ displayColumnWidth(
37629
+ view,
37630
+ pluginState2.activeHandle,
37631
+ dragged,
37632
+ defaultCellMinWidth
37452
37633
  );
37453
- const isHeaderEnabled = type3 === "column" ? isHeaderRowEnabled : type3 === "row" ? isHeaderColumnEnabled : false;
37454
- const selectionStartsAt = isHeaderEnabled ? 1 : 0;
37455
- const cellsRect = type3 == "column" ? {
37456
- left: 0,
37457
- top: selectionStartsAt,
37458
- right: 1,
37459
- bottom: rect.map.height
37460
- } : type3 == "row" ? {
37461
- left: selectionStartsAt,
37462
- top: 0,
37463
- right: rect.map.width,
37464
- bottom: 1
37465
- } : rect;
37466
- const newType = type3 == "column" ? isHeaderColumnEnabled ? types.cell : types.header_cell : type3 == "row" ? isHeaderRowEnabled ? types.cell : types.header_cell : types.cell;
37467
- rect.map.cellsInRect(cellsRect).forEach((relativeCellPos) => {
37468
- const cellPos = relativeCellPos + rect.tableStart;
37469
- const cell = tr2.doc.nodeAt(cellPos);
37470
- if (cell) {
37471
- tr2.setNodeMarkup(cellPos, newType, cell.attrs);
37472
- }
37473
- });
37474
- dispatch(tr2);
37475
37634
  }
37476
- return true;
37477
- };
37635
+ }
37636
+ displayColumnWidth(
37637
+ view,
37638
+ pluginState.activeHandle,
37639
+ width,
37640
+ defaultCellMinWidth
37641
+ );
37642
+ win.addEventListener("mouseup", finish);
37643
+ win.addEventListener("mousemove", move);
37644
+ event.preventDefault();
37645
+ return true;
37478
37646
  }
37479
- toggleHeader("row", {
37480
- useDeprecatedLogic: true
37481
- });
37482
- toggleHeader("column", {
37483
- useDeprecatedLogic: true
37484
- });
37485
- var toggleHeaderCell = toggleHeader("cell", {
37486
- useDeprecatedLogic: true
37487
- });
37488
- function findNextCell($cell, dir) {
37489
- if (dir < 0) {
37490
- const before = $cell.nodeBefore;
37491
- if (before)
37492
- return $cell.pos - before.nodeSize;
37493
- for (let row = $cell.index(-1) - 1, rowEnd = $cell.before(); row >= 0; row--) {
37494
- const rowNode = $cell.node(-1).child(row);
37495
- const lastChild2 = rowNode.lastChild;
37496
- if (lastChild2) {
37497
- return rowEnd - 1 - lastChild2.nodeSize;
37647
+ function currentColWidth(view, cellPos, { colspan, colwidth }) {
37648
+ const width = colwidth && colwidth[colwidth.length - 1];
37649
+ if (width)
37650
+ return width;
37651
+ const dom = view.domAtPos(cellPos);
37652
+ const node = dom.node.childNodes[dom.offset];
37653
+ let domWidth = node.offsetWidth, parts = colspan;
37654
+ if (colwidth) {
37655
+ for (let i2 = 0; i2 < colspan; i2++)
37656
+ if (colwidth[i2]) {
37657
+ domWidth -= colwidth[i2];
37658
+ parts--;
37498
37659
  }
37499
- rowEnd -= rowNode.nodeSize;
37500
- }
37501
- } else {
37502
- if ($cell.index() < $cell.parent.childCount - 1) {
37503
- return $cell.pos + $cell.nodeAfter.nodeSize;
37504
- }
37505
- const table = $cell.node(-1);
37506
- for (let row = $cell.indexAfter(-1), rowStart = $cell.after(); row < table.childCount; row++) {
37507
- const rowNode = table.child(row);
37508
- if (rowNode.childCount)
37509
- return rowStart + 1;
37510
- rowStart += rowNode.nodeSize;
37511
- }
37512
37660
  }
37513
- return null;
37661
+ return domWidth / parts;
37514
37662
  }
37515
- function goToNextCell(direction) {
37516
- return function(state2, dispatch) {
37517
- if (!isInTable(state2))
37518
- return false;
37519
- const cell = findNextCell(selectionCell(state2), direction);
37520
- if (cell == null)
37521
- return false;
37522
- if (dispatch) {
37523
- const $cell = state2.doc.resolve(cell);
37524
- dispatch(
37525
- state2.tr.setSelection(TextSelection.between($cell, moveCellForward($cell))).scrollIntoView()
37526
- );
37527
- }
37528
- return true;
37529
- };
37663
+ function domCellAround(target) {
37664
+ while (target && target.nodeName != "TD" && target.nodeName != "TH")
37665
+ target = target.classList && target.classList.contains("ProseMirror") ? null : target.parentNode;
37666
+ return target;
37530
37667
  }
37531
- function deleteTable(state2, dispatch) {
37532
- const $pos = state2.selection.$anchor;
37533
- for (let d2 = $pos.depth; d2 > 0; d2--) {
37534
- const node = $pos.node(d2);
37535
- if (node.type.spec.tableRole == "table") {
37536
- if (dispatch)
37537
- dispatch(
37538
- state2.tr.delete($pos.before(d2), $pos.after(d2)).scrollIntoView()
37668
+ function edgeCell(view, event, side, handleWidth) {
37669
+ const offset2 = side == "right" ? -handleWidth : handleWidth;
37670
+ const found2 = view.posAtCoords({
37671
+ left: event.clientX + offset2,
37672
+ top: event.clientY
37673
+ });
37674
+ if (!found2)
37675
+ return -1;
37676
+ const { pos } = found2;
37677
+ const $cell = cellAround(view.state.doc.resolve(pos));
37678
+ if (!$cell)
37679
+ return -1;
37680
+ if (side == "right")
37681
+ return $cell.pos;
37682
+ const map4 = TableMap.get($cell.node(-1)), start2 = $cell.start(-1);
37683
+ const index2 = map4.map.indexOf($cell.pos - start2);
37684
+ return index2 % map4.width == 0 ? -1 : start2 + map4.map[index2 - 1];
37685
+ }
37686
+ function draggedWidth(dragging, event, resizeMinWidth) {
37687
+ const offset2 = event.clientX - dragging.startX;
37688
+ return Math.max(resizeMinWidth, dragging.startWidth + offset2);
37689
+ }
37690
+ function updateHandle(view, value) {
37691
+ view.dispatch(
37692
+ view.state.tr.setMeta(columnResizingPluginKey, { setHandle: value })
37693
+ );
37694
+ }
37695
+ function updateColumnWidth(view, cell, width) {
37696
+ const $cell = view.state.doc.resolve(cell);
37697
+ const table = $cell.node(-1), map4 = TableMap.get(table), start2 = $cell.start(-1);
37698
+ const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37699
+ const tr2 = view.state.tr;
37700
+ for (let row = 0; row < map4.height; row++) {
37701
+ const mapIndex = row * map4.width + col;
37702
+ if (row && map4.map[mapIndex] == map4.map[mapIndex - map4.width])
37703
+ continue;
37704
+ const pos = map4.map[mapIndex];
37705
+ const attrs = table.nodeAt(pos).attrs;
37706
+ const index2 = attrs.colspan == 1 ? 0 : col - map4.colCount(pos);
37707
+ if (attrs.colwidth && attrs.colwidth[index2] == width)
37708
+ continue;
37709
+ const colwidth = attrs.colwidth ? attrs.colwidth.slice() : zeroes(attrs.colspan);
37710
+ colwidth[index2] = width;
37711
+ tr2.setNodeMarkup(start2 + pos, null, { ...attrs, colwidth });
37712
+ }
37713
+ if (tr2.docChanged)
37714
+ view.dispatch(tr2);
37715
+ }
37716
+ function displayColumnWidth(view, cell, width, defaultCellMinWidth) {
37717
+ const $cell = view.state.doc.resolve(cell);
37718
+ const table = $cell.node(-1), start2 = $cell.start(-1);
37719
+ const col = TableMap.get(table).colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37720
+ let dom = view.domAtPos($cell.start(-1)).node;
37721
+ while (dom && dom.nodeName != "TABLE") {
37722
+ dom = dom.parentNode;
37723
+ }
37724
+ if (!dom)
37725
+ return;
37726
+ updateColumnsOnResize(
37727
+ table,
37728
+ dom.firstChild,
37729
+ dom,
37730
+ defaultCellMinWidth,
37731
+ col,
37732
+ width
37733
+ );
37734
+ }
37735
+ function zeroes(n2) {
37736
+ return Array(n2).fill(0);
37737
+ }
37738
+ function handleDecorations(state2, cell) {
37739
+ var _a2;
37740
+ const decorations = [];
37741
+ const $cell = state2.doc.resolve(cell);
37742
+ const table = $cell.node(-1);
37743
+ if (!table) {
37744
+ return DecorationSet.empty;
37745
+ }
37746
+ const map4 = TableMap.get(table);
37747
+ const start2 = $cell.start(-1);
37748
+ const col = map4.colCount($cell.pos - start2) + $cell.nodeAfter.attrs.colspan - 1;
37749
+ for (let row = 0; row < map4.height; row++) {
37750
+ const index2 = col + row * map4.width;
37751
+ if ((col == map4.width - 1 || map4.map[index2] != map4.map[index2 + 1]) && (row == 0 || map4.map[index2] != map4.map[index2 - map4.width])) {
37752
+ const cellPos = map4.map[index2];
37753
+ const pos = start2 + cellPos + table.nodeAt(cellPos).nodeSize - 1;
37754
+ const dom = document.createElement("div");
37755
+ dom.className = "column-resize-handle";
37756
+ if ((_a2 = columnResizingPluginKey.getState(state2)) == null ? void 0 : _a2.dragging) {
37757
+ decorations.push(
37758
+ Decoration.node(
37759
+ start2 + cellPos,
37760
+ start2 + cellPos + table.nodeAt(cellPos).nodeSize,
37761
+ {
37762
+ class: "column-resize-dragging"
37763
+ }
37764
+ )
37539
37765
  );
37540
- return true;
37766
+ }
37767
+ decorations.push(Decoration.widget(pos, dom));
37541
37768
  }
37542
37769
  }
37543
- return false;
37770
+ return DecorationSet.create(state2.doc, decorations);
37544
37771
  }
37545
37772
  function tableEditing({
37546
37773
  allowTableNodeSelection = false
@@ -37585,33 +37812,46 @@ function tableEditing({
37585
37812
  }
37586
37813
  });
37587
37814
  }
37815
+ function getColStyleDeclaration(minWidth, width) {
37816
+ if (width) {
37817
+ return ["width", `${Math.max(width, minWidth)}px`];
37818
+ }
37819
+ return ["min-width", `${minWidth}px`];
37820
+ }
37588
37821
  function updateColumns(node, colgroup, table, cellMinWidth, overrideCol, overrideValue) {
37822
+ var _a2;
37589
37823
  let totalWidth = 0;
37590
37824
  let fixedWidth = true;
37591
37825
  let nextDOM = colgroup.firstChild;
37592
37826
  const row = node.firstChild;
37593
- for (let i2 = 0, col = 0; i2 < row.childCount; i2 += 1) {
37594
- const { colspan, colwidth } = row.child(i2).attrs;
37595
- for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37596
- const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37597
- const cssWidth = hasWidth ? `${hasWidth}px` : "";
37598
- totalWidth += hasWidth || cellMinWidth;
37599
- if (!hasWidth) {
37600
- fixedWidth = false;
37601
- }
37602
- if (!nextDOM) {
37603
- colgroup.appendChild(document.createElement("col")).style.width = cssWidth;
37604
- } else {
37605
- if (nextDOM.style.width !== cssWidth) {
37606
- nextDOM.style.width = cssWidth;
37827
+ if (row !== null) {
37828
+ for (let i2 = 0, col = 0; i2 < row.childCount; i2 += 1) {
37829
+ const { colspan, colwidth } = row.child(i2).attrs;
37830
+ for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37831
+ const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37832
+ const cssWidth = hasWidth ? `${hasWidth}px` : "";
37833
+ totalWidth += hasWidth || cellMinWidth;
37834
+ if (!hasWidth) {
37835
+ fixedWidth = false;
37836
+ }
37837
+ if (!nextDOM) {
37838
+ const colElement = document.createElement("col");
37839
+ const [propertyKey, propertyValue] = getColStyleDeclaration(cellMinWidth, hasWidth);
37840
+ colElement.style.setProperty(propertyKey, propertyValue);
37841
+ colgroup.appendChild(colElement);
37842
+ } else {
37843
+ if (nextDOM.style.width !== cssWidth) {
37844
+ const [propertyKey, propertyValue] = getColStyleDeclaration(cellMinWidth, hasWidth);
37845
+ nextDOM.style.setProperty(propertyKey, propertyValue);
37846
+ }
37847
+ nextDOM = nextDOM.nextSibling;
37607
37848
  }
37608
- nextDOM = nextDOM.nextSibling;
37609
37849
  }
37610
37850
  }
37611
37851
  }
37612
37852
  while (nextDOM) {
37613
37853
  const after = nextDOM.nextSibling;
37614
- nextDOM.parentNode.removeChild(nextDOM);
37854
+ (_a2 = nextDOM.parentNode) === null || _a2 === void 0 ? void 0 : _a2.removeChild(nextDOM);
37615
37855
  nextDOM = after;
37616
37856
  }
37617
37857
  if (fixedWidth) {
@@ -37657,12 +37897,15 @@ function createColGroup(node, cellMinWidth, overrideCol, overrideValue) {
37657
37897
  const { colspan, colwidth } = row.child(i2).attrs;
37658
37898
  for (let j2 = 0; j2 < colspan; j2 += 1, col += 1) {
37659
37899
  const hasWidth = overrideCol === col ? overrideValue : colwidth && colwidth[j2];
37660
- const cssWidth = hasWidth ? `${hasWidth}px` : "";
37661
37900
  totalWidth += hasWidth || cellMinWidth;
37662
37901
  if (!hasWidth) {
37663
37902
  fixedWidth = false;
37664
37903
  }
37665
- cols.push(["col", cssWidth ? { style: `width: ${cssWidth}` } : {}]);
37904
+ const [property, value] = getColStyleDeclaration(cellMinWidth, hasWidth);
37905
+ cols.push([
37906
+ "col",
37907
+ { style: `${property}: ${value}` }
37908
+ ]);
37666
37909
  }
37667
37910
  }
37668
37911
  const tableWidth = fixedWidth ? `${totalWidth}px` : "";
@@ -37871,6 +38114,7 @@ const Table = Node$1.create({
37871
38114
  columnResizing({
37872
38115
  handleWidth: this.options.handleWidth,
37873
38116
  cellMinWidth: this.options.cellMinWidth,
38117
+ defaultCellMinWidth: this.options.cellMinWidth,
37874
38118
  View: this.options.View,
37875
38119
  lastColumnResizable: this.options.lastColumnResizable
37876
38120
  })
@@ -37911,7 +38155,7 @@ const TableCell = Node$1.create({
37911
38155
  default: null,
37912
38156
  parseHTML: (element) => {
37913
38157
  const colwidth = element.getAttribute("colwidth");
37914
- const value = colwidth ? [parseInt(colwidth, 10)] : null;
38158
+ const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
37915
38159
  return value;
37916
38160
  }
37917
38161
  }
@@ -37948,7 +38192,7 @@ const TableHeader = Node$1.create({
37948
38192
  default: null,
37949
38193
  parseHTML: (element) => {
37950
38194
  const colwidth = element.getAttribute("colwidth");
37951
- const value = colwidth ? [parseInt(colwidth, 10)] : null;
38195
+ const value = colwidth ? colwidth.split(",").map((width) => parseInt(width, 10)) : null;
37952
38196
  return value;
37953
38197
  }
37954
38198
  }
@@ -38265,6 +38509,10 @@ const Bold = Mark.create({
38265
38509
  tag: "b",
38266
38510
  getAttrs: (node) => node.style.fontWeight !== "normal" && null
38267
38511
  },
38512
+ {
38513
+ style: "font-weight=400",
38514
+ clearMark: (mark) => mark.type.name === this.name
38515
+ },
38268
38516
  {
38269
38517
  style: "font-weight",
38270
38518
  getAttrs: (value) => /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null
@@ -38318,73 +38566,8 @@ const Bold = Mark.create({
38318
38566
  ];
38319
38567
  }
38320
38568
  });
38321
- const ListItem$2 = Node$1.create({
38322
- name: "listItem",
38323
- addOptions() {
38324
- return {
38325
- HTMLAttributes: {},
38326
- bulletListTypeName: "bulletList",
38327
- orderedListTypeName: "orderedList"
38328
- };
38329
- },
38330
- content: "paragraph block*",
38331
- defining: true,
38332
- parseHTML() {
38333
- return [
38334
- {
38335
- tag: "li"
38336
- }
38337
- ];
38338
- },
38339
- renderHTML({ HTMLAttributes }) {
38340
- return ["li", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
38341
- },
38342
- addKeyboardShortcuts() {
38343
- return {
38344
- Enter: () => this.editor.commands.splitListItem(this.name),
38345
- Tab: () => this.editor.commands.sinkListItem(this.name),
38346
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
38347
- };
38348
- }
38349
- });
38350
- const TextStyle$1 = Mark.create({
38351
- name: "textStyle",
38352
- priority: 101,
38353
- addOptions() {
38354
- return {
38355
- HTMLAttributes: {}
38356
- };
38357
- },
38358
- parseHTML() {
38359
- return [
38360
- {
38361
- tag: "span",
38362
- getAttrs: (element) => {
38363
- const hasStyles = element.hasAttribute("style");
38364
- if (!hasStyles) {
38365
- return false;
38366
- }
38367
- return {};
38368
- }
38369
- }
38370
- ];
38371
- },
38372
- renderHTML({ HTMLAttributes }) {
38373
- return ["span", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
38374
- },
38375
- addCommands() {
38376
- return {
38377
- removeEmptyTextStyle: () => ({ state: state2, commands: commands2 }) => {
38378
- const attributes = getMarkAttributes(state2, this.type);
38379
- const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
38380
- if (hasStyles) {
38381
- return true;
38382
- }
38383
- return commands2.unsetMark(this.name);
38384
- }
38385
- };
38386
- }
38387
- });
38569
+ const ListItemName$1 = "listItem";
38570
+ const TextStyleName$1 = "textStyle";
38388
38571
  const inputRegex$3 = /^\s*([-+*])\s$/;
38389
38572
  const BulletList = Node$1.create({
38390
38573
  name: "bulletList",
@@ -38412,7 +38595,7 @@ const BulletList = Node$1.create({
38412
38595
  return {
38413
38596
  toggleBulletList: () => ({ commands: commands2, chain }) => {
38414
38597
  if (this.options.keepAttributes) {
38415
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem$2.name, this.editor.getAttributes(TextStyle$1.name)).run();
38598
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName$1, this.editor.getAttributes(TextStyleName$1)).run();
38416
38599
  }
38417
38600
  return commands2.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);
38418
38601
  }
@@ -38435,7 +38618,7 @@ const BulletList = Node$1.create({
38435
38618
  keepMarks: this.options.keepMarks,
38436
38619
  keepAttributes: this.options.keepAttributes,
38437
38620
  getAttributes: () => {
38438
- return this.editor.getAttributes(TextStyle$1.name);
38621
+ return this.editor.getAttributes(TextStyleName$1);
38439
38622
  },
38440
38623
  editor: this.editor
38441
38624
  });
@@ -38445,8 +38628,8 @@ const BulletList = Node$1.create({
38445
38628
  ];
38446
38629
  }
38447
38630
  });
38448
- const inputRegex$2 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/;
38449
- const pasteRegex$1 = /(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g;
38631
+ const inputRegex$2 = new RegExp("(?<!`)`([^`]+)`(?!`)");
38632
+ const pasteRegex$1 = new RegExp("(?<!`)`([^`]+)`(?!`)", "g");
38450
38633
  const Code = Mark.create({
38451
38634
  name: "code",
38452
38635
  addOptions() {
@@ -39073,6 +39256,7 @@ const HardBreak = Node$1.create({
39073
39256
  inline: true,
39074
39257
  group: "inline",
39075
39258
  selectable: false,
39259
+ linebreakReplacement: true,
39076
39260
  parseHTML() {
39077
39261
  return [
39078
39262
  { tag: "br" }
@@ -39834,6 +40018,10 @@ const Italic = Mark.create({
39834
40018
  tag: "i",
39835
40019
  getAttrs: (node) => node.style.fontStyle !== "normal" && null
39836
40020
  },
40021
+ {
40022
+ style: "font-style=normal",
40023
+ clearMark: (mark) => mark.type.name === this.name
40024
+ },
39837
40025
  {
39838
40026
  style: "font-style=italic"
39839
40027
  }
@@ -39886,35 +40074,6 @@ const Italic = Mark.create({
39886
40074
  ];
39887
40075
  }
39888
40076
  });
39889
- const ListItem$1 = Node$1.create({
39890
- name: "listItem",
39891
- addOptions() {
39892
- return {
39893
- HTMLAttributes: {},
39894
- bulletListTypeName: "bulletList",
39895
- orderedListTypeName: "orderedList"
39896
- };
39897
- },
39898
- content: "paragraph block*",
39899
- defining: true,
39900
- parseHTML() {
39901
- return [
39902
- {
39903
- tag: "li"
39904
- }
39905
- ];
39906
- },
39907
- renderHTML({ HTMLAttributes }) {
39908
- return ["li", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
39909
- },
39910
- addKeyboardShortcuts() {
39911
- return {
39912
- Enter: () => this.editor.commands.splitListItem(this.name),
39913
- Tab: () => this.editor.commands.sinkListItem(this.name),
39914
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name)
39915
- };
39916
- }
39917
- });
39918
40077
  const ListItem = Node$1.create({
39919
40078
  name: "listItem",
39920
40079
  addOptions() {
@@ -39944,44 +40103,8 @@ const ListItem = Node$1.create({
39944
40103
  };
39945
40104
  }
39946
40105
  });
39947
- const TextStyle = Mark.create({
39948
- name: "textStyle",
39949
- priority: 101,
39950
- addOptions() {
39951
- return {
39952
- HTMLAttributes: {}
39953
- };
39954
- },
39955
- parseHTML() {
39956
- return [
39957
- {
39958
- tag: "span",
39959
- getAttrs: (element) => {
39960
- const hasStyles = element.hasAttribute("style");
39961
- if (!hasStyles) {
39962
- return false;
39963
- }
39964
- return {};
39965
- }
39966
- }
39967
- ];
39968
- },
39969
- renderHTML({ HTMLAttributes }) {
39970
- return ["span", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0];
39971
- },
39972
- addCommands() {
39973
- return {
39974
- removeEmptyTextStyle: () => ({ state: state2, commands: commands2 }) => {
39975
- const attributes = getMarkAttributes(state2, this.type);
39976
- const hasStyles = Object.entries(attributes).some(([, value]) => !!value);
39977
- if (hasStyles) {
39978
- return true;
39979
- }
39980
- return commands2.unsetMark(this.name);
39981
- }
39982
- };
39983
- }
39984
- });
40106
+ const ListItemName = "listItem";
40107
+ const TextStyleName = "textStyle";
39985
40108
  const inputRegex$1 = /^(\d+)\.\s$/;
39986
40109
  const OrderedList = Node$1.create({
39987
40110
  name: "orderedList",
@@ -40026,7 +40149,7 @@ const OrderedList = Node$1.create({
40026
40149
  return {
40027
40150
  toggleOrderedList: () => ({ commands: commands2, chain }) => {
40028
40151
  if (this.options.keepAttributes) {
40029
- return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItem.name, this.editor.getAttributes(TextStyle.name)).run();
40152
+ return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();
40030
40153
  }
40031
40154
  return commands2.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);
40032
40155
  }
@@ -40050,7 +40173,7 @@ const OrderedList = Node$1.create({
40050
40173
  type: this.type,
40051
40174
  keepMarks: this.options.keepMarks,
40052
40175
  keepAttributes: this.options.keepAttributes,
40053
- getAttributes: (match2) => ({ start: +match2[1], ...this.editor.getAttributes(TextStyle.name) }),
40176
+ getAttributes: (match2) => ({ start: +match2[1], ...this.editor.getAttributes(TextStyleName) }),
40054
40177
  joinPredicate: (match2, node) => node.childCount + node.attrs.start === +match2[1],
40055
40178
  editor: this.editor
40056
40179
  });
@@ -40205,7 +40328,7 @@ const StarterKit = Extension.create({
40205
40328
  extensions.push(Italic.configure((_o = this.options) === null || _o === void 0 ? void 0 : _o.italic));
40206
40329
  }
40207
40330
  if (this.options.listItem !== false) {
40208
- extensions.push(ListItem$1.configure((_p = this.options) === null || _p === void 0 ? void 0 : _p.listItem));
40331
+ extensions.push(ListItem.configure((_p = this.options) === null || _p === void 0 ? void 0 : _p.listItem));
40209
40332
  }
40210
40333
  if (this.options.orderedList !== false) {
40211
40334
  extensions.push(OrderedList.configure((_q = this.options) === null || _q === void 0 ? void 0 : _q.orderedList));
@@ -42880,6 +43003,9 @@ class BubbleMenuView {
42880
43003
  if ((event === null || event === void 0 ? void 0 : event.relatedTarget) && ((_a2 = this.element.parentNode) === null || _a2 === void 0 ? void 0 : _a2.contains(event.relatedTarget))) {
42881
43004
  return;
42882
43005
  }
43006
+ if ((event === null || event === void 0 ? void 0 : event.relatedTarget) === this.editor.view.dom) {
43007
+ return;
43008
+ }
42883
43009
  this.hide();
42884
43010
  };
42885
43011
  this.tippyBlurHandler = (event) => {
@@ -42912,6 +43038,7 @@ class BubbleMenuView {
42912
43038
  const to2 = Math.max(...ranges.map((range2) => range2.$to.pos));
42913
43039
  const shouldShow2 = (_a2 = this.shouldShow) === null || _a2 === void 0 ? void 0 : _a2.call(this, {
42914
43040
  editor: this.editor,
43041
+ element: this.element,
42915
43042
  view: view2,
42916
43043
  state: state2,
42917
43044
  oldState,
@@ -42926,12 +43053,14 @@ class BubbleMenuView {
42926
43053
  getReferenceClientRect: ((_c = this.tippyOptions) === null || _c === void 0 ? void 0 : _c.getReferenceClientRect) || (() => {
42927
43054
  if (isNodeSelection(state2.selection)) {
42928
43055
  let node = view2.nodeDOM(from2);
42929
- const nodeViewWrapper = node.dataset.nodeViewWrapper ? node : node.querySelector("[data-node-view-wrapper]");
42930
- if (nodeViewWrapper) {
42931
- node = nodeViewWrapper.firstChild;
42932
- }
42933
43056
  if (node) {
42934
- return node.getBoundingClientRect();
43057
+ const nodeViewWrapper = node.dataset.nodeViewWrapper ? node : node.querySelector("[data-node-view-wrapper]");
43058
+ if (nodeViewWrapper) {
43059
+ node = nodeViewWrapper.firstChild;
43060
+ }
43061
+ if (node) {
43062
+ return node.getBoundingClientRect();
43063
+ }
42935
43064
  }
42936
43065
  }
42937
43066
  return posToDOMRect(view2, from2, to2);
@@ -43066,6 +43195,9 @@ class FloatingMenuView {
43066
43195
  if ((event === null || event === void 0 ? void 0 : event.relatedTarget) && ((_a2 = this.element.parentNode) === null || _a2 === void 0 ? void 0 : _a2.contains(event.relatedTarget))) {
43067
43196
  return;
43068
43197
  }
43198
+ if ((event === null || event === void 0 ? void 0 : event.relatedTarget) === this.editor.view.dom) {
43199
+ return;
43200
+ }
43069
43201
  this.hide();
43070
43202
  };
43071
43203
  this.tippyBlurHandler = (event) => {
@@ -43326,21 +43458,8 @@ const EditorContent = vue.defineComponent({
43326
43458
  if (!editor) {
43327
43459
  return;
43328
43460
  }
43329
- if (!editor.isDestroyed) {
43330
- editor.view.setProps({
43331
- nodeViews: {}
43332
- });
43333
- }
43334
43461
  editor.contentComponent = null;
43335
43462
  editor.appContext = null;
43336
- if (!editor.options.element.firstChild) {
43337
- return;
43338
- }
43339
- const newElement = document.createElement("div");
43340
- newElement.append(...editor.options.element.childNodes);
43341
- editor.setOptions({
43342
- element: newElement
43343
- });
43344
43463
  });
43345
43464
  return { rootEl: rootEl2 };
43346
43465
  },
@@ -44468,7 +44587,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
44468
44587
  });
44469
44588
  const SelectInput = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-982f5078"]]);
44470
44589
  /*!
44471
- * Signature Pad v5.0.3 | https://github.com/szimek/signature_pad
44590
+ * Signature Pad v5.0.4 | https://github.com/szimek/signature_pad
44472
44591
  * (c) 2024 Szymon Nowak | Released under the MIT license
44473
44592
  */
44474
44593
  class Point {
@@ -44552,7 +44671,7 @@ class SignatureEventTarget {
44552
44671
  constructor() {
44553
44672
  try {
44554
44673
  this._et = new EventTarget();
44555
- } catch (error) {
44674
+ } catch (_a2) {
44556
44675
  this._et = document;
44557
44676
  }
44558
44677
  }
@@ -44666,13 +44785,16 @@ class SignaturePad extends SignatureEventTarget {
44666
44785
  this._strokeEnd(this._touchEventToSignatureEvent(event));
44667
44786
  };
44668
44787
  this._handlePointerDown = (event) => {
44669
- if (!this._isLeftButtonPressed(event) || this._drawingStroke) {
44788
+ if (!event.isPrimary || !this._isLeftButtonPressed(event) || this._drawingStroke) {
44670
44789
  return;
44671
44790
  }
44672
44791
  event.preventDefault();
44673
44792
  this._strokeBegin(this._pointerEventToSignatureEvent(event));
44674
44793
  };
44675
44794
  this._handlePointerMove = (event) => {
44795
+ if (!event.isPrimary) {
44796
+ return;
44797
+ }
44676
44798
  if (!this._isLeftButtonPressed(event, true) || !this._drawingStroke) {
44677
44799
  this._strokeEnd(this._pointerEventToSignatureEvent(event), false);
44678
44800
  return;
@@ -44681,7 +44803,7 @@ class SignaturePad extends SignatureEventTarget {
44681
44803
  this._strokeMoveUpdate(this._pointerEventToSignatureEvent(event));
44682
44804
  };
44683
44805
  this._handlePointerUp = (event) => {
44684
- if (this._isLeftButtonPressed(event)) {
44806
+ if (!event.isPrimary || this._isLeftButtonPressed(event)) {
44685
44807
  return;
44686
44808
  }
44687
44809
  event.preventDefault();
@@ -48459,6 +48581,11 @@ function buildURL(url, params, options) {
48459
48581
  return url;
48460
48582
  }
48461
48583
  const _encode = options && options.encode || encode;
48584
+ if (utils$1.isFunction(options)) {
48585
+ options = {
48586
+ serialize: options
48587
+ };
48588
+ }
48462
48589
  const serializeFn = options && options.serialize;
48463
48590
  let serializedParams;
48464
48591
  if (serializeFn) {
@@ -48645,7 +48772,7 @@ function stringifySafely(rawValue, parser, encoder) {
48645
48772
  }
48646
48773
  }
48647
48774
  }
48648
- return (encoder || JSON.stringify)(rawValue);
48775
+ return (0, JSON.stringify)(rawValue);
48649
48776
  }
48650
48777
  const defaults = {
48651
48778
  transitional: transitionalDefaults,
@@ -49138,45 +49265,13 @@ const progressEventDecorator = (total, throttled) => {
49138
49265
  }), throttled[1]];
49139
49266
  };
49140
49267
  const asyncDecorator = (fn3) => (...args) => utils$1.asap(() => fn3(...args));
49141
- const isURLSameOrigin = platform.hasStandardBrowserEnv ? (
49142
- // Standard browser envs have full support of the APIs needed to test
49143
- // whether the request URL is of the same origin as current location.
49144
- function standardBrowserEnv() {
49145
- const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);
49146
- const urlParsingNode = document.createElement("a");
49147
- let originURL;
49148
- function resolveURL(url) {
49149
- let href = url;
49150
- if (msie) {
49151
- urlParsingNode.setAttribute("href", href);
49152
- href = urlParsingNode.href;
49153
- }
49154
- urlParsingNode.setAttribute("href", href);
49155
- return {
49156
- href: urlParsingNode.href,
49157
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
49158
- host: urlParsingNode.host,
49159
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
49160
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
49161
- hostname: urlParsingNode.hostname,
49162
- port: urlParsingNode.port,
49163
- pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
49164
- };
49165
- }
49166
- originURL = resolveURL(window.location.href);
49167
- return function isURLSameOrigin2(requestURL) {
49168
- const parsed = utils$1.isString(requestURL) ? resolveURL(requestURL) : requestURL;
49169
- return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
49170
- };
49171
- }()
49172
- ) : (
49173
- // Non standard browser envs (web workers, react-native) lack needed support.
49174
- /* @__PURE__ */ function nonStandardBrowserEnv() {
49175
- return function isURLSameOrigin2() {
49176
- return true;
49177
- };
49178
- }()
49179
- );
49268
+ const isURLSameOrigin = platform.hasStandardBrowserEnv ? /* @__PURE__ */ ((origin2, isMSIE) => (url) => {
49269
+ url = new URL(url, platform.origin);
49270
+ return origin2.protocol === url.protocol && origin2.host === url.host && (isMSIE || origin2.port === url.port);
49271
+ })(
49272
+ new URL(platform.origin),
49273
+ platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
49274
+ ) : () => true;
49180
49275
  const cookies = platform.hasStandardBrowserEnv ? (
49181
49276
  // Standard browser envs support document.cookie
49182
49277
  {
@@ -49224,7 +49319,7 @@ const headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing }
49224
49319
  function mergeConfig(config1, config2) {
49225
49320
  config2 = config2 || {};
49226
49321
  const config = {};
49227
- function getMergedValue(target, source, caseless) {
49322
+ function getMergedValue(target, source, prop3, caseless) {
49228
49323
  if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
49229
49324
  return utils$1.merge.call({ caseless }, target, source);
49230
49325
  } else if (utils$1.isPlainObject(source)) {
@@ -49234,11 +49329,11 @@ function mergeConfig(config1, config2) {
49234
49329
  }
49235
49330
  return source;
49236
49331
  }
49237
- function mergeDeepProperties(a2, b2, caseless) {
49332
+ function mergeDeepProperties(a2, b2, prop3, caseless) {
49238
49333
  if (!utils$1.isUndefined(b2)) {
49239
- return getMergedValue(a2, b2, caseless);
49334
+ return getMergedValue(a2, b2, prop3, caseless);
49240
49335
  } else if (!utils$1.isUndefined(a2)) {
49241
- return getMergedValue(void 0, a2, caseless);
49336
+ return getMergedValue(void 0, a2, prop3, caseless);
49242
49337
  }
49243
49338
  }
49244
49339
  function valueFromConfig2(a2, b2) {
@@ -49289,7 +49384,7 @@ function mergeConfig(config1, config2) {
49289
49384
  socketPath: defaultToConfig2,
49290
49385
  responseEncoding: defaultToConfig2,
49291
49386
  validateStatus: mergeDirectKeys,
49292
- headers: (a2, b2) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), true)
49387
+ headers: (a2, b2, prop3) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), prop3, true)
49293
49388
  };
49294
49389
  utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop3) {
49295
49390
  const merge2 = mergeMap[prop3] || mergeDeepProperties;
@@ -49489,7 +49584,7 @@ const composeSignals = (signals, timeout) => {
49489
49584
  };
49490
49585
  const streamChunk = function* (chunk, chunkSize) {
49491
49586
  let len = chunk.byteLength;
49492
- if (!chunkSize || len < chunkSize) {
49587
+ if (len < chunkSize) {
49493
49588
  yield chunk;
49494
49589
  return;
49495
49590
  }
@@ -49819,7 +49914,7 @@ function dispatchRequest(config) {
49819
49914
  return Promise.reject(reason);
49820
49915
  });
49821
49916
  }
49822
- const VERSION = "1.7.7";
49917
+ const VERSION = "1.7.9";
49823
49918
  const validators$1 = {};
49824
49919
  ["object", "boolean", "number", "function", "string", "symbol"].forEach((type3, i2) => {
49825
49920
  validators$1[type3] = function validator2(thing) {
@@ -49850,6 +49945,12 @@ validators$1.transitional = function transitional(validator2, version2, message2
49850
49945
  return validator2 ? validator2(value, opt, opts) : true;
49851
49946
  };
49852
49947
  };
49948
+ validators$1.spelling = function spelling(correctSpelling) {
49949
+ return (value, opt) => {
49950
+ console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
49951
+ return true;
49952
+ };
49953
+ };
49853
49954
  function assertOptions(options, schema, allowUnknown) {
49854
49955
  if (typeof options !== "object") {
49855
49956
  throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
@@ -49898,8 +49999,8 @@ class Axios {
49898
49999
  return await this._request(configOrUrl, config);
49899
50000
  } catch (err) {
49900
50001
  if (err instanceof Error) {
49901
- let dummy;
49902
- Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error();
50002
+ let dummy = {};
50003
+ Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
49903
50004
  const stack2 = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
49904
50005
  try {
49905
50006
  if (!err.stack) {
@@ -49941,6 +50042,10 @@ class Axios {
49941
50042
  }, true);
49942
50043
  }
49943
50044
  }
50045
+ validator.assertOptions(config, {
50046
+ baseUrl: validators.spelling("baseURL"),
50047
+ withXsrfToken: validators.spelling("withXSRFToken")
50048
+ }, true);
49944
50049
  config.method = (config.method || this.defaults.method || "get").toLowerCase();
49945
50050
  let contextHeaders = headers && utils$1.merge(
49946
50051
  headers.common,
@@ -50237,7 +50342,7 @@ axios$1.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new F
50237
50342
  axios$1.getAdapter = adapters.getAdapter;
50238
50343
  axios$1.HttpStatusCode = HttpStatusCode;
50239
50344
  axios$1.default = axios$1;
50240
- 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(?: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, [["(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\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])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[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}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-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", "[24-689]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]]]], "BL": ["590", "00", "590\\d{6}|(?: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))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\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-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[17]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-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-8]\\d|90)\\d{8}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|50|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])|90[25])[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(?:00|2[125-9]|33|44|66|77|88)|622)[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-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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{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[2-9]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{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])", "60\\d{8}|(?:1\\d|[39])\\d{9}", [10, 11], [["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"]], ["(\\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-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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]|31)"], "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", ["(?:1[49]|[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, 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\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{6}|(?:80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[56]|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", "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{6}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]"], "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))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "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", "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}", [6, 7, 8, 9], [["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["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-489]\\d|55)\\d{6}", [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", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,10}|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", ["3"]]], 0, 0, 0, 0, 0, 0, [["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}", [6, 7, 8, 9, 10, 11]], ["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", "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|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|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", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[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", ["[257-9]"], "0$1"]], "0", 0, "(000[259]\\d{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, "33|7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["30[0135-9]"], "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-7]|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", "(?:[245]\\d|33|77|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|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-46-9]|3[3-9]|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(?: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])|(?:4[067]|5[03])\\d)\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\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]|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "590\\d{6}|(?: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))\\d{4}"], ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([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", ["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[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{6}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[569]"], "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", "38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}", [8, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["3"], "0$1"], ["(\\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", "(?:444|(?:55|8\\d)\\d|666)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]]], "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|80\\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[16]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2689]"], "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[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-5]|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, "3[04-689]|[489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "92\\d{7}|(?:[15]|8\\d)\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[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]|77|9[2-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|68|[78]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[267]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-39]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-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{8}", [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", ["[0-57-9]"]]], 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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[013569]|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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[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}|(?:[49]\\d|80)\\d{5}", [6, 7, 8, 9, 10, 11, 12, 13], [["(\\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-79]\\d|88)\\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)\\d{4}|8\\d{5}(?:\\d{3})?", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[478]"]], ["(\\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", "(?: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])\\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|63|[79]\\d)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?: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}|[35-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[35-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "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}"]]] } };
50345
+ 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(?: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, [["(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\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])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[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}", [9]], ["4(?:79[01]|83[0-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-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|[24-689])\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]], ["(\\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-5])\\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-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[17]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-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|50|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(?:00|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-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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{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[2-9]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{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]|91"]], ["(\\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-389]|94[0-4])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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]|31)"], "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, 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\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", "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-5])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "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", "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}", [6, 7, 8, 9], [["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["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-489]\\d|55)\\d{6}", [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", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[06]0)"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,10}|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", ["3"]]], 0, 0, 0, 0, 0, 0, [["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}", [6, 7, 8, 9, 10, 11]], ["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", "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|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|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", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[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", ["[257-9]"], "0$1"]], "0", 0, "(000[259]\\d{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, "33|7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["30[0135-9]"], "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-7]|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", "(?:[245]\\d|33|77|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|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-46-9]|3[3-9]|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(?: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])|(?:4[067]|5[03])\\d)\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\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]|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["6"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "(?:590\\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-5])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([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", "38\\d{6}|[78]\\d{9,13}|(?:20|9\\d)\\d{8}", [8, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["3"], "0$1"], ["(\\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", "(?:444|(?:55|8\\d)\\d|666)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]]], "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[16]|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[013]|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-5]|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, "3[04-689]|[489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "92\\d{7}|(?:[15]|8\\d)\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[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]|77|9[2-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|68|[78]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[267]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(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|[689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-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{8}", [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", ["[0-57-9]"]]], 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)|5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|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[0135-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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|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-389]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[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}|(?:[49]\\d|80)\\d{5}", [6, 7, 8, 9, 10, 11, 12, 13], [["(\\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-79]\\d|88)\\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|63|[79]\\d)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?: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}"]]] } };
50241
50346
  function withMetadataArgument(func, _arguments) {
50242
50347
  var args = Array.prototype.slice.call(_arguments);
50243
50348
  args.push(metadata);
@@ -51850,9 +51955,8 @@ function _arrayLikeToArray$1(arr, len) {
51850
51955
  return arr2;
51851
51956
  }
51852
51957
  function getCountryByNationalNumber(nationalPhoneNumber, _ref) {
51853
- var countries = _ref.countries, defaultCountry = _ref.defaultCountry, metadata2 = _ref.metadata;
51958
+ var countries = _ref.countries, metadata2 = _ref.metadata;
51854
51959
  metadata2 = new Metadata(metadata2);
51855
- var matchingCountries = [];
51856
51960
  for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done; ) {
51857
51961
  var country = _step.value;
51858
51962
  metadata2.country(country);
@@ -51864,19 +51968,9 @@ function getCountryByNationalNumber(nationalPhoneNumber, _ref) {
51864
51968
  phone: nationalPhoneNumber,
51865
51969
  country
51866
51970
  }, void 0, metadata2.metadata)) {
51867
- if (defaultCountry) {
51868
- if (country === defaultCountry) {
51869
- return country;
51870
- }
51871
- matchingCountries.push(country);
51872
- } else {
51873
- return country;
51874
- }
51971
+ return country;
51875
51972
  }
51876
51973
  }
51877
- if (matchingCountries.length > 0) {
51878
- return matchingCountries[0];
51879
- }
51880
51974
  }
51881
51975
  function getCountryByCallingCode(callingCode, _ref) {
51882
51976
  var nationalPhoneNumber = _ref.nationalNumber, defaultCountry = _ref.defaultCountry, metadata2 = _ref.metadata;