@arkyn/server 3.0.1-beta.13 → 3.0.1-beta.131

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 (221) hide show
  1. package/README.md +368 -65
  2. package/dist/bundle.js +3232 -0
  3. package/dist/bundle.umd.cjs +9 -0
  4. package/dist/{api/arkynLogRequest.d.ts → http/api/_logRequest.d.ts} +22 -19
  5. package/dist/{api/arkynLogRequest.d.ts.map → http/api/_logRequest.d.ts.map} +1 -1
  6. package/dist/http/api/_logRequest.js +88 -0
  7. package/dist/http/api/_makeRequest.d.ts +61 -0
  8. package/dist/http/api/_makeRequest.d.ts.map +1 -0
  9. package/dist/{api/makeRequest.js → http/api/_makeRequest.js} +33 -20
  10. package/dist/http/api/deleteRequest.d.ts +17 -0
  11. package/dist/http/api/deleteRequest.d.ts.map +1 -0
  12. package/dist/http/api/deleteRequest.js +18 -0
  13. package/dist/http/api/getRequest.d.ts +16 -0
  14. package/dist/http/api/getRequest.d.ts.map +1 -0
  15. package/dist/http/api/getRequest.js +17 -0
  16. package/dist/http/api/patchRequest.d.ts +17 -0
  17. package/dist/http/api/patchRequest.d.ts.map +1 -0
  18. package/dist/http/api/patchRequest.js +18 -0
  19. package/dist/http/api/postRequest.d.ts +17 -0
  20. package/dist/http/api/postRequest.d.ts.map +1 -0
  21. package/dist/http/api/postRequest.js +18 -0
  22. package/dist/http/api/putRequest.d.ts +17 -0
  23. package/dist/http/api/putRequest.d.ts.map +1 -0
  24. package/dist/http/api/putRequest.js +18 -0
  25. package/dist/http/badResponses/_badResponse.d.ts +25 -0
  26. package/dist/http/badResponses/_badResponse.d.ts.map +1 -0
  27. package/dist/http/badResponses/_badResponse.js +62 -0
  28. package/dist/http/badResponses/badGateway.d.ts +6 -9
  29. package/dist/http/badResponses/badGateway.d.ts.map +1 -1
  30. package/dist/http/badResponses/badGateway.js +12 -14
  31. package/dist/http/badResponses/badRequest.d.ts +6 -9
  32. package/dist/http/badResponses/badRequest.d.ts.map +1 -1
  33. package/dist/http/badResponses/badRequest.js +12 -14
  34. package/dist/http/badResponses/conflict.d.ts +6 -9
  35. package/dist/http/badResponses/conflict.d.ts.map +1 -1
  36. package/dist/http/badResponses/conflict.js +13 -14
  37. package/dist/http/badResponses/forbidden.d.ts +6 -9
  38. package/dist/http/badResponses/forbidden.d.ts.map +1 -1
  39. package/dist/http/badResponses/forbidden.js +12 -14
  40. package/dist/http/badResponses/notFound.d.ts +6 -9
  41. package/dist/http/badResponses/notFound.d.ts.map +1 -1
  42. package/dist/http/badResponses/notFound.js +12 -14
  43. package/dist/http/badResponses/notImplemented.d.ts +6 -9
  44. package/dist/http/badResponses/notImplemented.d.ts.map +1 -1
  45. package/dist/http/badResponses/notImplemented.js +12 -14
  46. package/dist/http/badResponses/serverError.d.ts +6 -9
  47. package/dist/http/badResponses/serverError.d.ts.map +1 -1
  48. package/dist/http/badResponses/serverError.js +12 -14
  49. package/dist/http/badResponses/unauthorized.d.ts +4 -7
  50. package/dist/http/badResponses/unauthorized.d.ts.map +1 -1
  51. package/dist/http/badResponses/unauthorized.js +11 -12
  52. package/dist/http/badResponses/unprocessableEntity.d.ts +15 -19
  53. package/dist/http/badResponses/unprocessableEntity.d.ts.map +1 -1
  54. package/dist/http/badResponses/unprocessableEntity.js +19 -21
  55. package/dist/http/successResponses/_successResponse.d.ts +36 -0
  56. package/dist/http/successResponses/_successResponse.d.ts.map +1 -0
  57. package/dist/http/successResponses/_successResponse.js +75 -0
  58. package/dist/http/successResponses/created.d.ts +9 -19
  59. package/dist/http/successResponses/created.d.ts.map +1 -1
  60. package/dist/http/successResponses/created.js +16 -25
  61. package/dist/http/successResponses/found.d.ts +10 -23
  62. package/dist/http/successResponses/found.d.ts.map +1 -1
  63. package/dist/http/successResponses/found.js +17 -29
  64. package/dist/http/successResponses/noContent.d.ts +6 -13
  65. package/dist/http/successResponses/noContent.d.ts.map +1 -1
  66. package/dist/http/successResponses/noContent.js +12 -17
  67. package/dist/http/successResponses/success.d.ts +9 -19
  68. package/dist/http/successResponses/success.d.ts.map +1 -1
  69. package/dist/http/successResponses/success.js +16 -25
  70. package/dist/http/successResponses/updated.d.ts +9 -19
  71. package/dist/http/successResponses/updated.d.ts.map +1 -1
  72. package/dist/http/successResponses/updated.js +16 -25
  73. package/dist/index.d.ts +19 -10
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +22 -13
  76. package/dist/services/apiService.d.ts +63 -0
  77. package/dist/services/apiService.d.ts.map +1 -0
  78. package/dist/services/apiService.js +158 -0
  79. package/dist/services/debugService.d.ts +69 -0
  80. package/dist/services/debugService.d.ts.map +1 -0
  81. package/dist/services/debugService.js +114 -0
  82. package/dist/services/logMapperService.d.ts +86 -0
  83. package/dist/services/logMapperService.d.ts.map +1 -0
  84. package/dist/services/logMapperService.js +68 -0
  85. package/dist/services/logService.d.ts +38 -0
  86. package/dist/services/logService.d.ts.map +1 -0
  87. package/dist/services/logService.js +40 -0
  88. package/dist/{services → utilities}/decodeRequestBody.d.ts +3 -4
  89. package/dist/utilities/decodeRequestBody.d.ts.map +1 -0
  90. package/dist/{services → utilities}/decodeRequestBody.js +5 -5
  91. package/dist/{services/decodeErrorMessageFromRequest.d.ts → utilities/decodeRequestErrorMessage.d.ts} +6 -6
  92. package/dist/utilities/decodeRequestErrorMessage.d.ts.map +1 -0
  93. package/dist/{services/decodeErrorMessageFromRequest.js → utilities/decodeRequestErrorMessage.js} +5 -5
  94. package/dist/utilities/errorHandler.d.ts +50 -0
  95. package/dist/utilities/errorHandler.d.ts.map +1 -0
  96. package/dist/{services → utilities}/errorHandler.js +34 -28
  97. package/dist/utilities/flushDebugLogs.d.ts +46 -0
  98. package/dist/utilities/flushDebugLogs.d.ts.map +1 -0
  99. package/dist/utilities/flushDebugLogs.js +61 -0
  100. package/dist/utilities/formAsyncParse.d.ts +59 -0
  101. package/dist/utilities/formAsyncParse.d.ts.map +1 -0
  102. package/dist/utilities/formAsyncParse.js +58 -0
  103. package/dist/{services → utilities}/formParse.d.ts +3 -3
  104. package/dist/utilities/formParse.d.ts.map +1 -0
  105. package/dist/{services → utilities}/formParse.js +3 -4
  106. package/dist/{services → utilities}/getScopedParams.d.ts +3 -4
  107. package/dist/utilities/getScopedParams.d.ts.map +1 -0
  108. package/dist/{services → utilities}/getScopedParams.js +4 -4
  109. package/dist/utilities/schemaValidator.d.ts +146 -0
  110. package/dist/utilities/schemaValidator.d.ts.map +1 -0
  111. package/dist/utilities/schemaValidator.js +191 -0
  112. package/dist/validations/validateCep.d.ts +19 -0
  113. package/dist/validations/validateCep.d.ts.map +1 -0
  114. package/dist/validations/validateCep.js +27 -0
  115. package/dist/validations/validateCnpj.d.ts +21 -0
  116. package/dist/validations/validateCnpj.d.ts.map +1 -0
  117. package/dist/validations/validateCnpj.js +59 -0
  118. package/dist/validations/validateCpf.d.ts +23 -0
  119. package/dist/validations/validateCpf.d.ts.map +1 -0
  120. package/dist/validations/validateCpf.js +61 -0
  121. package/dist/validations/validateDate.d.ts +27 -0
  122. package/dist/validations/validateDate.d.ts.map +1 -0
  123. package/dist/validations/validateDate.js +55 -0
  124. package/dist/validations/validateEmail.d.ts +21 -0
  125. package/dist/validations/validateEmail.d.ts.map +1 -0
  126. package/dist/validations/validateEmail.js +111 -0
  127. package/dist/validations/validatePassword.d.ts +20 -0
  128. package/dist/validations/validatePassword.d.ts.map +1 -0
  129. package/dist/validations/validatePassword.js +34 -0
  130. package/dist/validations/validatePhone.d.ts +28 -0
  131. package/dist/validations/validatePhone.d.ts.map +1 -0
  132. package/dist/validations/validatePhone.js +40 -0
  133. package/dist/validations/validateRg.d.ts +21 -0
  134. package/dist/validations/validateRg.d.ts.map +1 -0
  135. package/dist/validations/validateRg.js +31 -0
  136. package/package.json +26 -11
  137. package/dist/api/arkynLogRequest.js +0 -82
  138. package/dist/api/deleteRequest.d.ts +0 -13
  139. package/dist/api/deleteRequest.d.ts.map +0 -1
  140. package/dist/api/deleteRequest.js +0 -14
  141. package/dist/api/getRequest.d.ts +0 -12
  142. package/dist/api/getRequest.d.ts.map +0 -1
  143. package/dist/api/getRequest.js +0 -13
  144. package/dist/api/makeRequest.d.ts +0 -38
  145. package/dist/api/makeRequest.d.ts.map +0 -1
  146. package/dist/api/patchRequest.d.ts +0 -13
  147. package/dist/api/patchRequest.d.ts.map +0 -1
  148. package/dist/api/patchRequest.js +0 -14
  149. package/dist/api/postRequest.d.ts +0 -13
  150. package/dist/api/postRequest.d.ts.map +0 -1
  151. package/dist/api/postRequest.js +0 -14
  152. package/dist/api/putRequest.d.ts +0 -13
  153. package/dist/api/putRequest.d.ts.map +0 -1
  154. package/dist/api/putRequest.js +0 -14
  155. package/dist/config/apiInstance.d.ts +0 -80
  156. package/dist/config/apiInstance.d.ts.map +0 -1
  157. package/dist/config/apiInstance.js +0 -111
  158. package/dist/config/arkynLogInstance.d.ts +0 -44
  159. package/dist/config/arkynLogInstance.d.ts.map +0 -1
  160. package/dist/config/arkynLogInstance.js +0 -49
  161. package/dist/mapper/arkynLogRequestMapper.d.ts +0 -30
  162. package/dist/mapper/arkynLogRequestMapper.d.ts.map +0 -1
  163. package/dist/mapper/arkynLogRequestMapper.js +0 -44
  164. package/dist/services/decodeErrorMessageFromRequest.d.ts.map +0 -1
  165. package/dist/services/decodeRequestBody.d.ts.map +0 -1
  166. package/dist/services/errorHandler.d.ts +0 -44
  167. package/dist/services/errorHandler.d.ts.map +0 -1
  168. package/dist/services/formParse.d.ts.map +0 -1
  169. package/dist/services/getCaller.d.ts +0 -17
  170. package/dist/services/getCaller.d.ts.map +0 -1
  171. package/dist/services/getCaller.js +0 -65
  172. package/dist/services/getScopedParams.d.ts.map +0 -1
  173. package/dist/services/httpDebug.d.ts +0 -35
  174. package/dist/services/httpDebug.d.ts.map +0 -1
  175. package/dist/services/httpDebug.js +0 -52
  176. package/dist/services/measureRouteExecution.d.ts +0 -3
  177. package/dist/services/measureRouteExecution.d.ts.map +0 -1
  178. package/dist/services/measureRouteExecution.js +0 -24
  179. package/dist/services/schemaValidator.d.ts +0 -13
  180. package/dist/services/schemaValidator.d.ts.map +0 -1
  181. package/dist/services/schemaValidator.js +0 -51
  182. package/dist/types/ApiResponseDTO.d.ts +0 -17
  183. package/dist/types/ApiResponseDTO.d.ts.map +0 -1
  184. package/dist/types/ApiResponseDTO.js +0 -1
  185. package/src/api/arkynLogRequest.ts +0 -118
  186. package/src/api/deleteRequest.ts +0 -22
  187. package/src/api/getRequest.ts +0 -20
  188. package/src/api/makeRequest.ts +0 -118
  189. package/src/api/patchRequest.ts +0 -22
  190. package/src/api/postRequest.ts +0 -22
  191. package/src/api/putRequest.ts +0 -22
  192. package/src/config/apiInstance.ts +0 -148
  193. package/src/config/arkynLogInstance.ts +0 -70
  194. package/src/http/badResponses/badGateway.ts +0 -63
  195. package/src/http/badResponses/badRequest.ts +0 -63
  196. package/src/http/badResponses/conflict.ts +0 -63
  197. package/src/http/badResponses/forbidden.ts +0 -63
  198. package/src/http/badResponses/notFound.ts +0 -63
  199. package/src/http/badResponses/notImplemented.ts +0 -63
  200. package/src/http/badResponses/serverError.ts +0 -63
  201. package/src/http/badResponses/unauthorized.ts +0 -63
  202. package/src/http/badResponses/unprocessableEntity.ts +0 -79
  203. package/src/http/successResponses/created.ts +0 -64
  204. package/src/http/successResponses/found.ts +0 -67
  205. package/src/http/successResponses/noContent.ts +0 -42
  206. package/src/http/successResponses/success.ts +0 -64
  207. package/src/http/successResponses/updated.ts +0 -64
  208. package/src/index.ts +0 -31
  209. package/src/mapper/arkynLogRequestMapper.ts +0 -73
  210. package/src/services/decodeErrorMessageFromRequest.ts +0 -36
  211. package/src/services/decodeRequestBody.ts +0 -43
  212. package/src/services/errorHandler.ts +0 -99
  213. package/src/services/formParse.ts +0 -86
  214. package/src/services/getCaller.ts +0 -82
  215. package/src/services/getScopedParams.ts +0 -43
  216. package/src/services/httpDebug.ts +0 -61
  217. package/src/services/measureRouteExecution.ts +0 -31
  218. package/src/services/schemaValidator.ts +0 -66
  219. package/src/types/ApiResponseDTO.ts +0 -19
  220. package/tsconfig.json +0 -21
  221. package/vitest.config.ts +0 -5
package/dist/bundle.js ADDED
@@ -0,0 +1,3232 @@
1
+ var Ge = Object.defineProperty;
2
+ var He = (t, e, d) => e in t ? Ge(t, e, { enumerable: !0, configurable: !0, writable: !0, value: d }) : t[e] = d;
3
+ var c = (t, e, d) => He(t, typeof e != "symbol" ? e + "" : e, d);
4
+ import { formatJsonString as Ve, removeNonNumeric as z, ValidateDateService as Je } from "@arkyn/shared";
5
+ import "zod";
6
+ import We from "node:dns";
7
+ import { countries as Ke } from "@arkyn/templates";
8
+ const Ze = {};
9
+ class Q {
10
+ /**
11
+ * Sets the file name to be ignored during stack trace analysis.
12
+ *
13
+ * This method configures the debug service to skip specific files when
14
+ * determining the actual caller of a function. This is useful when you have
15
+ * adapter or wrapper functions that you want to be transparent in the debug output.
16
+ *
17
+ * @param {string} file - The name of the file to ignore in stack traces (e.g., "httpAdapter.ts")
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Ignore the HTTP adapter file so debug shows the actual business logic caller
22
+ * DebugService.setIgnoreFile("httpAdapter.ts");
23
+ * ```
24
+ */
25
+ static setIgnoreFile(e) {
26
+ this.ignoreFiles.push(e);
27
+ }
28
+ /**
29
+ * Clears all configured ignore files.
30
+ *
31
+ * This method resets the ignore file configuration, allowing all files to be
32
+ * considered in stack trace analysis again.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Clear all ignore file configurations
37
+ * DebugService.clearIgnoreFiles();
38
+ * ```
39
+ */
40
+ static clearIgnoreFiles() {
41
+ this.ignoreFiles = [];
42
+ }
43
+ /**
44
+ * Retrieves information about the caller of the current function.
45
+ *
46
+ * This function analyzes the stack trace to determine the file path and function name
47
+ * of the caller. It excludes stack trace entries related to the `@arkyn/server` package
48
+ * and attempts to resolve the file path relative to the project root directory.
49
+ *
50
+ * @returns An object containing:
51
+ * - `functionName`: The name of the function that called the current function, or "Unknown function" if it cannot be determined.
52
+ * - `callerInfo`: The file path of the caller relative to the project root, or "Unknown caller" if it cannot be determined.
53
+ */
54
+ static getCaller() {
55
+ const e = process.cwd(), n = (new Error().stack || "").split(`
56
+ `).map((u) => u.trim());
57
+ let s = 2;
58
+ for (; s < n.length && (n[s].includes("node:internal") || n[s].includes("/node_modules/")); )
59
+ s++;
60
+ if (this.ignoreFiles.length > 0)
61
+ for (; s < n.length && this.ignoreFiles.some(
62
+ (u) => n[s].includes(u)
63
+ ); )
64
+ s++;
65
+ const $ = n[s] || "";
66
+ let o = "Unknown function", i = "Unknown caller";
67
+ const a = $.match(/at\s+([^(\s]+)\s+\(([^)]+)\)/);
68
+ if (a)
69
+ o = a[1], i = a[2];
70
+ else {
71
+ const u = $.match(/at\s+(.+)/);
72
+ if (u) {
73
+ i = u[1];
74
+ const l = i.match(/at\s+([^(\s]+)\s+/);
75
+ l && l[1] !== "new" && (o = l[1]);
76
+ }
77
+ }
78
+ i.includes("(") && (i = i.substring(
79
+ i.indexOf("(") + 1,
80
+ i.lastIndexOf(")")
81
+ )), i = i.split(":").slice(0, -2).join(":");
82
+ try {
83
+ i = Ze.relative(e, i);
84
+ } catch {
85
+ }
86
+ return { functionName: o, callerInfo: i };
87
+ }
88
+ }
89
+ /**
90
+ * The name of the file to ignore when analyzing the stack trace.
91
+ * When set, the `getCaller` function will skip stack frames containing this file name.
92
+ */
93
+ c(Q, "ignoreFiles", []);
94
+ function F(t) {
95
+ var d;
96
+ if (process.env.NODE_ENV === "development" || ((d = process.env) == null ? void 0 : d.DEBUG_MODE) === "true") {
97
+ const s = `${{
98
+ yellow: "\x1B[33m",
99
+ cyan: "\x1B[36m",
100
+ red: "\x1B[31m",
101
+ green: "\x1B[32m"
102
+ }[t.scheme]}[${t.name}]\x1B[0m`;
103
+ let $ = `
104
+ `;
105
+ t.debugs.forEach((o, i) => {
106
+ $ += `${s} ${o.trim()}`, i < t.debugs.length - 1 && ($ += `
107
+ `);
108
+ }), console.log($);
109
+ }
110
+ }
111
+ class p {
112
+ constructor() {
113
+ c(this, "_cause");
114
+ c(this, "_name", "BadResponse");
115
+ c(this, "_status", 500);
116
+ c(this, "_statusText", "Unknown error");
117
+ c(this, "_debugColor", "red");
118
+ }
119
+ get cause() {
120
+ return this._cause;
121
+ }
122
+ set cause(e) {
123
+ this._cause = e;
124
+ }
125
+ get name() {
126
+ return this._name;
127
+ }
128
+ set name(e) {
129
+ this._name = e;
130
+ }
131
+ get status() {
132
+ return this._status;
133
+ }
134
+ set status(e) {
135
+ this._status = e;
136
+ }
137
+ get statusText() {
138
+ return this._statusText;
139
+ }
140
+ set statusText(e) {
141
+ this._statusText = e;
142
+ }
143
+ get debugColor() {
144
+ return this._debugColor;
145
+ }
146
+ set debugColor(e) {
147
+ ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
148
+ }
149
+ onDebug() {
150
+ const e = [], { callerInfo: d, functionName: r } = Q.getCaller();
151
+ e.push(`Caller Function: ${r}`), e.push(`Caller Location: ${d}`), this._statusText && e.push(`Message: ${this._statusText}`), this._cause && e.push(`Cause: ${Ve(JSON.stringify(this._cause))}`), F({ scheme: "red", name: this._name, debugs: e });
152
+ }
153
+ makeBody() {
154
+ return {
155
+ name: this._name,
156
+ message: this._statusText,
157
+ cause: this._cause
158
+ };
159
+ }
160
+ }
161
+ class qe extends p {
162
+ /**
163
+ * Creates an instance of the `BadGateway` class.
164
+ *
165
+ * @param {string} message - A descriptive message explaining the cause of the error.
166
+ * @param {any} cause - Optional additional information about the cause of the error.
167
+ */
168
+ constructor(e, d) {
169
+ super(), this.name = "BadGateway", this.status = 502, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
170
+ }
171
+ /**
172
+ * Converts the `BadGateway` instance into a `Response` object with a JSON body.
173
+ * This method ensures the response has the appropriate headers, status, and status text.
174
+ *
175
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
176
+ */
177
+ toResponse() {
178
+ const e = {
179
+ headers: { "Content-Type": "application/json" },
180
+ status: this.status,
181
+ statusText: this.statusText
182
+ };
183
+ return new Response(JSON.stringify(this.makeBody()), e);
184
+ }
185
+ /**
186
+ * Converts the `BadGateway` instance into a `Response` object using the `Response.json` method.
187
+ * This method is an alternative to `toResponse` for generating JSON error responses.
188
+ *
189
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
190
+ */
191
+ toJson() {
192
+ const e = {
193
+ status: this.status,
194
+ statusText: this.statusText
195
+ };
196
+ return Response.json(this.makeBody(), e);
197
+ }
198
+ }
199
+ class V extends p {
200
+ /**
201
+ * Creates an instance of the `BadRequest` class.
202
+ *
203
+ * @param {string} message - A descriptive message explaining the cause of the error.
204
+ * @param {any} cause - Optional additional information about the cause of the error.
205
+ */
206
+ constructor(e, d) {
207
+ super(), this.name = "BadRequest", this.status = 400, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
208
+ }
209
+ /**
210
+ * Converts the `BadRequest` instance into a `Response` object with a JSON body.
211
+ * This method ensures the response has the appropriate headers, status, and status text.
212
+ *
213
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
214
+ */
215
+ toResponse() {
216
+ const e = {
217
+ headers: { "Content-Type": "application/json" },
218
+ status: this.status,
219
+ statusText: this.statusText
220
+ };
221
+ return new Response(JSON.stringify(this.makeBody()), e);
222
+ }
223
+ /**
224
+ * Converts the `BadRequest` instance into a `Response` object using the `Response.json` method.
225
+ * This method is an alternative to `toResponse` for generating JSON error responses.
226
+ *
227
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
228
+ */
229
+ toJson() {
230
+ const e = {
231
+ status: this.status,
232
+ statusText: this.statusText
233
+ };
234
+ return Response.json(this.makeBody(), e);
235
+ }
236
+ }
237
+ class Xe extends p {
238
+ /**
239
+ * Creates an instance of the `Conflict` class.
240
+ *
241
+ * @param {string} message - A descriptive message explaining the cause of the conflict.
242
+ * @param {any} cause - Optional additional information about the cause of the conflict.
243
+ */
244
+ constructor(e, d) {
245
+ super(), this.name = "Conflict", this.status = 409, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
246
+ }
247
+ /**
248
+ * Converts the `Conflict` instance into a `Response` object with a JSON body.
249
+ * This method ensures the response has the appropriate headers, status, and status text.
250
+ *
251
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
252
+ */
253
+ toResponse() {
254
+ const e = {
255
+ headers: { "Content-Type": "application/json" },
256
+ status: this.status,
257
+ statusText: this.statusText
258
+ };
259
+ return new Response(JSON.stringify(this.makeBody()), e);
260
+ }
261
+ /**
262
+ * Converts the `Conflict` instance into a `Response` object using the `Response.json` method.
263
+ * This method is an alternative to `toResponse` for generating JSON error responses.
264
+ *
265
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
266
+ */
267
+ toJson() {
268
+ const e = {
269
+ status: this.status,
270
+ statusText: this.statusText
271
+ };
272
+ return Response.json(this.makeBody(), e);
273
+ }
274
+ }
275
+ class Ye extends p {
276
+ /**
277
+ * Creates an instance of the `Forbidden` class.
278
+ *
279
+ * @param {string} message - A descriptive message explaining why access is forbidden.
280
+ * @param {any} cause - Optional additional information about the cause of the error.
281
+ */
282
+ constructor(e, d) {
283
+ super(), this.name = "Forbidden", this.status = 403, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
284
+ }
285
+ /**
286
+ * Converts the `Forbidden` instance into a `Response` object with a JSON body.
287
+ * This method ensures the response has the appropriate headers, status, and status text.
288
+ *
289
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
290
+ */
291
+ toResponse() {
292
+ const e = {
293
+ headers: { "Content-Type": "application/json" },
294
+ status: this.status,
295
+ statusText: this.statusText
296
+ };
297
+ return new Response(JSON.stringify(this.makeBody()), e);
298
+ }
299
+ /**
300
+ * Converts the `Forbidden` instance into a `Response` object using the `Response.json` method.
301
+ * This method is an alternative to `toResponse` for generating JSON error responses.
302
+ *
303
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
304
+ */
305
+ toJson() {
306
+ const e = {
307
+ status: this.status,
308
+ statusText: this.statusText
309
+ };
310
+ return Response.json(this.makeBody(), e);
311
+ }
312
+ }
313
+ class ze extends p {
314
+ /**
315
+ * Creates an instance of the `NotFound` class.
316
+ *
317
+ * @param {string} message - A descriptive message explaining the reason the resource was not found.
318
+ * @param {any} cause - Optional additional information about the cause of the error.
319
+ */
320
+ constructor(e, d) {
321
+ super(), this.name = "NotFound", this.status = 404, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
322
+ }
323
+ /**
324
+ * Converts the `NotFound` instance into a `Response` object with a JSON body.
325
+ * This method ensures the response has the appropriate headers, status, and status text.
326
+ *
327
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
328
+ */
329
+ toResponse() {
330
+ const e = {
331
+ headers: { "Content-Type": "application/json" },
332
+ status: this.status,
333
+ statusText: this.statusText
334
+ };
335
+ return new Response(JSON.stringify(this.makeBody()), e);
336
+ }
337
+ /**
338
+ * Converts the `NotFound` instance into a `Response` object using the `Response.json` method.
339
+ * This method is an alternative to `toResponse` for generating JSON error responses.
340
+ *
341
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
342
+ */
343
+ toJson() {
344
+ const e = {
345
+ status: this.status,
346
+ statusText: this.statusText
347
+ };
348
+ return Response.json(this.makeBody(), e);
349
+ }
350
+ }
351
+ class Qe extends p {
352
+ /**
353
+ * Creates an instance of the `NotImplemented` class.
354
+ *
355
+ * @param {string} message - A descriptive message explaining why the functionality is not implemented.
356
+ * @param {any} cause - Optional additional information about the cause of the error.
357
+ */
358
+ constructor(e, d) {
359
+ super(), this.name = "NotImplemented", this.status = 501, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
360
+ }
361
+ /**
362
+ * Converts the `NotImplemented` instance into a `Response` object with a JSON body.
363
+ * This method ensures the response has the appropriate headers, status, and status text.
364
+ *
365
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
366
+ */
367
+ toResponse() {
368
+ const e = {
369
+ headers: { "Content-Type": "application/json" },
370
+ status: this.status,
371
+ statusText: this.statusText
372
+ };
373
+ return new Response(JSON.stringify(this.makeBody()), e);
374
+ }
375
+ /**
376
+ * Converts the `NotImplemented` instance into a `Response` object using the `Response.json` method.
377
+ * This method is an alternative to `toResponse` for generating JSON error responses.
378
+ *
379
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
380
+ */
381
+ toJson() {
382
+ const e = {
383
+ status: this.status,
384
+ statusText: this.statusText
385
+ };
386
+ return Response.json(this.makeBody(), e);
387
+ }
388
+ }
389
+ class J extends p {
390
+ /**
391
+ * Creates an instance of the `ServerError` class.
392
+ *
393
+ * @param {string} message - A descriptive message explaining the cause of the server error.
394
+ * @param {any} cause - Optional additional information about the cause of the error.
395
+ */
396
+ constructor(e, d) {
397
+ super(), this.name = "ServerError", this.status = 500, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
398
+ }
399
+ /**
400
+ * Converts the `ServerError` instance into a `Response` object with a JSON body.
401
+ * This method ensures the response has the appropriate headers, status, and status text.
402
+ *
403
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
404
+ */
405
+ toResponse() {
406
+ const e = {
407
+ headers: { "Content-Type": "application/json" },
408
+ status: this.status,
409
+ statusText: this.statusText
410
+ };
411
+ return new Response(JSON.stringify(this.makeBody()), e);
412
+ }
413
+ /**
414
+ * Converts the `ServerError` instance into a `Response` object using the `Response.json` method.
415
+ * This method is an alternative to `toResponse` for generating JSON error responses.
416
+ *
417
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
418
+ */
419
+ toJson() {
420
+ const e = {
421
+ status: this.status,
422
+ statusText: this.statusText
423
+ };
424
+ return Response.json(this.makeBody(), e);
425
+ }
426
+ }
427
+ class et extends p {
428
+ /**
429
+ * Creates an instance of the `Unauthorized` class.
430
+ *
431
+ * @param message - A descriptive message explaining why the request is unauthorized.
432
+ * @param cause - Optional additional information about the cause of the error.
433
+ */
434
+ constructor(e, d) {
435
+ super(), this.name = "Unauthorized", this.status = 401, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
436
+ }
437
+ /**
438
+ * Converts the `Unauthorized` instance into a `Response` object with a JSON body.
439
+ * This method ensures the response has the appropriate headers, status, and status text.
440
+ *
441
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
442
+ */
443
+ toResponse() {
444
+ const e = {
445
+ headers: { "Content-Type": "application/json" },
446
+ status: this.status,
447
+ statusText: this.statusText
448
+ };
449
+ return new Response(JSON.stringify(this.makeBody()), e);
450
+ }
451
+ /**
452
+ * Converts the `Unauthorized` instance into a `Response` object using the `Response.json` method.
453
+ * This method is an alternative to `toResponse` for generating JSON error responses.
454
+ *
455
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
456
+ */
457
+ toJson() {
458
+ const e = {
459
+ status: this.status,
460
+ statusText: this.statusText
461
+ };
462
+ return Response.json(this.makeBody(), e);
463
+ }
464
+ }
465
+ class W extends p {
466
+ /**
467
+ * Creates an instance of the `UnprocessableEntity` class.
468
+ *
469
+ * @param {object} props - An object containing details about the error, such as:
470
+ * @param {any} [props.data] - `data`: Additional data related to the error.
471
+ * @param {Record<string, string>} [props.fieldErrors] - `fieldErrors`: A record of field-specific error messages.
472
+ * @param {Record<string, string>} [props.fields] - `fields`: A record of field values that caused the error.
473
+ * @param {string} [props.message] - `message`: A descriptive message explaining the error.
474
+ */
475
+ constructor(e) {
476
+ super(), this.name = "UnprocessableEntity", this.status = 422, this.statusText = e.message || "Unprocessable entity", this.debugColor = "yellow", this.cause = {
477
+ data: e.data,
478
+ fieldErrors: e.fieldErrors,
479
+ fields: e.fields
480
+ }, this.onDebug();
481
+ }
482
+ /**
483
+ * Converts the `UnprocessableEntity` instance into a `Response` object with a JSON body.
484
+ * This method ensures the response has the appropriate headers, status, and status text.
485
+ *
486
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
487
+ */
488
+ toResponse() {
489
+ const e = {
490
+ headers: { "Content-Type": "application/json" },
491
+ status: this.status,
492
+ statusText: this.statusText
493
+ };
494
+ return new Response(JSON.stringify(this.makeBody()), e);
495
+ }
496
+ /**
497
+ * Converts the `UnprocessableEntity` instance into a `Response` object using the `Response.json` method.
498
+ * This method is an alternative to `toResponse` for generating JSON error responses.
499
+ *
500
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
501
+ */
502
+ toJson() {
503
+ const e = {
504
+ status: this.status,
505
+ statusText: this.statusText
506
+ };
507
+ return Response.json(this.makeBody(), e);
508
+ }
509
+ }
510
+ class w {
511
+ constructor() {
512
+ c(this, "_body", null);
513
+ c(this, "_name", "SuccessResponse");
514
+ c(this, "_status", 200);
515
+ c(this, "_statusText", "OK");
516
+ c(this, "_debugColor", "green");
517
+ }
518
+ get body() {
519
+ return this._body;
520
+ }
521
+ set body(e) {
522
+ this._body = e ?? null;
523
+ }
524
+ get name() {
525
+ return this._name;
526
+ }
527
+ set name(e) {
528
+ this._name = e;
529
+ }
530
+ get status() {
531
+ return this._status;
532
+ }
533
+ set status(e) {
534
+ this._status = e;
535
+ }
536
+ get statusText() {
537
+ return this._statusText;
538
+ }
539
+ set statusText(e) {
540
+ this._statusText = e;
541
+ }
542
+ get debugColor() {
543
+ return this._debugColor;
544
+ }
545
+ set debugColor(e) {
546
+ ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
547
+ }
548
+ /**
549
+ * Logs debug information for success responses including caller context and response details.
550
+ *
551
+ * @param {any} body - The response body or success data to be logged
552
+ *
553
+ * @example
554
+ * ```typescript
555
+ * const SuccessResponse = new SuccessResponse();
556
+ * SuccessResponse.onDebug({ data: "Operation completed successfully" });
557
+ * ```
558
+ */
559
+ onDebug(e) {
560
+ const d = [], { callerInfo: r, functionName: n } = Q.getCaller();
561
+ d.push(`Caller Function: ${n}`), d.push(`Caller Location: ${r}`), this.statusText && d.push(`Message: ${this.statusText}`), e && d.push(`Body: ${JSON.stringify(e)}`), F({ scheme: this._debugColor, name: this.name, debugs: d });
562
+ }
563
+ makeBody() {
564
+ return {
565
+ name: this.name,
566
+ message: this.statusText,
567
+ body: this.body
568
+ };
569
+ }
570
+ }
571
+ class tt extends w {
572
+ /**
573
+ * Creates an instance of the `Created` class.
574
+ *
575
+ * @param {string} message - A message describing the creation status.
576
+ * @param {any} body - The response body to be included in the HTTP response.
577
+ */
578
+ constructor(e, d) {
579
+ super(), this.name = "Created", this.status = 201, this.statusText = e, this.body = d || void 0, this.onDebug();
580
+ }
581
+ /**
582
+ * Converts the `Created` instance into a `Response` object.
583
+ * @returns {Response} A `Response` object with the body and response metadata.
584
+ */
585
+ toResponse() {
586
+ const e = {
587
+ headers: { "Content-Type": "application/json" },
588
+ status: this.status,
589
+ statusText: this.statusText
590
+ };
591
+ return new Response(JSON.stringify(this.body), e);
592
+ }
593
+ /**
594
+ * Converts the `Created` instance into a `Response` object using the `Response.json` method.
595
+ * This method is an alternative to `toResponse` for generating JSON responses.
596
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
597
+ */
598
+ toJson() {
599
+ const e = {
600
+ status: this.status,
601
+ statusText: this.statusText
602
+ };
603
+ return Response.json(this.body, e);
604
+ }
605
+ }
606
+ class dt extends w {
607
+ /**
608
+ * Creates an instance of the `Found` class.
609
+ *
610
+ * @param {string} message - A message describing the creation status.
611
+ * @param {any} body - The response body to be included in the HTTP response.
612
+ */
613
+ constructor(e, d) {
614
+ super(), this.name = "Found", this.status = 302, this.statusText = e, this.body = d || void 0, this.onDebug();
615
+ }
616
+ /**
617
+ * Converts the `Found` instance into a `Response` object.
618
+ * @returns {Response} A `Response` object with the body and response metadata.
619
+ */
620
+ toResponse() {
621
+ const e = {
622
+ headers: { "Content-Type": "application/json" },
623
+ status: this.status,
624
+ statusText: this.statusText
625
+ };
626
+ return new Response(JSON.stringify(this.body), e);
627
+ }
628
+ /**
629
+ * Converts the `Found` instance into a `Response` object using the `Response.json` method.
630
+ * This method is an alternative to `toResponse` for generating JSON responses.
631
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
632
+ */
633
+ toJson() {
634
+ const e = {
635
+ status: this.status,
636
+ statusText: this.statusText
637
+ };
638
+ return Response.json(this.body, e);
639
+ }
640
+ }
641
+ class rt extends w {
642
+ /**
643
+ * Creates an instance of the `NoContent` class.
644
+ * @param {string} message - A message describing the creation status.
645
+ */
646
+ constructor(e) {
647
+ super(), this.name = "NoContent", this.status = 204, this.statusText = e, this.onDebug();
648
+ }
649
+ /**
650
+ * Converts the `NoContent` instance into a `Response` object.
651
+ * @returns {Response} A `Response` object with the body and response metadata.
652
+ */
653
+ toResponse() {
654
+ const e = {
655
+ headers: { "Content-Type": "application/json" },
656
+ status: this.status,
657
+ statusText: this.statusText
658
+ };
659
+ return new Response(null, e);
660
+ }
661
+ }
662
+ class nt extends w {
663
+ /**
664
+ * Creates an instance of the `Success` class.
665
+ *
666
+ * @param {string} message - A message describing the creation status.
667
+ * @param {any} body - The response body to be included in the HTTP response.
668
+ */
669
+ constructor(e, d) {
670
+ super(), this.name = "Success", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
671
+ }
672
+ /**
673
+ * Converts the `Success` instance into a `Response` object.
674
+ * @returns {Response} A `Response` object with the body and response metadata.
675
+ */
676
+ toResponse() {
677
+ const e = {
678
+ headers: { "Content-Type": "application/json" },
679
+ status: this.status,
680
+ statusText: this.statusText
681
+ };
682
+ return new Response(JSON.stringify(this.body), e);
683
+ }
684
+ /**
685
+ * Converts the `Success` instance into a `Response` object using the `Response.json` method.
686
+ * This method is an alternative to `toResponse` for generating JSON responses.
687
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
688
+ */
689
+ toJson() {
690
+ const e = {
691
+ status: this.status,
692
+ statusText: this.statusText
693
+ };
694
+ return Response.json(this.body, e);
695
+ }
696
+ }
697
+ class st extends w {
698
+ /**
699
+ * Creates an instance of the `Updated` class.
700
+ *
701
+ * @param {string} message - A message describing the creation status.
702
+ * @param {any} body - The response body to be included in the HTTP response.
703
+ */
704
+ constructor(e, d) {
705
+ super(), this.name = "Updated", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
706
+ }
707
+ /**
708
+ * Converts the `Updated` instance into a `Response` object.
709
+ * @returns {Response} A `Response` object with the body and response metadata.
710
+ */
711
+ toResponse() {
712
+ const e = {
713
+ headers: { "Content-Type": "application/json" },
714
+ status: this.status,
715
+ statusText: this.statusText
716
+ };
717
+ return new Response(JSON.stringify(this.body), e);
718
+ }
719
+ /**
720
+ * Converts the `Updated` instance into a `Response` object using the `Response.json` method.
721
+ * This method is an alternative to `toResponse` for generating JSON responses.
722
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
723
+ */
724
+ toJson() {
725
+ const e = {
726
+ status: this.status,
727
+ statusText: this.statusText
728
+ };
729
+ return Response.json(this.body, e);
730
+ }
731
+ }
732
+ class $t {
733
+ /**
734
+ * Converts various header formats into a plain key-value object.
735
+ *
736
+ * @param {HeadersInit} headers - The headers to map.
737
+ * @returns {Record<string, string>} A plain object with header key-value pairs.
738
+ * @private
739
+ */
740
+ static mapHeaders(e) {
741
+ return e instanceof Headers ? Object.fromEntries(e.entries()) : typeof e == "object" ? Object.entries(e).reduce(
742
+ (d, [r, n]) => (typeof n == "string" ? d[r] = n : Array.isArray(n) ? d[r] = n.join(", ") : d[r] = JSON.stringify(n), d),
743
+ {}
744
+ ) : {};
745
+ }
746
+ /**
747
+ * Converts URLSearchParams into a plain key-value object.
748
+ *
749
+ * @param {URLSearchParams} queryParams - The query parameters to map.
750
+ * @returns {Record<string, string>} A plain object with query parameter key-value pairs.
751
+ * @private
752
+ */
753
+ static mapQueryParams(e) {
754
+ const d = {};
755
+ return e.forEach((r, n) => d[n] = r), d;
756
+ }
757
+ /**
758
+ * Transforms raw HTTP request/response data into a standardized log output format.
759
+ *
760
+ * @param {InputProps} props - The input properties containing request/response data.
761
+ * @returns {OutputProps} The mapped output object ready for logging.
762
+ */
763
+ static handle(e) {
764
+ return {
765
+ rawUrl: e.rawUrl,
766
+ status: e.status,
767
+ method: e.method,
768
+ token: null,
769
+ elapsedTime: e.elapsedTime,
770
+ requestHeaders: this.mapHeaders(e.requestHeaders),
771
+ requestBody: e.requestBody || null,
772
+ queryParams: {
773
+ ...this.mapQueryParams(e.queryParams),
774
+ ...e.urlParams
775
+ },
776
+ responseHeaders: this.mapHeaders(e.responseHeaders),
777
+ responseBody: e.responseBody || null
778
+ };
779
+ }
780
+ }
781
+ class Re {
782
+ /**
783
+ * Sets the log service configuration only once.
784
+ * If the configuration is already set, the call is ignored.
785
+ *
786
+ * @param {object} config - Service configuration parameters.
787
+ * @param {string} config.trafficSourceId - Traffic source identifier.
788
+ * @param {string} config.userToken - User token for authentication.
789
+ * @param {string} [config.logBaseApiUrl] - Optional base URL for the log service.
790
+ */
791
+ static setConfig(e) {
792
+ if (this.config) return;
793
+ const { trafficSourceId: d, userToken: r, logBaseApiUrl: n } = e, $ = `${n || "http://95.216.190.158:8081"}/ingest-log`;
794
+ this.config = { trafficSourceId: d, userToken: r, apiUrl: $ };
795
+ }
796
+ /**
797
+ * Returns the current service configuration, if it exists.
798
+ * @returns {{ trafficSourceId: string; userToken: string; apiUrl: string } | undefined} The stored configuration or `undefined` if not set.
799
+ */
800
+ static getConfig() {
801
+ return this.config;
802
+ }
803
+ /**
804
+ * Resets the stored configuration, allowing a new initialization.
805
+ */
806
+ static resetConfig() {
807
+ this.config = void 0;
808
+ }
809
+ }
810
+ c(Re, "config");
811
+ async function it(t) {
812
+ const e = Re.getConfig();
813
+ if (!e) return;
814
+ const { userToken: d, apiUrl: r, trafficSourceId: n } = e, {
815
+ elapsedTime: s,
816
+ method: $,
817
+ queryParams: o,
818
+ requestBody: i,
819
+ requestHeaders: a,
820
+ responseBody: u,
821
+ responseHeaders: l,
822
+ status: h,
823
+ token: b,
824
+ rawUrl: P
825
+ } = t;
826
+ if (process.env.NODE_ENV !== "development")
827
+ try {
828
+ const v = new URL(P);
829
+ let D = "https";
830
+ v.protocol === "http:" && (D = "http");
831
+ const k = JSON.stringify({
832
+ domainUrl: v.protocol + "//" + v.host,
833
+ pathnameUrl: v.pathname,
834
+ trafficSourceId: n,
835
+ status: h,
836
+ protocol: D,
837
+ method: $.toLowerCase(),
838
+ trafficUserId: null,
839
+ elapsedTime: s,
840
+ requestHeaders: JSON.stringify(a),
841
+ requestBody: JSON.stringify(i),
842
+ queryParams: JSON.stringify(o),
843
+ responseHeaders: JSON.stringify(l),
844
+ responseBody: JSON.stringify(u)
845
+ }), U = {
846
+ "Content-Type": "application/json",
847
+ Authorization: `Bearer ${d}`
848
+ };
849
+ await fetch(r, { method: "POST", body: k, headers: U });
850
+ } catch (v) {
851
+ F({
852
+ debugs: [`Error sending request: ${v}`],
853
+ name: "LogError",
854
+ scheme: "red"
855
+ });
856
+ }
857
+ }
858
+ async function A(t) {
859
+ let e = t.url;
860
+ t.urlParams && Object.entries(t.urlParams).forEach(([r, n]) => {
861
+ e = e.replaceAll(`:${r}`, n);
862
+ });
863
+ const d = {
864
+ POST: "Resource created successfully",
865
+ PUT: "Resource updated successfully",
866
+ DELETE: "Resource deleted successfully",
867
+ PATCH: "Resource patched successfully",
868
+ GET: "Request successful"
869
+ };
870
+ try {
871
+ const r = performance.now(), n = { ...t.headers, "Content-Type": "application/json" }, s = await fetch(e, {
872
+ headers: n,
873
+ method: t.method,
874
+ body: t.body ? JSON.stringify(t.body) : void 0
875
+ }), $ = performance.now() - r, o = s.status;
876
+ let i = null;
877
+ try {
878
+ i = await s.json();
879
+ } catch {
880
+ i = null;
881
+ }
882
+ const a = $t.handle({
883
+ elapsedTime: $,
884
+ method: t.method,
885
+ queryParams: new URL(e).searchParams,
886
+ requestHeaders: n,
887
+ requestBody: t.body,
888
+ responseBody: i,
889
+ responseHeaders: s.headers,
890
+ status: o,
891
+ rawUrl: t.url,
892
+ urlParams: t.urlParams
893
+ });
894
+ return it(a), s.ok ? {
895
+ success: !0,
896
+ status: o,
897
+ message: (i == null ? void 0 : i.message) || d[t.method],
898
+ response: i,
899
+ cause: null
900
+ } : {
901
+ success: !1,
902
+ status: o,
903
+ message: (i == null ? void 0 : i.message) || s.statusText || "Request failed",
904
+ response: i,
905
+ cause: null
906
+ };
907
+ } catch (r) {
908
+ return F({
909
+ debugs: [`Network error or request failed: ${r}`],
910
+ name: "MakeRequestError",
911
+ scheme: "red"
912
+ }), {
913
+ success: !1,
914
+ status: 0,
915
+ message: "Network error or request failed",
916
+ response: null,
917
+ cause: r instanceof Error ? r.message : String(r)
918
+ };
919
+ }
920
+ }
921
+ async function ot(t) {
922
+ return A({
923
+ method: "DELETE",
924
+ url: t.url,
925
+ urlParams: t.urlParams,
926
+ headers: t.headers,
927
+ body: t.body
928
+ });
929
+ }
930
+ async function at(t) {
931
+ return A({
932
+ method: "GET",
933
+ url: t.url,
934
+ urlParams: t.urlParams,
935
+ headers: t.headers
936
+ });
937
+ }
938
+ async function ut(t) {
939
+ return A({
940
+ method: "PATCH",
941
+ url: t.url,
942
+ urlParams: t.urlParams,
943
+ headers: t.headers,
944
+ body: t.body
945
+ });
946
+ }
947
+ async function lt(t) {
948
+ return A({
949
+ method: "POST",
950
+ url: t.url,
951
+ urlParams: t.urlParams,
952
+ headers: t.headers,
953
+ body: t.body
954
+ });
955
+ }
956
+ async function ct(t) {
957
+ return A({
958
+ method: "PUT",
959
+ url: t.url,
960
+ urlParams: t.urlParams,
961
+ headers: t.headers,
962
+ body: t.body
963
+ });
964
+ }
965
+ class Yd {
966
+ constructor(e) {
967
+ c(this, "baseUrl");
968
+ c(this, "baseHeaders");
969
+ c(this, "baseToken");
970
+ c(this, "enableDebug");
971
+ this.baseUrl = e.baseUrl, this.baseHeaders = e.baseHeaders || void 0, this.baseToken = e.baseToken || void 0, this.enableDebug = e.enableDebug || !1;
972
+ }
973
+ onDebug(e, d, r) {
974
+ if (this.enableDebug) {
975
+ const n = [], s = ($) => JSON.stringify($, null, 2);
976
+ n.push(`Base URL: ${this.baseUrl}`), n.push(`Endpoint: ${e}`), n.push(`Status/Method: ${d} => ${r.status}`), n.push(`Message: ${r.message}`), r.headers && n.push(`Headers: ${s(r.headers)}`), r.body && n.push(`Body: ${s(r.body)}`), F({ debugs: n, name: "ApiDebug", scheme: "yellow" });
977
+ }
978
+ }
979
+ generateHeaders(e, d) {
980
+ let r = {};
981
+ return this.baseToken && (r = { Authorization: `Bearer ${this.baseToken}` }), this.baseHeaders && (r = { ...r, ...this.baseHeaders }), e && (r = { ...r, ...e }), d && (r = { ...r, Authorization: `Bearer ${d}` }), r;
982
+ }
983
+ /**
984
+ * Sends a get request to the specified endpoint.
985
+ * @param endpoint - The API endpoint to send the get request to.
986
+ * @param data - The request data, including optional headers and token.
987
+ * @returns The API response data.
988
+ */
989
+ async get(e, d) {
990
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = await at({
991
+ url: this.baseUrl + e,
992
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
993
+ headers: r
994
+ });
995
+ return this.onDebug(e, "get", {
996
+ headers: r,
997
+ message: n.message,
998
+ status: n.status
999
+ }), n;
1000
+ }
1001
+ /**
1002
+ * Sends a post request to the specified endpoint.
1003
+ * @param endpoint - The API endpoint to send the post request to.
1004
+ * @param data - The request data, including body, optional headers, and token.
1005
+ * @returns The API response data.
1006
+ */
1007
+ async post(e, d) {
1008
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await lt({
1009
+ url: this.baseUrl + e,
1010
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1011
+ headers: r,
1012
+ body: n
1013
+ });
1014
+ return this.onDebug(e, "post", {
1015
+ headers: r,
1016
+ body: n,
1017
+ message: s.message,
1018
+ status: s.status
1019
+ }), s;
1020
+ }
1021
+ /**
1022
+ * Sends a put request to the specified endpoint.
1023
+ * @param endpoint - The API endpoint to send the put request to.
1024
+ * @param data - The request data, including body, optional headers, and token.
1025
+ * @returns The API response data.
1026
+ */
1027
+ async put(e, d) {
1028
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await ct({
1029
+ url: this.baseUrl + e,
1030
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1031
+ headers: r,
1032
+ body: n
1033
+ });
1034
+ return this.onDebug(e, "put", {
1035
+ headers: r,
1036
+ body: n,
1037
+ message: s.message,
1038
+ status: s.status
1039
+ }), s;
1040
+ }
1041
+ /**
1042
+ * Sends a patch request to the specified endpoint.
1043
+ * @param endpoint - The API endpoint to send the patch request to.
1044
+ * @param data - The request data, including body, optional headers, and token.
1045
+ * @returns The API response data.
1046
+ */
1047
+ async patch(e, d) {
1048
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await ut({
1049
+ url: this.baseUrl + e,
1050
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1051
+ headers: r,
1052
+ body: n
1053
+ });
1054
+ return this.onDebug(e, "patch", {
1055
+ headers: r,
1056
+ body: n,
1057
+ message: s.message,
1058
+ status: s.status
1059
+ }), s;
1060
+ }
1061
+ /**
1062
+ * Sends a delete request to the specified endpoint.
1063
+ * @param endpoint - The API endpoint to send the delete request to.
1064
+ * @param data - The request data, including body, optional headers, and token.
1065
+ * @returns The API response data.
1066
+ */
1067
+ async delete(e, d) {
1068
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await ot({
1069
+ url: this.baseUrl + e,
1070
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1071
+ headers: r,
1072
+ body: n
1073
+ });
1074
+ return this.onDebug(e, "delete", {
1075
+ headers: r,
1076
+ body: n,
1077
+ message: s.message,
1078
+ status: s.status
1079
+ }), s;
1080
+ }
1081
+ }
1082
+ async function zd(t) {
1083
+ let e;
1084
+ const d = await t.arrayBuffer(), r = new TextDecoder().decode(d);
1085
+ try {
1086
+ e = JSON.parse(r);
1087
+ } catch {
1088
+ try {
1089
+ if (r.includes("=")) {
1090
+ const s = new URLSearchParams(r);
1091
+ e = Object.fromEntries(s.entries());
1092
+ } else
1093
+ throw new V("Invalid URLSearchParams format");
1094
+ } catch {
1095
+ throw new V("Failed to extract data from request");
1096
+ }
1097
+ }
1098
+ return e;
1099
+ }
1100
+ function Qd(t, e) {
1101
+ var d, r, n;
1102
+ return t != null && t.message && typeof (t == null ? void 0 : t.message) == "string" ? t == null ? void 0 : t.message : t != null && t.error && typeof (t == null ? void 0 : t.error) == "string" ? t == null ? void 0 : t.error : (d = t == null ? void 0 : t.error) != null && d.message && typeof ((r = t == null ? void 0 : t.error) == null ? void 0 : r.message) == "string" ? (n = t == null ? void 0 : t.error) == null ? void 0 : n.message : e != null && e.statusText && typeof (e == null ? void 0 : e.statusText) == "string" ? e == null ? void 0 : e.statusText : "Missing error message";
1103
+ }
1104
+ function e1(t) {
1105
+ switch (!0) {
1106
+ case t instanceof Response:
1107
+ return t;
1108
+ case t instanceof dt:
1109
+ return t.toResponse();
1110
+ case t instanceof tt:
1111
+ return t.toResponse();
1112
+ case t instanceof st:
1113
+ return t.toResponse();
1114
+ case t instanceof nt:
1115
+ return t.toResponse();
1116
+ case t instanceof rt:
1117
+ return t.toResponse();
1118
+ }
1119
+ switch (!0) {
1120
+ case t instanceof qe:
1121
+ return t.toResponse();
1122
+ case t instanceof V:
1123
+ return t.toResponse();
1124
+ case t instanceof Xe:
1125
+ return t.toResponse();
1126
+ case t instanceof Ye:
1127
+ return t.toResponse();
1128
+ case t instanceof ze:
1129
+ return t.toResponse();
1130
+ case t instanceof Qe:
1131
+ return t.toResponse();
1132
+ case t instanceof J:
1133
+ return t.toResponse();
1134
+ case t instanceof et:
1135
+ return t.toResponse();
1136
+ case t instanceof W:
1137
+ return t.toResponse();
1138
+ }
1139
+ return new J("Server error", t).toResponse();
1140
+ }
1141
+ async function ft([
1142
+ t,
1143
+ e
1144
+ ]) {
1145
+ const d = await e.safeParseAsync(t);
1146
+ if (d.success === !1) {
1147
+ const r = Object.fromEntries(
1148
+ d.error.issues.map((n) => [n.path.join("."), n.message])
1149
+ );
1150
+ return {
1151
+ success: d.success,
1152
+ fieldErrors: r,
1153
+ fields: t
1154
+ };
1155
+ } else
1156
+ return {
1157
+ success: d.success,
1158
+ data: d.data
1159
+ };
1160
+ }
1161
+ function ht([
1162
+ t,
1163
+ e
1164
+ ]) {
1165
+ const d = e.safeParse(t);
1166
+ if (d.success === !1) {
1167
+ const r = Object.fromEntries(
1168
+ d.error.issues.map((n) => [n.path.join("."), n.message])
1169
+ );
1170
+ return {
1171
+ success: d.success,
1172
+ fieldErrors: r,
1173
+ fields: t
1174
+ };
1175
+ } else
1176
+ return {
1177
+ success: d.success,
1178
+ data: d.data
1179
+ };
1180
+ }
1181
+ function t1(t, e = "") {
1182
+ const d = new URL(t.url);
1183
+ if (e === "") return d.searchParams;
1184
+ const r = Array.from(
1185
+ d.searchParams.entries()
1186
+ ).filter(([n]) => n.startsWith(`${e}:`)).map(([n, s]) => [n.replace(`${e}:`, ""), s]);
1187
+ return new URLSearchParams(r);
1188
+ }
1189
+ function yt(t) {
1190
+ const e = "Error validating:", d = t.issues.map(
1191
+ ({ path: r, message: n }) => `-> ${r.join(".")}: ${n}`
1192
+ );
1193
+ return [e, ...d].join(`
1194
+ `);
1195
+ }
1196
+ class d1 {
1197
+ /**
1198
+ * Creates a new SchemaValidator instance.
1199
+ * @param {T} schema - The Zod schema to use for validation.
1200
+ */
1201
+ constructor(e) {
1202
+ this.schema = e;
1203
+ }
1204
+ /**
1205
+ * Checks if the provided data is valid according to the schema without throwing errors.
1206
+ *
1207
+ * @param {any} data - The data to validate.
1208
+ *
1209
+ * @returns {boolean} True if the data is valid, false otherwise.
1210
+ *
1211
+ * @example
1212
+ * ```typescript
1213
+ * const validator = new SchemaValidator(userSchema);
1214
+ * const isValid = validator.isValid({ name: "John", email: "invalid-email" });
1215
+ * console.log(isValid); // false
1216
+ * ```
1217
+ */
1218
+ isValid(e) {
1219
+ return this.schema.safeParse(e).success;
1220
+ }
1221
+ /**
1222
+ * Safely validates data and returns the complete parse result without throwing errors.
1223
+ *
1224
+ * @param {any} data - The data to validate.
1225
+ * @returns {z.ZodSafeParseResult<z.infer<T>>} The Zod safe parse result containing success status and data or error.
1226
+ *
1227
+ * @example
1228
+ * ```typescript
1229
+ * const validator = new SchemaValidator(userSchema);
1230
+ * const result = validator.safeValidate({ name: "", email: "john@example.com" });
1231
+ *
1232
+ * if (result.success) {
1233
+ * console.log(result.data); // Validated data
1234
+ * } else {
1235
+ * console.log(result.error.issues); // Validation errors
1236
+ * }
1237
+ * ```
1238
+ */
1239
+ safeValidate(e) {
1240
+ return this.schema.safeParse(e);
1241
+ }
1242
+ /**
1243
+ * Validates data and returns the parsed result, throwing a ServerError on validation failure.
1244
+ *
1245
+ * @param {any} data - The data to validate.
1246
+ * @throws {ServerError} When validation fails, with a formatted error message.
1247
+ * @returns {z.infer<T>} The validated and parsed data.
1248
+ *
1249
+ * @example
1250
+ * ```typescript
1251
+ * const validator = new SchemaValidator(userSchema);
1252
+ *
1253
+ * try {
1254
+ * const validUser = validator.validate({ name: "John", email: "john@example.com", age: 25 });
1255
+ * console.log(validUser); // { name: "John", email: "john@example.com", age: 25 }
1256
+ * } catch (error) {
1257
+ * console.error(error.message); // "Error validating:\n-> name: String must contain at least 1 character(s)"
1258
+ * }
1259
+ * ```
1260
+ */
1261
+ validate(e) {
1262
+ try {
1263
+ return this.schema.parse(e);
1264
+ } catch (d) {
1265
+ throw new J(yt(d));
1266
+ }
1267
+ }
1268
+ /**
1269
+ * Validates form data and returns the parsed result, throwing an UnprocessableEntity error on validation failure.
1270
+ * This method is specifically designed for form validation in web applications.
1271
+ *
1272
+ * @param {any} data - The form data to validate.
1273
+ * @param {string} [message] - Optional custom error message.
1274
+ * @throws {UnprocessableEntity} When validation fails, with structured field errors for form handling.
1275
+ * @returns {z.infer<T>} The validated and parsed form data.
1276
+ *
1277
+ * @example
1278
+ * ```typescript
1279
+ * const validator = new SchemaValidator(userSchema);
1280
+ *
1281
+ * try {
1282
+ * const validFormData = validator.formValidate(requestBody, "User data is invalid");
1283
+ * console.log(validFormData);
1284
+ * } catch (error) {
1285
+ * // UnprocessableEntity with fieldErrors, fields, and scrollTo data
1286
+ * console.log(error.fieldErrors); // { name: "Name is required", email: "Invalid email" }
1287
+ * console.log(error.data.scrollTo); // "name" (first error field)
1288
+ * }
1289
+ * ```
1290
+ */
1291
+ formValidate(e, d) {
1292
+ const r = ht([e, this.schema]);
1293
+ if (!r.success) {
1294
+ const n = Object.keys(r.fieldErrors)[0];
1295
+ throw new W({
1296
+ fields: r.fields,
1297
+ fieldErrors: r.fieldErrors,
1298
+ data: { scrollTo: n },
1299
+ message: d
1300
+ });
1301
+ }
1302
+ return r.data;
1303
+ }
1304
+ /**
1305
+ * Asynchronously validates form data and returns the parsed result, throwing an UnprocessableEntity error on validation failure.
1306
+ * This method is the async version of formValidate, designed for form validation with async schemas.
1307
+ *
1308
+ * @param {any} data - The form data to validate.
1309
+ * @param {string} [message] - Optional custom error message.
1310
+ * @throws {UnprocessableEntity} When validation fails, with structured field errors for form handling.
1311
+ * @returns {Promise<z.infer<T>>} A promise that resolves to the validated and parsed form data.
1312
+ *
1313
+ * @example
1314
+ * ```typescript
1315
+ * const validator = new SchemaValidator(userSchemaWithAsyncValidation);
1316
+ *
1317
+ * try {
1318
+ * const validFormData = await validator.formAsyncValidate(requestBody, "User data is invalid");
1319
+ * console.log(validFormData);
1320
+ * } catch (error) {
1321
+ * // UnprocessableEntity with fieldErrors, fields, and scrollTo data
1322
+ * console.log(error.fieldErrors); // { name: "Name is required", email: "Invalid email" }
1323
+ * console.log(error.data.scrollTo); // "name" (first error field)
1324
+ * }
1325
+ * ```
1326
+ */
1327
+ async formAsyncValidate(e, d) {
1328
+ const r = await ft([e, this.schema]);
1329
+ if (!r.success) {
1330
+ const n = Object.keys(r.fieldErrors)[0];
1331
+ throw new W({
1332
+ fields: r.fields,
1333
+ fieldErrors: r.fieldErrors,
1334
+ data: { scrollTo: n },
1335
+ message: d
1336
+ });
1337
+ }
1338
+ return r.data;
1339
+ }
1340
+ }
1341
+ function r1(t) {
1342
+ if (!(/^\d{5}-\d{3}$/.test(t) || /^\d{8}$/.test(t))) return !1;
1343
+ const d = z(t), r = 8, n = /^\d{8}$/.test(d);
1344
+ return d.length === r && n;
1345
+ }
1346
+ function gt(t) {
1347
+ return t.length !== 14;
1348
+ }
1349
+ function mt(t) {
1350
+ const [e] = t;
1351
+ return [...t].every((d) => d === e);
1352
+ }
1353
+ function $e(t, e) {
1354
+ let d = 0;
1355
+ for (let n = 0; n < e.length; n++)
1356
+ d += parseInt(t[n]) * e[n];
1357
+ const r = d % 11;
1358
+ return r < 2 ? 0 : 11 - r;
1359
+ }
1360
+ function pt(t) {
1361
+ return t.slice(12);
1362
+ }
1363
+ function n1(t) {
1364
+ if (!t || t.length > 18 || t.length < 14 || /\s/.test(t)) return !1;
1365
+ const d = z(t);
1366
+ if (gt(d) || mt(d)) return !1;
1367
+ const r = d.slice(0, 12), n = $e(r, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]), s = $e(
1368
+ r + n,
1369
+ [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
1370
+ );
1371
+ return pt(d) === `${n}${s}`;
1372
+ }
1373
+ function bt(t) {
1374
+ return t.length !== 11;
1375
+ }
1376
+ function vt(t) {
1377
+ const [e] = t;
1378
+ return [...t].every((d) => d === e);
1379
+ }
1380
+ function ie(t, e) {
1381
+ let d = 0;
1382
+ for (const n of t)
1383
+ e > 1 && (d += parseInt(n) * e--);
1384
+ const r = d % 11;
1385
+ return r < 2 ? 0 : 11 - r;
1386
+ }
1387
+ function Pt(t) {
1388
+ return t.slice(9);
1389
+ }
1390
+ function s1(t) {
1391
+ if (!t || t.length > 14 || t.length < 11 || /\s/.test(t)) return !1;
1392
+ const d = z(t);
1393
+ if (bt(d) || vt(d)) return !1;
1394
+ const r = ie(d, 10), n = ie(d, 11);
1395
+ return Pt(d) === `${r}${n}`;
1396
+ }
1397
+ function $1(t, e) {
1398
+ const d = (e == null ? void 0 : e.inputFormat) || "brazilianDate", r = (e == null ? void 0 : e.minYear) || 1900, n = (e == null ? void 0 : e.maxYear) || 3e3, s = new Je();
1399
+ s.validateInputFormat(d);
1400
+ let $, o, i;
1401
+ const a = t.split(/[-/]/).map(Number);
1402
+ if (a.length !== 3) return !1;
1403
+ try {
1404
+ switch (d) {
1405
+ case "brazilianDate":
1406
+ [$, o, i] = a, s.validateDateParts(i, o, $);
1407
+ break;
1408
+ case "isoDate":
1409
+ [o, $, i] = a, s.validateDateParts(i, o, $);
1410
+ break;
1411
+ case "timestamp":
1412
+ [i, o, $] = a, s.validateDateParts(i, o, $);
1413
+ break;
1414
+ }
1415
+ return !(i < r || i > n);
1416
+ } catch {
1417
+ return !1;
1418
+ }
1419
+ }
1420
+ function Nt(t) {
1421
+ return /^[a-zA-Z0-9.!$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t);
1422
+ }
1423
+ function Tt(t) {
1424
+ return !(t.length === 0 || t.length > 64 || t.startsWith(".") || t.endsWith(".") || t.includes("..") || !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(t));
1425
+ }
1426
+ function Ct(t) {
1427
+ return !(t.length === 0 || t.length > 63 || t.startsWith("-") || t.endsWith("-") || !/^[a-zA-Z0-9-]+$/.test(t));
1428
+ }
1429
+ function Et(t) {
1430
+ if (t.length === 0 || t.length > 253 || t.startsWith(".") || t.endsWith(".") || t.startsWith("-") || t.endsWith("-"))
1431
+ return !1;
1432
+ const e = t.split(".");
1433
+ if (e.length < 2) return !1;
1434
+ for (const r of e) if (!Ct(r)) return !1;
1435
+ const d = e[e.length - 1];
1436
+ return !(d.length < 2 || !/^[a-zA-Z]+$/.test(d));
1437
+ }
1438
+ function Ot(t) {
1439
+ const e = t.split("@");
1440
+ if (e.length !== 2) return !1;
1441
+ const [d, r] = e;
1442
+ return !(!Tt(d) || !Et(r));
1443
+ }
1444
+ function _t(t) {
1445
+ const e = t.split("@");
1446
+ return e.length === 2 ? e[1].toLowerCase() : null;
1447
+ }
1448
+ const xt = ["MX", "A", "AAAA"];
1449
+ async function St(t, e) {
1450
+ var d, r;
1451
+ try {
1452
+ return await ((r = (d = We) == null ? void 0 : d.promises) == null ? void 0 : r.resolve(t, e)), !0;
1453
+ } catch {
1454
+ return !1;
1455
+ }
1456
+ }
1457
+ async function Rt(t) {
1458
+ for (const e of xt)
1459
+ if (await St(t, e)) return !0;
1460
+ return !1;
1461
+ }
1462
+ async function i1(t) {
1463
+ if (!t || typeof t != "string") return !1;
1464
+ const e = t.trim();
1465
+ if (!Nt(e) || !Ot(e)) return !1;
1466
+ const d = _t(e);
1467
+ return d ? await Rt(d) : !1;
1468
+ }
1469
+ function o1(t) {
1470
+ if (!t) return !1;
1471
+ const e = t.length >= 8, d = /[A-Z]/.test(t), r = /[a-z]/.test(t), n = /\d/.test(t), s = /[!@#$%^&*(),.?":;{}|<>_\-+=~`[\]\\\/]/.test(
1472
+ t
1473
+ );
1474
+ return [
1475
+ e,
1476
+ d,
1477
+ r,
1478
+ n,
1479
+ s
1480
+ ].every(($) => $);
1481
+ }
1482
+ const It = { version: 4, country_calling_codes: { 1: ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], 7: ["RU", "KZ"], 20: ["EG"], 27: ["ZA"], 30: ["GR"], 31: ["NL"], 32: ["BE"], 33: ["FR"], 34: ["ES"], 36: ["HU"], 39: ["IT", "VA"], 40: ["RO"], 41: ["CH"], 43: ["AT"], 44: ["GB", "GG", "IM", "JE"], 45: ["DK"], 46: ["SE"], 47: ["NO", "SJ"], 48: ["PL"], 49: ["DE"], 51: ["PE"], 52: ["MX"], 53: ["CU"], 54: ["AR"], 55: ["BR"], 56: ["CL"], 57: ["CO"], 58: ["VE"], 60: ["MY"], 61: ["AU", "CC", "CX"], 62: ["ID"], 63: ["PH"], 64: ["NZ"], 65: ["SG"], 66: ["TH"], 81: ["JP"], 82: ["KR"], 84: ["VN"], 86: ["CN"], 90: ["TR"], 91: ["IN"], 92: ["PK"], 93: ["AF"], 94: ["LK"], 95: ["MM"], 98: ["IR"], 211: ["SS"], 212: ["MA", "EH"], 213: ["DZ"], 216: ["TN"], 218: ["LY"], 220: ["GM"], 221: ["SN"], 222: ["MR"], 223: ["ML"], 224: ["GN"], 225: ["CI"], 226: ["BF"], 227: ["NE"], 228: ["TG"], 229: ["BJ"], 230: ["MU"], 231: ["LR"], 232: ["SL"], 233: ["GH"], 234: ["NG"], 235: ["TD"], 236: ["CF"], 237: ["CM"], 238: ["CV"], 239: ["ST"], 240: ["GQ"], 241: ["GA"], 242: ["CG"], 243: ["CD"], 244: ["AO"], 245: ["GW"], 246: ["IO"], 247: ["AC"], 248: ["SC"], 249: ["SD"], 250: ["RW"], 251: ["ET"], 252: ["SO"], 253: ["DJ"], 254: ["KE"], 255: ["TZ"], 256: ["UG"], 257: ["BI"], 258: ["MZ"], 260: ["ZM"], 261: ["MG"], 262: ["RE", "YT"], 263: ["ZW"], 264: ["NA"], 265: ["MW"], 266: ["LS"], 267: ["BW"], 268: ["SZ"], 269: ["KM"], 290: ["SH", "TA"], 291: ["ER"], 297: ["AW"], 298: ["FO"], 299: ["GL"], 350: ["GI"], 351: ["PT"], 352: ["LU"], 353: ["IE"], 354: ["IS"], 355: ["AL"], 356: ["MT"], 357: ["CY"], 358: ["FI", "AX"], 359: ["BG"], 370: ["LT"], 371: ["LV"], 372: ["EE"], 373: ["MD"], 374: ["AM"], 375: ["BY"], 376: ["AD"], 377: ["MC"], 378: ["SM"], 380: ["UA"], 381: ["RS"], 382: ["ME"], 383: ["XK"], 385: ["HR"], 386: ["SI"], 387: ["BA"], 389: ["MK"], 420: ["CZ"], 421: ["SK"], 423: ["LI"], 500: ["FK"], 501: ["BZ"], 502: ["GT"], 503: ["SV"], 504: ["HN"], 505: ["NI"], 506: ["CR"], 507: ["PA"], 508: ["PM"], 509: ["HT"], 590: ["GP", "BL", "MF"], 591: ["BO"], 592: ["GY"], 593: ["EC"], 594: ["GF"], 595: ["PY"], 596: ["MQ"], 597: ["SR"], 598: ["UY"], 599: ["CW", "BQ"], 670: ["TL"], 672: ["NF"], 673: ["BN"], 674: ["NR"], 675: ["PG"], 676: ["TO"], 677: ["SB"], 678: ["VU"], 679: ["FJ"], 680: ["PW"], 681: ["WF"], 682: ["CK"], 683: ["NU"], 685: ["WS"], 686: ["KI"], 687: ["NC"], 688: ["TV"], 689: ["PF"], 690: ["TK"], 691: ["FM"], 692: ["MH"], 850: ["KP"], 852: ["HK"], 853: ["MO"], 855: ["KH"], 856: ["LA"], 880: ["BD"], 886: ["TW"], 960: ["MV"], 961: ["LB"], 962: ["JO"], 963: ["SY"], 964: ["IQ"], 965: ["KW"], 966: ["SA"], 967: ["YE"], 968: ["OM"], 970: ["PS"], 971: ["AE"], 972: ["IL"], 973: ["BH"], 974: ["QA"], 975: ["BT"], 976: ["MN"], 977: ["NP"], 992: ["TJ"], 993: ["TM"], 994: ["AZ"], 995: ["GE"], 996: ["KG"], 998: ["UZ"] }, countries: { AC: ["247", "00", "(?:[01589]\\d|[46])\\d{4}", [5, 6]], AD: ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], AE: ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], AF: ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], AG: ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], AI: ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], AL: ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], AM: ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], AO: ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], AR: ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], AS: ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], AT: ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], AU: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], AW: ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], AX: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], AZ: ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], BA: ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], BB: ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], BD: ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], BE: ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], BF: ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], BG: ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], BH: ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], BI: ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], BJ: ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], BL: ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|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}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], BM: ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], BN: ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], BO: ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], BQ: ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], BR: ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], BS: ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], BT: ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], BW: ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], BY: ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], BZ: ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], CA: ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], CC: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], CD: ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], CF: ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], CG: ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], CH: ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], CI: ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], CK: ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], CL: ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], CM: ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], CN: ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], CO: ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], CR: ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], CU: ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], CV: ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], CW: ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], CX: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], CY: ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], CZ: ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], DE: ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], DJ: ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], DK: ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], DM: ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], DO: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], DZ: ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], EC: ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], EE: ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], EG: ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], EH: ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], ER: ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], ES: ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], ET: ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]], "0"], FI: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], FJ: ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], FK: ["500", "00", "[2-7]\\d{4}", [5]], FM: ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], FO: ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], FR: ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], GA: ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], GB: ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], GD: ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], GE: ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], GF: ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], GG: ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], GH: ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], GI: ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], GL: ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], GM: ["220", "00", "[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", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|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}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], GQ: ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], GR: ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], GT: ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], GU: ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], GW: ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], GY: ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], HK: ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], HN: ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], HR: ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], HT: ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], HU: ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], ID: ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], IE: ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], IL: ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], IM: ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], IN: ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], IO: ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], IQ: ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], IR: ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], IS: ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], IT: ["39", "00", "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], JE: ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], JM: ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], JO: ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]], "0"], JP: ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], KE: ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], KG: ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], KH: ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], KI: ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], KM: ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], KN: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], KP: ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], KR: ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], KW: ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], KY: ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], KZ: ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], LA: ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], LB: ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], LC: ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], LI: ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], LK: ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], LR: ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], LS: ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], LT: ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], LU: ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], LV: ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], LY: ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], MA: ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{4})(\\d{5})", "$1-$2", ["892"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], "0", 0, 0, 0, 0, "[5-8]"], MC: ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]], "0"], MD: ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], ME: ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], MF: ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|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}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], MG: ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], MH: ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], MK: ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], ML: ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], MM: ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], MN: ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[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", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], MR: ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], MS: ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], MT: ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], MU: ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], MV: ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], MW: ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], "0"], MX: ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], MY: ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], MZ: ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], NA: ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], NC: ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], NE: ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], NF: ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], NG: ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], NI: ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], NL: ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], NO: ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], NP: ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], NR: ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], NU: ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], NZ: ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], OM: ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], PA: ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], PE: ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], PF: ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], PG: ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], PH: ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], PK: ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], PL: ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], PM: ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], PR: ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], PS: ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], PT: ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], PW: ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], PY: ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], QA: ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], RE: ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], RO: ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], RS: ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], RU: ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], RW: ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], SA: ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], SB: ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], SC: ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], SD: ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], SE: ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], SG: ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], SH: ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], SI: ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], SJ: ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], SK: ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], "0"], SL: ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], SM: ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], SN: ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], SO: ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]], "0"], SR: ["597", "00", "(?:[2-5]|[6-8]\\d|90)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], SS: ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], ST: ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], SV: ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], SX: ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], SY: ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], SZ: ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], TA: ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], TC: ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], TD: ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], TG: ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], TH: ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], TJ: ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], TK: ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], TL: ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], TM: ["993", "810", "(?:[1-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-579]|61)", "5(?:[0-579]|61[06])", "5(?:[0-579]|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, [["(?:274[27]|(?:472|983)[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], UY: ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], UZ: ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], VA: ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], VC: ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], VE: ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], VG: ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], VI: ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], VN: ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], VU: ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], WF: ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], WS: ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], XK: ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], YE: ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], YT: ["262", "00", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], ZA: ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], ZM: ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], ZW: ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, nonGeographic: { 800: ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], 808: ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], 870: ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], 878: ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], 881: ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], 882: ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], 883: ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], 888: ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], 979: ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
1483
+ function Ie(t, e) {
1484
+ var d = Array.prototype.slice.call(e);
1485
+ return d.push(It), t.apply(this, d);
1486
+ }
1487
+ function oe(t, e) {
1488
+ t = t.split("-"), e = e.split("-");
1489
+ for (var d = t[0].split("."), r = e[0].split("."), n = 0; n < 3; n++) {
1490
+ var s = Number(d[n]), $ = Number(r[n]);
1491
+ if (s > $) return 1;
1492
+ if ($ > s) return -1;
1493
+ if (!isNaN(s) && isNaN($)) return 1;
1494
+ if (isNaN(s) && !isNaN($)) return -1;
1495
+ }
1496
+ return t[1] && e[1] ? t[1] > e[1] ? 1 : t[1] < e[1] ? -1 : 0 : !t[1] && e[1] ? 1 : t[1] && !e[1] ? -1 : 0;
1497
+ }
1498
+ var Ft = {}.constructor;
1499
+ function T(t) {
1500
+ return t != null && t.constructor === Ft;
1501
+ }
1502
+ function C(t) {
1503
+ "@babel/helpers - typeof";
1504
+ return C = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
1505
+ return typeof e;
1506
+ } : function(e) {
1507
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
1508
+ }, C(t);
1509
+ }
1510
+ function j(t, e) {
1511
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
1512
+ }
1513
+ function wt(t, e) {
1514
+ for (var d = 0; d < e.length; d++) {
1515
+ var r = e[d];
1516
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, At(r.key), r);
1517
+ }
1518
+ }
1519
+ function B(t, e, d) {
1520
+ return e && wt(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
1521
+ }
1522
+ function At(t) {
1523
+ var e = Dt(t, "string");
1524
+ return C(e) == "symbol" ? e : e + "";
1525
+ }
1526
+ function Dt(t, e) {
1527
+ if (C(t) != "object" || !t) return t;
1528
+ var d = t[Symbol.toPrimitive];
1529
+ if (d !== void 0) {
1530
+ var r = d.call(t, e);
1531
+ if (C(r) != "object") return r;
1532
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1533
+ }
1534
+ return String(t);
1535
+ }
1536
+ var Lt = "1.2.0", Mt = "1.7.35", ae = " ext. ", jt = /^\d+$/, f = /* @__PURE__ */ function() {
1537
+ function t(e) {
1538
+ j(this, t), Fe(e), this.metadata = e, we.call(this, e);
1539
+ }
1540
+ return B(t, [{
1541
+ key: "getCountries",
1542
+ value: function() {
1543
+ return Object.keys(this.metadata.countries).filter(function(d) {
1544
+ return d !== "001";
1545
+ });
1546
+ }
1547
+ }, {
1548
+ key: "getCountryMetadata",
1549
+ value: function(d) {
1550
+ return this.metadata.countries[d];
1551
+ }
1552
+ }, {
1553
+ key: "nonGeographic",
1554
+ value: function() {
1555
+ if (!(this.v1 || this.v2 || this.v3))
1556
+ return this.metadata.nonGeographic || this.metadata.nonGeographical;
1557
+ }
1558
+ }, {
1559
+ key: "hasCountry",
1560
+ value: function(d) {
1561
+ return this.getCountryMetadata(d) !== void 0;
1562
+ }
1563
+ }, {
1564
+ key: "hasCallingCode",
1565
+ value: function(d) {
1566
+ if (this.getCountryCodesForCallingCode(d))
1567
+ return !0;
1568
+ if (this.nonGeographic()) {
1569
+ if (this.nonGeographic()[d])
1570
+ return !0;
1571
+ } else {
1572
+ var r = this.countryCallingCodes()[d];
1573
+ if (r && r.length === 1 && r[0] === "001")
1574
+ return !0;
1575
+ }
1576
+ }
1577
+ }, {
1578
+ key: "isNonGeographicCallingCode",
1579
+ value: function(d) {
1580
+ return this.nonGeographic() ? !!this.nonGeographic()[d] : !this.getCountryCodesForCallingCode(d);
1581
+ }
1582
+ // Deprecated.
1583
+ }, {
1584
+ key: "country",
1585
+ value: function(d) {
1586
+ return this.selectNumberingPlan(d);
1587
+ }
1588
+ }, {
1589
+ key: "selectNumberingPlan",
1590
+ value: function(d, r) {
1591
+ if (d && jt.test(d) && (r = d, d = null), d && d !== "001") {
1592
+ if (!this.hasCountry(d))
1593
+ throw new Error("Unknown country: ".concat(d));
1594
+ this.numberingPlan = new ue(this.getCountryMetadata(d), this);
1595
+ } else if (r) {
1596
+ if (!this.hasCallingCode(r))
1597
+ throw new Error("Unknown calling code: ".concat(r));
1598
+ this.numberingPlan = new ue(this.getNumberingPlanMetadata(r), this);
1599
+ } else
1600
+ this.numberingPlan = void 0;
1601
+ return this;
1602
+ }
1603
+ }, {
1604
+ key: "getCountryCodesForCallingCode",
1605
+ value: function(d) {
1606
+ var r = this.countryCallingCodes()[d];
1607
+ if (r)
1608
+ return r.length === 1 && r[0].length === 3 ? void 0 : r;
1609
+ }
1610
+ }, {
1611
+ key: "getCountryCodeForCallingCode",
1612
+ value: function(d) {
1613
+ var r = this.getCountryCodesForCallingCode(d);
1614
+ if (r)
1615
+ return r[0];
1616
+ }
1617
+ }, {
1618
+ key: "getNumberingPlanMetadata",
1619
+ value: function(d) {
1620
+ var r = this.getCountryCodeForCallingCode(d);
1621
+ if (r)
1622
+ return this.getCountryMetadata(r);
1623
+ if (this.nonGeographic()) {
1624
+ var n = this.nonGeographic()[d];
1625
+ if (n)
1626
+ return n;
1627
+ } else {
1628
+ var s = this.countryCallingCodes()[d];
1629
+ if (s && s.length === 1 && s[0] === "001")
1630
+ return this.metadata.countries["001"];
1631
+ }
1632
+ }
1633
+ // Deprecated.
1634
+ }, {
1635
+ key: "countryCallingCode",
1636
+ value: function() {
1637
+ return this.numberingPlan.callingCode();
1638
+ }
1639
+ // Deprecated.
1640
+ }, {
1641
+ key: "IDDPrefix",
1642
+ value: function() {
1643
+ return this.numberingPlan.IDDPrefix();
1644
+ }
1645
+ // Deprecated.
1646
+ }, {
1647
+ key: "defaultIDDPrefix",
1648
+ value: function() {
1649
+ return this.numberingPlan.defaultIDDPrefix();
1650
+ }
1651
+ // Deprecated.
1652
+ }, {
1653
+ key: "nationalNumberPattern",
1654
+ value: function() {
1655
+ return this.numberingPlan.nationalNumberPattern();
1656
+ }
1657
+ // Deprecated.
1658
+ }, {
1659
+ key: "possibleLengths",
1660
+ value: function() {
1661
+ return this.numberingPlan.possibleLengths();
1662
+ }
1663
+ // Deprecated.
1664
+ }, {
1665
+ key: "formats",
1666
+ value: function() {
1667
+ return this.numberingPlan.formats();
1668
+ }
1669
+ // Deprecated.
1670
+ }, {
1671
+ key: "nationalPrefixForParsing",
1672
+ value: function() {
1673
+ return this.numberingPlan.nationalPrefixForParsing();
1674
+ }
1675
+ // Deprecated.
1676
+ }, {
1677
+ key: "nationalPrefixTransformRule",
1678
+ value: function() {
1679
+ return this.numberingPlan.nationalPrefixTransformRule();
1680
+ }
1681
+ // Deprecated.
1682
+ }, {
1683
+ key: "leadingDigits",
1684
+ value: function() {
1685
+ return this.numberingPlan.leadingDigits();
1686
+ }
1687
+ // Deprecated.
1688
+ }, {
1689
+ key: "hasTypes",
1690
+ value: function() {
1691
+ return this.numberingPlan.hasTypes();
1692
+ }
1693
+ // Deprecated.
1694
+ }, {
1695
+ key: "type",
1696
+ value: function(d) {
1697
+ return this.numberingPlan.type(d);
1698
+ }
1699
+ // Deprecated.
1700
+ }, {
1701
+ key: "ext",
1702
+ value: function() {
1703
+ return this.numberingPlan.ext();
1704
+ }
1705
+ }, {
1706
+ key: "countryCallingCodes",
1707
+ value: function() {
1708
+ return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
1709
+ }
1710
+ // Deprecated.
1711
+ }, {
1712
+ key: "chooseCountryByCountryCallingCode",
1713
+ value: function(d) {
1714
+ return this.selectNumberingPlan(d);
1715
+ }
1716
+ }, {
1717
+ key: "hasSelectedNumberingPlan",
1718
+ value: function() {
1719
+ return this.numberingPlan !== void 0;
1720
+ }
1721
+ }]);
1722
+ }(), ue = /* @__PURE__ */ function() {
1723
+ function t(e, d) {
1724
+ j(this, t), this.globalMetadataObject = d, this.metadata = e, we.call(this, d.metadata);
1725
+ }
1726
+ return B(t, [{
1727
+ key: "callingCode",
1728
+ value: function() {
1729
+ return this.metadata[0];
1730
+ }
1731
+ // Formatting information for regions which share
1732
+ // a country calling code is contained by only one region
1733
+ // for performance reasons. For example, for NANPA region
1734
+ // ("North American Numbering Plan Administration",
1735
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc)
1736
+ // it will be contained in the metadata for `US`.
1737
+ }, {
1738
+ key: "getDefaultCountryMetadataForRegion",
1739
+ value: function() {
1740
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
1741
+ }
1742
+ // Is always present.
1743
+ }, {
1744
+ key: "IDDPrefix",
1745
+ value: function() {
1746
+ if (!(this.v1 || this.v2))
1747
+ return this.metadata[1];
1748
+ }
1749
+ // Is only present when a country supports multiple IDD prefixes.
1750
+ }, {
1751
+ key: "defaultIDDPrefix",
1752
+ value: function() {
1753
+ if (!(this.v1 || this.v2))
1754
+ return this.metadata[12];
1755
+ }
1756
+ }, {
1757
+ key: "nationalNumberPattern",
1758
+ value: function() {
1759
+ return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
1760
+ }
1761
+ // "possible length" data is always present in Google's metadata.
1762
+ }, {
1763
+ key: "possibleLengths",
1764
+ value: function() {
1765
+ if (!this.v1)
1766
+ return this.metadata[this.v2 ? 2 : 3];
1767
+ }
1768
+ }, {
1769
+ key: "_getFormats",
1770
+ value: function(d) {
1771
+ return d[this.v1 ? 2 : this.v2 ? 3 : 4];
1772
+ }
1773
+ // For countries of the same region (e.g. NANPA)
1774
+ // formats are all stored in the "main" country for that region.
1775
+ // E.g. "RU" and "KZ", "US" and "CA".
1776
+ }, {
1777
+ key: "formats",
1778
+ value: function() {
1779
+ var d = this, r = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
1780
+ return r.map(function(n) {
1781
+ return new Bt(n, d);
1782
+ });
1783
+ }
1784
+ }, {
1785
+ key: "nationalPrefix",
1786
+ value: function() {
1787
+ return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
1788
+ }
1789
+ }, {
1790
+ key: "_getNationalPrefixFormattingRule",
1791
+ value: function(d) {
1792
+ return d[this.v1 ? 4 : this.v2 ? 5 : 6];
1793
+ }
1794
+ // For countries of the same region (e.g. NANPA)
1795
+ // national prefix formatting rule is stored in the "main" country for that region.
1796
+ // E.g. "RU" and "KZ", "US" and "CA".
1797
+ }, {
1798
+ key: "nationalPrefixFormattingRule",
1799
+ value: function() {
1800
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
1801
+ }
1802
+ }, {
1803
+ key: "_nationalPrefixForParsing",
1804
+ value: function() {
1805
+ return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
1806
+ }
1807
+ }, {
1808
+ key: "nationalPrefixForParsing",
1809
+ value: function() {
1810
+ return this._nationalPrefixForParsing() || this.nationalPrefix();
1811
+ }
1812
+ }, {
1813
+ key: "nationalPrefixTransformRule",
1814
+ value: function() {
1815
+ return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
1816
+ }
1817
+ }, {
1818
+ key: "_getNationalPrefixIsOptionalWhenFormatting",
1819
+ value: function() {
1820
+ return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
1821
+ }
1822
+ // For countries of the same region (e.g. NANPA)
1823
+ // "national prefix is optional when formatting" flag is
1824
+ // stored in the "main" country for that region.
1825
+ // E.g. "RU" and "KZ", "US" and "CA".
1826
+ }, {
1827
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1828
+ value: function() {
1829
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
1830
+ }
1831
+ }, {
1832
+ key: "leadingDigits",
1833
+ value: function() {
1834
+ return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
1835
+ }
1836
+ }, {
1837
+ key: "types",
1838
+ value: function() {
1839
+ return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
1840
+ }
1841
+ }, {
1842
+ key: "hasTypes",
1843
+ value: function() {
1844
+ return this.types() && this.types().length === 0 ? !1 : !!this.types();
1845
+ }
1846
+ }, {
1847
+ key: "type",
1848
+ value: function(d) {
1849
+ if (this.hasTypes() && le(this.types(), d))
1850
+ return new Ut(le(this.types(), d), this);
1851
+ }
1852
+ }, {
1853
+ key: "ext",
1854
+ value: function() {
1855
+ return this.v1 || this.v2 ? ae : this.metadata[13] || ae;
1856
+ }
1857
+ }]);
1858
+ }(), Bt = /* @__PURE__ */ function() {
1859
+ function t(e, d) {
1860
+ j(this, t), this._format = e, this.metadata = d;
1861
+ }
1862
+ return B(t, [{
1863
+ key: "pattern",
1864
+ value: function() {
1865
+ return this._format[0];
1866
+ }
1867
+ }, {
1868
+ key: "format",
1869
+ value: function() {
1870
+ return this._format[1];
1871
+ }
1872
+ }, {
1873
+ key: "leadingDigitsPatterns",
1874
+ value: function() {
1875
+ return this._format[2] || [];
1876
+ }
1877
+ }, {
1878
+ key: "nationalPrefixFormattingRule",
1879
+ value: function() {
1880
+ return this._format[3] || this.metadata.nationalPrefixFormattingRule();
1881
+ }
1882
+ }, {
1883
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1884
+ value: function() {
1885
+ return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1886
+ }
1887
+ }, {
1888
+ key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
1889
+ value: function() {
1890
+ return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1891
+ }
1892
+ // Checks whether national prefix formatting rule contains national prefix.
1893
+ }, {
1894
+ key: "usesNationalPrefix",
1895
+ value: function() {
1896
+ return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
1897
+ !kt.test(this.nationalPrefixFormattingRule()));
1898
+ }
1899
+ }, {
1900
+ key: "internationalFormat",
1901
+ value: function() {
1902
+ return this._format[5] || this.format();
1903
+ }
1904
+ }]);
1905
+ }(), kt = /^\(?\$1\)?$/, Ut = /* @__PURE__ */ function() {
1906
+ function t(e, d) {
1907
+ j(this, t), this.type = e, this.metadata = d;
1908
+ }
1909
+ return B(t, [{
1910
+ key: "pattern",
1911
+ value: function() {
1912
+ return this.metadata.v1 ? this.type : this.type[0];
1913
+ }
1914
+ }, {
1915
+ key: "possibleLengths",
1916
+ value: function() {
1917
+ if (!this.metadata.v1)
1918
+ return this.type[1] || this.metadata.possibleLengths();
1919
+ }
1920
+ }]);
1921
+ }();
1922
+ function le(t, e) {
1923
+ switch (e) {
1924
+ case "FIXED_LINE":
1925
+ return t[0];
1926
+ case "MOBILE":
1927
+ return t[1];
1928
+ case "TOLL_FREE":
1929
+ return t[2];
1930
+ case "PREMIUM_RATE":
1931
+ return t[3];
1932
+ case "PERSONAL_NUMBER":
1933
+ return t[4];
1934
+ case "VOICEMAIL":
1935
+ return t[5];
1936
+ case "UAN":
1937
+ return t[6];
1938
+ case "PAGER":
1939
+ return t[7];
1940
+ case "VOIP":
1941
+ return t[8];
1942
+ case "SHARED_COST":
1943
+ return t[9];
1944
+ }
1945
+ }
1946
+ function Fe(t) {
1947
+ if (!t)
1948
+ throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
1949
+ if (!T(t) || !T(t.countries))
1950
+ throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(T(t) ? "an object of shape: { " + Object.keys(t).join(", ") + " }" : "a " + Gt(t) + ": " + t, "."));
1951
+ }
1952
+ var Gt = function(e) {
1953
+ return C(e);
1954
+ };
1955
+ function ee(t, e) {
1956
+ if (e = new f(e), e.hasCountry(t))
1957
+ return e.selectNumberingPlan(t).countryCallingCode();
1958
+ throw new Error("Unknown country: ".concat(t));
1959
+ }
1960
+ function Ht(t, e) {
1961
+ return e.countries.hasOwnProperty(t);
1962
+ }
1963
+ function we(t) {
1964
+ var e = t.version;
1965
+ typeof e == "number" ? (this.v1 = e === 1, this.v2 = e === 2, this.v3 = e === 3, this.v4 = e === 4) : e ? oe(e, Lt) === -1 ? this.v2 = !0 : oe(e, Mt) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
1966
+ }
1967
+ function te(t, e, d) {
1968
+ return Vt(t, e, void 0, d);
1969
+ }
1970
+ function Vt(t, e, d, r) {
1971
+ e && (r = new f(r.metadata), r.selectNumberingPlan(e));
1972
+ var n = r.type(d), s = n && n.possibleLengths() || r.possibleLengths();
1973
+ if (!s)
1974
+ return "IS_POSSIBLE";
1975
+ var $ = t.length, o = s[0];
1976
+ return o === $ ? "IS_POSSIBLE" : o > $ ? "TOO_SHORT" : s[s.length - 1] < $ ? "TOO_LONG" : s.indexOf($, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
1977
+ }
1978
+ function Jt(t, e, d) {
1979
+ if (e === void 0 && (e = {}), d = new f(d), e.v2) {
1980
+ if (!t.countryCallingCode)
1981
+ throw new Error("Invalid phone number object passed");
1982
+ d.selectNumberingPlan(t.countryCallingCode);
1983
+ } else {
1984
+ if (!t.phone)
1985
+ return !1;
1986
+ if (t.country) {
1987
+ if (!d.hasCountry(t.country))
1988
+ throw new Error("Unknown country: ".concat(t.country));
1989
+ d.selectNumberingPlan(t.country);
1990
+ } else {
1991
+ if (!t.countryCallingCode)
1992
+ throw new Error("Invalid phone number object passed");
1993
+ d.selectNumberingPlan(t.countryCallingCode);
1994
+ }
1995
+ }
1996
+ if (d.possibleLengths())
1997
+ return Ae(t.phone || t.nationalNumber, t.country, d);
1998
+ if (t.countryCallingCode && d.isNonGeographicCallingCode(t.countryCallingCode))
1999
+ return !0;
2000
+ throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
2001
+ }
2002
+ function Ae(t, e, d) {
2003
+ switch (te(t, e, d)) {
2004
+ case "IS_POSSIBLE":
2005
+ return !0;
2006
+ default:
2007
+ return !1;
2008
+ }
2009
+ }
2010
+ function m(t, e) {
2011
+ return t = t || "", new RegExp("^(?:" + e + ")$").test(t);
2012
+ }
2013
+ function Wt(t, e) {
2014
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2015
+ if (d) return (d = d.call(t)).next.bind(d);
2016
+ if (Array.isArray(t) || (d = Kt(t)) || e) {
2017
+ d && (t = d);
2018
+ var r = 0;
2019
+ return function() {
2020
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2021
+ };
2022
+ }
2023
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2024
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2025
+ }
2026
+ function Kt(t, e) {
2027
+ if (t) {
2028
+ if (typeof t == "string") return ce(t, e);
2029
+ var d = {}.toString.call(t).slice(8, -1);
2030
+ return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? ce(t, e) : void 0;
2031
+ }
2032
+ }
2033
+ function ce(t, e) {
2034
+ (e == null || e > t.length) && (e = t.length);
2035
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2036
+ return r;
2037
+ }
2038
+ var Zt = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
2039
+ function de(t, e, d) {
2040
+ if (e = e || {}, !(!t.country && !t.countryCallingCode)) {
2041
+ d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode);
2042
+ var r = e.v2 ? t.nationalNumber : t.phone;
2043
+ if (m(r, d.nationalNumberPattern())) {
2044
+ if (G(r, "FIXED_LINE", d))
2045
+ return d.type("MOBILE") && d.type("MOBILE").pattern() === "" || !d.type("MOBILE") || G(r, "MOBILE", d) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
2046
+ for (var n = Wt(Zt), s; !(s = n()).done; ) {
2047
+ var $ = s.value;
2048
+ if (G(r, $, d))
2049
+ return $;
2050
+ }
2051
+ }
2052
+ }
2053
+ }
2054
+ function G(t, e, d) {
2055
+ var r = d.type(e);
2056
+ return !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(t.length) < 0 ? !1 : m(t, r.pattern());
2057
+ }
2058
+ function qt(t, e, d) {
2059
+ if (e = e || {}, d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode), d.hasTypes())
2060
+ return de(t, e, d.metadata) !== void 0;
2061
+ var r = e.v2 ? t.nationalNumber : t.phone;
2062
+ return m(r, d.nationalNumberPattern());
2063
+ }
2064
+ function Xt(t, e, d) {
2065
+ var r = new f(d), n = r.getCountryCodesForCallingCode(t);
2066
+ return n ? n.filter(function(s) {
2067
+ return Yt(e, s, d);
2068
+ }) : [];
2069
+ }
2070
+ function Yt(t, e, d) {
2071
+ var r = new f(d);
2072
+ return r.selectNumberingPlan(e), r.numberingPlan.possibleLengths().indexOf(t.length) >= 0;
2073
+ }
2074
+ var re = 2, zt = 17, Qt = 3, y = "0-90-9٠-٩۰-۹", e0 = "-‐-―−ー-", t0 = "//", d0 = "..", r0 = "  ­​⁠ ", n0 = "()()[]\\[\\]", s0 = "~⁓∼~", L = "".concat(e0).concat(t0).concat(d0).concat(r0).concat(n0).concat(s0), ne = "++", $0 = new RegExp("([" + y + "])");
2075
+ function i0(t, e, d, r) {
2076
+ if (e) {
2077
+ var n = new f(r);
2078
+ n.selectNumberingPlan(e, d);
2079
+ var s = new RegExp(n.IDDPrefix());
2080
+ if (t.search(s) === 0) {
2081
+ t = t.slice(t.match(s)[0].length);
2082
+ var $ = t.match($0);
2083
+ if (!($ && $[1] != null && $[1].length > 0 && $[1] === "0"))
2084
+ return t;
2085
+ }
2086
+ }
2087
+ }
2088
+ function o0(t, e) {
2089
+ if (t && e.numberingPlan.nationalPrefixForParsing()) {
2090
+ var d = new RegExp("^(?:" + e.numberingPlan.nationalPrefixForParsing() + ")"), r = d.exec(t);
2091
+ if (r) {
2092
+ var n, s, $ = r.length - 1, o = $ > 0 && r[$];
2093
+ if (e.nationalPrefixTransformRule() && o)
2094
+ n = t.replace(d, e.nationalPrefixTransformRule()), $ > 1 && (s = r[1]);
2095
+ else {
2096
+ var i = r[0];
2097
+ n = t.slice(i.length), o && (s = r[1]);
2098
+ }
2099
+ var a;
2100
+ if (o) {
2101
+ var u = t.indexOf(r[1]), l = t.slice(0, u);
2102
+ l === e.numberingPlan.nationalPrefix() && (a = e.numberingPlan.nationalPrefix());
2103
+ } else
2104
+ a = r[0];
2105
+ return {
2106
+ nationalNumber: n,
2107
+ nationalPrefix: a,
2108
+ carrierCode: s
2109
+ };
2110
+ }
2111
+ }
2112
+ return {
2113
+ nationalNumber: t
2114
+ };
2115
+ }
2116
+ function a0(t, e) {
2117
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2118
+ if (d) return (d = d.call(t)).next.bind(d);
2119
+ if (Array.isArray(t) || (d = u0(t)) || e) {
2120
+ d && (t = d);
2121
+ var r = 0;
2122
+ return function() {
2123
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2124
+ };
2125
+ }
2126
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2127
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2128
+ }
2129
+ function u0(t, e) {
2130
+ if (t) {
2131
+ if (typeof t == "string") return fe(t, e);
2132
+ var d = {}.toString.call(t).slice(8, -1);
2133
+ return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? fe(t, e) : void 0;
2134
+ }
2135
+ }
2136
+ function fe(t, e) {
2137
+ (e == null || e > t.length) && (e = t.length);
2138
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2139
+ return r;
2140
+ }
2141
+ function l0(t, e) {
2142
+ var d = e.countries, r = e.metadata;
2143
+ r = new f(r);
2144
+ for (var n = a0(d), s; !(s = n()).done; ) {
2145
+ var $ = s.value;
2146
+ if (r.selectNumberingPlan($), r.leadingDigits()) {
2147
+ if (t && t.search(r.leadingDigits()) === 0)
2148
+ return $;
2149
+ } else if (de({
2150
+ phone: t,
2151
+ country: $
2152
+ }, void 0, r.metadata))
2153
+ return $;
2154
+ }
2155
+ }
2156
+ function De(t, e) {
2157
+ var d = e.nationalNumber, r = e.metadata, n = r.getCountryCodesForCallingCode(t);
2158
+ if (n)
2159
+ return n.length === 1 ? n[0] : l0(d, {
2160
+ countries: n,
2161
+ metadata: r.metadata
2162
+ });
2163
+ }
2164
+ function K(t, e, d) {
2165
+ var r = o0(t, d), n = r.carrierCode, s = r.nationalNumber;
2166
+ if (s !== t) {
2167
+ if (!c0(t, s, d))
2168
+ return {
2169
+ nationalNumber: t
2170
+ };
2171
+ if (d.numberingPlan.possibleLengths() && (e || (e = De(d.numberingPlan.callingCode(), {
2172
+ nationalNumber: s,
2173
+ metadata: d
2174
+ })), !f0(s, e, d)))
2175
+ return {
2176
+ nationalNumber: t
2177
+ };
2178
+ }
2179
+ return {
2180
+ nationalNumber: s,
2181
+ carrierCode: n
2182
+ };
2183
+ }
2184
+ function c0(t, e, d) {
2185
+ return !(m(t, d.nationalNumberPattern()) && !m(e, d.nationalNumberPattern()));
2186
+ }
2187
+ function f0(t, e, d) {
2188
+ switch (te(t, e, d)) {
2189
+ case "TOO_SHORT":
2190
+ case "INVALID_LENGTH":
2191
+ return !1;
2192
+ default:
2193
+ return !0;
2194
+ }
2195
+ }
2196
+ function h0(t, e, d, r, n) {
2197
+ var s = d ? ee(d, n) : r;
2198
+ if (t.indexOf(s) === 0) {
2199
+ n = new f(n), n.selectNumberingPlan(d, s);
2200
+ var $ = t.slice(s.length), o = K($, e, n), i = o.nationalNumber, a = K(t, e, n), u = a.nationalNumber;
2201
+ if (!m(u, n.nationalNumberPattern()) && m(i, n.nationalNumberPattern()) || te(u, e, n) === "TOO_LONG")
2202
+ return {
2203
+ countryCallingCode: s,
2204
+ number: $
2205
+ };
2206
+ }
2207
+ return {
2208
+ number: t
2209
+ };
2210
+ }
2211
+ function Le(t, e, d, r, n) {
2212
+ if (!t)
2213
+ return {};
2214
+ var s;
2215
+ if (t[0] !== "+") {
2216
+ var $ = i0(t, d, r, n);
2217
+ if ($ && $ !== t)
2218
+ s = !0, t = "+" + $;
2219
+ else {
2220
+ if (d || r) {
2221
+ var o = h0(t, e, d, r, n), i = o.countryCallingCode, a = o.number;
2222
+ if (i)
2223
+ return {
2224
+ countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
2225
+ countryCallingCode: i,
2226
+ number: a
2227
+ };
2228
+ }
2229
+ return {
2230
+ // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
2231
+ // countryCallingCodeSource: 'UNSPECIFIED',
2232
+ number: t
2233
+ };
2234
+ }
2235
+ }
2236
+ if (t[1] === "0")
2237
+ return {};
2238
+ n = new f(n);
2239
+ for (var u = 2; u - 1 <= Qt && u <= t.length; ) {
2240
+ var l = t.slice(1, u);
2241
+ if (n.hasCallingCode(l))
2242
+ return n.selectNumberingPlan(l), {
2243
+ countryCallingCodeSource: s ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
2244
+ countryCallingCode: l,
2245
+ number: t.slice(u)
2246
+ };
2247
+ u++;
2248
+ }
2249
+ return {};
2250
+ }
2251
+ function y0(t) {
2252
+ return t.replace(new RegExp("[".concat(L, "]+"), "g"), " ").trim();
2253
+ }
2254
+ var g0 = /(\$\d)/;
2255
+ function m0(t, e, d) {
2256
+ var r = d.useInternationalFormat, n = d.withNationalPrefix, s = t.replace(new RegExp(e.pattern()), r ? e.internationalFormat() : (
2257
+ // This library doesn't use `domestic_carrier_code_formatting_rule`,
2258
+ // because that one is only used when formatting phone numbers
2259
+ // for dialing from a mobile phone, and this is not a dialing library.
2260
+ // carrierCode && format.domesticCarrierCodeFormattingRule()
2261
+ // // First, replace the $CC in the formatting rule with the desired carrier code.
2262
+ // // Then, replace the $FG in the formatting rule with the first group
2263
+ // // and the carrier code combined in the appropriate way.
2264
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
2265
+ // : (
2266
+ // withNationalPrefix && format.nationalPrefixFormattingRule()
2267
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
2268
+ // : format.format()
2269
+ // )
2270
+ n && e.nationalPrefixFormattingRule() ? e.format().replace(g0, e.nationalPrefixFormattingRule()) : e.format()
2271
+ ));
2272
+ return r ? y0(s) : s;
2273
+ }
2274
+ var p0 = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
2275
+ function b0(t, e, d) {
2276
+ var r = new f(d);
2277
+ if (r.selectNumberingPlan(t, e), r.defaultIDDPrefix())
2278
+ return r.defaultIDDPrefix();
2279
+ if (p0.test(r.IDDPrefix()))
2280
+ return r.IDDPrefix();
2281
+ }
2282
+ var v0 = ";ext=", N = function(e) {
2283
+ return "([".concat(y, "]{1,").concat(e, "})");
2284
+ };
2285
+ function Me(t) {
2286
+ var e = "20", d = "15", r = "9", n = "6", s = "[  \\t,]*", $ = "[:\\..]?[  \\t,-]*", o = "#?", i = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", a = "(?:[xx##~~]|int|int)", u = "[- ]+", l = "[  \\t]*", h = "(?:,{2}|;)", b = v0 + N(e), P = s + i + $ + N(e) + o, v = s + a + $ + N(r) + o, D = u + N(n) + "#", k = l + h + $ + N(d) + o, U = l + "(?:,)+" + $ + N(r) + o;
2287
+ return b + "|" + P + "|" + v + "|" + D + "|" + k + "|" + U;
2288
+ }
2289
+ var P0 = "[" + y + "]{" + re + "}", N0 = "[" + ne + "]{0,1}(?:[" + L + "]*[" + y + "]){3,}[" + L + y + "]*", T0 = new RegExp("^[" + ne + "]{0,1}(?:[" + L + "]*[" + y + "]){1,2}$", "i"), C0 = N0 + // Phone number extensions
2290
+ "(?:" + Me() + ")?", E0 = new RegExp(
2291
+ // Either a short two-digit-only phone number
2292
+ "^" + P0 + "$|^" + C0 + "$",
2293
+ "i"
2294
+ );
2295
+ function O0(t) {
2296
+ return t.length >= re && E0.test(t);
2297
+ }
2298
+ function _0(t) {
2299
+ return T0.test(t);
2300
+ }
2301
+ function x0(t) {
2302
+ var e = t.number, d = t.ext;
2303
+ if (!e)
2304
+ return "";
2305
+ if (e[0] !== "+")
2306
+ throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
2307
+ return "tel:".concat(e).concat(d ? ";ext=" + d : "");
2308
+ }
2309
+ var he = {
2310
+ formatExtension: function(e, d, r) {
2311
+ return "".concat(e).concat(r.ext()).concat(d);
2312
+ }
2313
+ };
2314
+ function S0(t, e, d, r) {
2315
+ if (d ? d = F0({}, he, d) : d = he, r = new f(r), t.country && t.country !== "001") {
2316
+ if (!r.hasCountry(t.country))
2317
+ throw new Error("Unknown country: ".concat(t.country));
2318
+ r.selectNumberingPlan(t.country);
2319
+ } else if (t.countryCallingCode)
2320
+ r.selectNumberingPlan(t.countryCallingCode);
2321
+ else return t.phone || "";
2322
+ var n = r.countryCallingCode(), s = d.v2 ? t.nationalNumber : t.phone, $;
2323
+ switch (e) {
2324
+ case "NATIONAL":
2325
+ return s ? ($ = M(s, t.carrierCode, "NATIONAL", r, d), H($, t.ext, r, d.formatExtension)) : "";
2326
+ case "INTERNATIONAL":
2327
+ return s ? ($ = M(s, null, "INTERNATIONAL", r, d), $ = "+".concat(n, " ").concat($), H($, t.ext, r, d.formatExtension)) : "+".concat(n);
2328
+ case "E.164":
2329
+ return "+".concat(n).concat(s);
2330
+ case "RFC3966":
2331
+ return x0({
2332
+ number: "+".concat(n).concat(s),
2333
+ ext: t.ext
2334
+ });
2335
+ case "IDD":
2336
+ if (!d.fromCountry)
2337
+ return;
2338
+ var o = I0(s, t.carrierCode, n, d.fromCountry, r);
2339
+ return o ? H(o, t.ext, r, d.formatExtension) : void 0;
2340
+ default:
2341
+ throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e, '"'));
2342
+ }
2343
+ }
2344
+ function M(t, e, d, r, n) {
2345
+ var s = R0(r.formats(), t);
2346
+ return s ? m0(t, s, {
2347
+ useInternationalFormat: d === "INTERNATIONAL",
2348
+ withNationalPrefix: !(s.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && n && n.nationalPrefix === !1)
2349
+ }) : t;
2350
+ }
2351
+ function R0(t, e) {
2352
+ return w0(t, function(d) {
2353
+ if (d.leadingDigitsPatterns().length > 0) {
2354
+ var r = d.leadingDigitsPatterns()[d.leadingDigitsPatterns().length - 1];
2355
+ if (e.search(r) !== 0)
2356
+ return !1;
2357
+ }
2358
+ return m(e, d.pattern());
2359
+ });
2360
+ }
2361
+ function H(t, e, d, r) {
2362
+ return e ? r(t, e, d) : t;
2363
+ }
2364
+ function I0(t, e, d, r, n) {
2365
+ var s = ee(r, n.metadata);
2366
+ if (s === d) {
2367
+ var $ = M(t, e, "NATIONAL", n);
2368
+ return d === "1" ? d + " " + $ : $;
2369
+ }
2370
+ var o = b0(r, void 0, n.metadata);
2371
+ if (o)
2372
+ return "".concat(o, " ").concat(d, " ").concat(M(t, null, "INTERNATIONAL", n));
2373
+ }
2374
+ function F0() {
2375
+ for (var t = 1, e = arguments.length, d = new Array(e), r = 0; r < e; r++)
2376
+ d[r] = arguments[r];
2377
+ for (; t < d.length; ) {
2378
+ if (d[t])
2379
+ for (var n in d[t])
2380
+ d[0][n] = d[t][n];
2381
+ t++;
2382
+ }
2383
+ return d[0];
2384
+ }
2385
+ function w0(t, e) {
2386
+ for (var d = 0; d < t.length; ) {
2387
+ if (e(t[d]))
2388
+ return t[d];
2389
+ d++;
2390
+ }
2391
+ }
2392
+ function E(t) {
2393
+ "@babel/helpers - typeof";
2394
+ return E = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2395
+ return typeof e;
2396
+ } : function(e) {
2397
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2398
+ }, E(t);
2399
+ }
2400
+ function ye(t, e) {
2401
+ var d = Object.keys(t);
2402
+ if (Object.getOwnPropertySymbols) {
2403
+ var r = Object.getOwnPropertySymbols(t);
2404
+ e && (r = r.filter(function(n) {
2405
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2406
+ })), d.push.apply(d, r);
2407
+ }
2408
+ return d;
2409
+ }
2410
+ function ge(t) {
2411
+ for (var e = 1; e < arguments.length; e++) {
2412
+ var d = arguments[e] != null ? arguments[e] : {};
2413
+ e % 2 ? ye(Object(d), !0).forEach(function(r) {
2414
+ A0(t, r, d[r]);
2415
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : ye(Object(d)).forEach(function(r) {
2416
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2417
+ });
2418
+ }
2419
+ return t;
2420
+ }
2421
+ function A0(t, e, d) {
2422
+ return (e = je(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2423
+ }
2424
+ function D0(t, e) {
2425
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2426
+ }
2427
+ function L0(t, e) {
2428
+ for (var d = 0; d < e.length; d++) {
2429
+ var r = e[d];
2430
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, je(r.key), r);
2431
+ }
2432
+ }
2433
+ function M0(t, e, d) {
2434
+ return e && L0(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
2435
+ }
2436
+ function je(t) {
2437
+ var e = j0(t, "string");
2438
+ return E(e) == "symbol" ? e : e + "";
2439
+ }
2440
+ function j0(t, e) {
2441
+ if (E(t) != "object" || !t) return t;
2442
+ var d = t[Symbol.toPrimitive];
2443
+ if (d !== void 0) {
2444
+ var r = d.call(t, e);
2445
+ if (E(r) != "object") return r;
2446
+ throw new TypeError("@@toPrimitive must return a primitive value.");
2447
+ }
2448
+ return String(t);
2449
+ }
2450
+ var B0 = /* @__PURE__ */ function() {
2451
+ function t(e, d, r) {
2452
+ if (D0(this, t), !e)
2453
+ throw new TypeError("First argument is required");
2454
+ if (typeof e != "string")
2455
+ throw new TypeError("First argument must be a string");
2456
+ if (e[0] === "+" && !d)
2457
+ throw new TypeError("`metadata` argument not passed");
2458
+ if (T(d) && T(d.countries)) {
2459
+ r = d;
2460
+ var n = e;
2461
+ if (!G0.test(n))
2462
+ throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
2463
+ var s = Le(n, void 0, void 0, void 0, r), $ = s.countryCallingCode, o = s.number;
2464
+ if (d = o, e = $, !d)
2465
+ throw new Error("Invalid `number` argument passed: too short");
2466
+ }
2467
+ if (!d)
2468
+ throw new TypeError("`nationalNumber` argument is required");
2469
+ if (typeof d != "string")
2470
+ throw new TypeError("`nationalNumber` argument must be a string");
2471
+ Fe(r);
2472
+ var i = U0(e, r), a = i.country, u = i.countryCallingCode;
2473
+ this.country = a, this.countryCallingCode = u, this.nationalNumber = d, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
2474
+ return r;
2475
+ };
2476
+ }
2477
+ return M0(t, [{
2478
+ key: "setExt",
2479
+ value: function(d) {
2480
+ this.ext = d;
2481
+ }
2482
+ }, {
2483
+ key: "getPossibleCountries",
2484
+ value: function() {
2485
+ return this.country ? [this.country] : Xt(this.countryCallingCode, this.nationalNumber, this.getMetadata());
2486
+ }
2487
+ }, {
2488
+ key: "isPossible",
2489
+ value: function() {
2490
+ return Jt(this, {
2491
+ v2: !0
2492
+ }, this.getMetadata());
2493
+ }
2494
+ }, {
2495
+ key: "isValid",
2496
+ value: function() {
2497
+ return qt(this, {
2498
+ v2: !0
2499
+ }, this.getMetadata());
2500
+ }
2501
+ }, {
2502
+ key: "isNonGeographic",
2503
+ value: function() {
2504
+ var d = new f(this.getMetadata());
2505
+ return d.isNonGeographicCallingCode(this.countryCallingCode);
2506
+ }
2507
+ }, {
2508
+ key: "isEqual",
2509
+ value: function(d) {
2510
+ return this.number === d.number && this.ext === d.ext;
2511
+ }
2512
+ // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
2513
+ // but later it was found out that it doesn't include the possible `TOO_SHORT` result
2514
+ // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
2515
+ // so eventually I simply commented out this method from the `PhoneNumber` class
2516
+ // and just left the `validatePhoneNumberLength()` function, even though that one would require
2517
+ // and additional step to also validate the actual country / calling code of the phone number.
2518
+ // validateLength() {
2519
+ // const metadata = new Metadata(this.getMetadata())
2520
+ // metadata.selectNumberingPlan(this.countryCallingCode)
2521
+ // const result = checkNumberLength(this.nationalNumber, metadata)
2522
+ // if (result !== 'IS_POSSIBLE') {
2523
+ // return result
2524
+ // }
2525
+ // }
2526
+ }, {
2527
+ key: "getType",
2528
+ value: function() {
2529
+ return de(this, {
2530
+ v2: !0
2531
+ }, this.getMetadata());
2532
+ }
2533
+ }, {
2534
+ key: "format",
2535
+ value: function(d, r) {
2536
+ return S0(this, d, r ? ge(ge({}, r), {}, {
2537
+ v2: !0
2538
+ }) : {
2539
+ v2: !0
2540
+ }, this.getMetadata());
2541
+ }
2542
+ }, {
2543
+ key: "formatNational",
2544
+ value: function(d) {
2545
+ return this.format("NATIONAL", d);
2546
+ }
2547
+ }, {
2548
+ key: "formatInternational",
2549
+ value: function(d) {
2550
+ return this.format("INTERNATIONAL", d);
2551
+ }
2552
+ }, {
2553
+ key: "getURI",
2554
+ value: function(d) {
2555
+ return this.format("RFC3966", d);
2556
+ }
2557
+ }]);
2558
+ }(), k0 = function(e) {
2559
+ return /^[A-Z]{2}$/.test(e);
2560
+ };
2561
+ function U0(t, e) {
2562
+ var d, r, n = new f(e);
2563
+ return k0(t) ? (d = t, n.selectNumberingPlan(d), r = n.countryCallingCode()) : r = t, {
2564
+ country: d,
2565
+ countryCallingCode: r
2566
+ };
2567
+ }
2568
+ var G0 = /^\+\d+$/;
2569
+ function Z(t) {
2570
+ "@babel/helpers - typeof";
2571
+ return Z = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2572
+ return typeof e;
2573
+ } : function(e) {
2574
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2575
+ }, Z(t);
2576
+ }
2577
+ function H0(t, e, d) {
2578
+ return Object.defineProperty(t, "prototype", { writable: !1 }), t;
2579
+ }
2580
+ function V0(t, e) {
2581
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2582
+ }
2583
+ function J0(t, e, d) {
2584
+ return e = _(e), W0(t, se() ? Reflect.construct(e, d || [], _(t).constructor) : e.apply(t, d));
2585
+ }
2586
+ function W0(t, e) {
2587
+ if (e && (Z(e) == "object" || typeof e == "function")) return e;
2588
+ if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
2589
+ return K0(t);
2590
+ }
2591
+ function K0(t) {
2592
+ if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2593
+ return t;
2594
+ }
2595
+ function Z0(t, e) {
2596
+ if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
2597
+ t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && O(t, e);
2598
+ }
2599
+ function q(t) {
2600
+ var e = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
2601
+ return q = function(r) {
2602
+ if (r === null || !X0(r)) return r;
2603
+ if (typeof r != "function") throw new TypeError("Super expression must either be null or a function");
2604
+ if (e !== void 0) {
2605
+ if (e.has(r)) return e.get(r);
2606
+ e.set(r, n);
2607
+ }
2608
+ function n() {
2609
+ return q0(r, arguments, _(this).constructor);
2610
+ }
2611
+ return n.prototype = Object.create(r.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 } }), O(n, r);
2612
+ }, q(t);
2613
+ }
2614
+ function q0(t, e, d) {
2615
+ if (se()) return Reflect.construct.apply(null, arguments);
2616
+ var r = [null];
2617
+ r.push.apply(r, e);
2618
+ var n = new (t.bind.apply(t, r))();
2619
+ return d && O(n, d.prototype), n;
2620
+ }
2621
+ function se() {
2622
+ try {
2623
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
2624
+ }));
2625
+ } catch {
2626
+ }
2627
+ return (se = function() {
2628
+ return !!t;
2629
+ })();
2630
+ }
2631
+ function X0(t) {
2632
+ try {
2633
+ return Function.toString.call(t).indexOf("[native code]") !== -1;
2634
+ } catch {
2635
+ return typeof t == "function";
2636
+ }
2637
+ }
2638
+ function O(t, e) {
2639
+ return O = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(d, r) {
2640
+ return d.__proto__ = r, d;
2641
+ }, O(t, e);
2642
+ }
2643
+ function _(t) {
2644
+ return _ = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
2645
+ return e.__proto__ || Object.getPrototypeOf(e);
2646
+ }, _(t);
2647
+ }
2648
+ var g = /* @__PURE__ */ function(t) {
2649
+ function e(d) {
2650
+ var r;
2651
+ return V0(this, e), r = J0(this, e, [d]), Object.setPrototypeOf(r, e.prototype), r.name = r.constructor.name, r;
2652
+ }
2653
+ return Z0(e, t), H0(e);
2654
+ }(/* @__PURE__ */ q(Error)), me = new RegExp("(?:" + Me() + ")$", "i");
2655
+ function Y0(t) {
2656
+ var e = t.search(me);
2657
+ if (e < 0)
2658
+ return {};
2659
+ for (var d = t.slice(0, e), r = t.match(me), n = 1; n < r.length; ) {
2660
+ if (r[n])
2661
+ return {
2662
+ number: d,
2663
+ ext: r[n]
2664
+ };
2665
+ n++;
2666
+ }
2667
+ }
2668
+ var z0 = {
2669
+ 0: "0",
2670
+ 1: "1",
2671
+ 2: "2",
2672
+ 3: "3",
2673
+ 4: "4",
2674
+ 5: "5",
2675
+ 6: "6",
2676
+ 7: "7",
2677
+ 8: "8",
2678
+ 9: "9",
2679
+ "0": "0",
2680
+ // Fullwidth digit 0
2681
+ "1": "1",
2682
+ // Fullwidth digit 1
2683
+ "2": "2",
2684
+ // Fullwidth digit 2
2685
+ "3": "3",
2686
+ // Fullwidth digit 3
2687
+ "4": "4",
2688
+ // Fullwidth digit 4
2689
+ "5": "5",
2690
+ // Fullwidth digit 5
2691
+ "6": "6",
2692
+ // Fullwidth digit 6
2693
+ "7": "7",
2694
+ // Fullwidth digit 7
2695
+ "8": "8",
2696
+ // Fullwidth digit 8
2697
+ "9": "9",
2698
+ // Fullwidth digit 9
2699
+ "٠": "0",
2700
+ // Arabic-indic digit 0
2701
+ "١": "1",
2702
+ // Arabic-indic digit 1
2703
+ "٢": "2",
2704
+ // Arabic-indic digit 2
2705
+ "٣": "3",
2706
+ // Arabic-indic digit 3
2707
+ "٤": "4",
2708
+ // Arabic-indic digit 4
2709
+ "٥": "5",
2710
+ // Arabic-indic digit 5
2711
+ "٦": "6",
2712
+ // Arabic-indic digit 6
2713
+ "٧": "7",
2714
+ // Arabic-indic digit 7
2715
+ "٨": "8",
2716
+ // Arabic-indic digit 8
2717
+ "٩": "9",
2718
+ // Arabic-indic digit 9
2719
+ "۰": "0",
2720
+ // Eastern-Arabic digit 0
2721
+ "۱": "1",
2722
+ // Eastern-Arabic digit 1
2723
+ "۲": "2",
2724
+ // Eastern-Arabic digit 2
2725
+ "۳": "3",
2726
+ // Eastern-Arabic digit 3
2727
+ "۴": "4",
2728
+ // Eastern-Arabic digit 4
2729
+ "۵": "5",
2730
+ // Eastern-Arabic digit 5
2731
+ "۶": "6",
2732
+ // Eastern-Arabic digit 6
2733
+ "۷": "7",
2734
+ // Eastern-Arabic digit 7
2735
+ "۸": "8",
2736
+ // Eastern-Arabic digit 8
2737
+ "۹": "9"
2738
+ // Eastern-Arabic digit 9
2739
+ };
2740
+ function Q0(t) {
2741
+ return z0[t];
2742
+ }
2743
+ function ed(t, e) {
2744
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2745
+ if (d) return (d = d.call(t)).next.bind(d);
2746
+ if (Array.isArray(t) || (d = td(t)) || e) {
2747
+ d && (t = d);
2748
+ var r = 0;
2749
+ return function() {
2750
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2751
+ };
2752
+ }
2753
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2754
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2755
+ }
2756
+ function td(t, e) {
2757
+ if (t) {
2758
+ if (typeof t == "string") return pe(t, e);
2759
+ var d = {}.toString.call(t).slice(8, -1);
2760
+ return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? pe(t, e) : void 0;
2761
+ }
2762
+ }
2763
+ function pe(t, e) {
2764
+ (e == null || e > t.length) && (e = t.length);
2765
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2766
+ return r;
2767
+ }
2768
+ function be(t) {
2769
+ for (var e = "", d = ed(t.split("")), r; !(r = d()).done; ) {
2770
+ var n = r.value;
2771
+ e += dd(n, e) || "";
2772
+ }
2773
+ return e;
2774
+ }
2775
+ function dd(t, e, d) {
2776
+ return t === "+" ? e ? void 0 : "+" : Q0(t);
2777
+ }
2778
+ var Be = "+", rd = "[\\-\\.\\(\\)]?", ve = "([" + y + "]|" + rd + ")", nd = "^\\" + Be + ve + "*[" + y + "]" + ve + "*$", sd = new RegExp(nd, "g"), X = y, $d = "[" + X + "]+((\\-)*[" + X + "])*", id = "a-zA-Z", od = "[" + id + "]+((\\-)*[" + X + "])*", ad = "^(" + $d + "\\.)*" + od + "\\.?$", ud = new RegExp(ad, "g"), Pe = "tel:", Y = ";phone-context=", ld = ";isub=";
2779
+ function cd(t) {
2780
+ var e = t.indexOf(Y);
2781
+ if (e < 0)
2782
+ return null;
2783
+ var d = e + Y.length;
2784
+ if (d >= t.length)
2785
+ return "";
2786
+ var r = t.indexOf(";", d);
2787
+ return r >= 0 ? t.substring(d, r) : t.substring(d);
2788
+ }
2789
+ function fd(t) {
2790
+ return t === null ? !0 : t.length === 0 ? !1 : sd.test(t) || ud.test(t);
2791
+ }
2792
+ function hd(t, e) {
2793
+ var d = e.extractFormattedPhoneNumber, r = cd(t);
2794
+ if (!fd(r))
2795
+ throw new g("NOT_A_NUMBER");
2796
+ var n;
2797
+ if (r === null)
2798
+ n = d(t) || "";
2799
+ else {
2800
+ n = "", r.charAt(0) === Be && (n += r);
2801
+ var s = t.indexOf(Pe), $;
2802
+ s >= 0 ? $ = s + Pe.length : $ = 0;
2803
+ var o = t.indexOf(Y);
2804
+ n += t.substring($, o);
2805
+ }
2806
+ var i = n.indexOf(ld);
2807
+ if (i > 0 && (n = n.substring(0, i)), n !== "")
2808
+ return n;
2809
+ }
2810
+ var yd = 250, gd = new RegExp("[" + ne + y + "]"), md = new RegExp("[^" + y + "#]+$");
2811
+ function pd(t, e, d) {
2812
+ if (e = e || {}, d = new f(d), e.defaultCountry && !d.hasCountry(e.defaultCountry))
2813
+ throw e.v2 ? new g("INVALID_COUNTRY") : new Error("Unknown country: ".concat(e.defaultCountry));
2814
+ var r = vd(t, e.v2, e.extract), n = r.number, s = r.ext, $ = r.error;
2815
+ if (!n) {
2816
+ if (e.v2)
2817
+ throw $ === "TOO_SHORT" ? new g("TOO_SHORT") : new g("NOT_A_NUMBER");
2818
+ return {};
2819
+ }
2820
+ var o = Nd(n, e.defaultCountry, e.defaultCallingCode, d), i = o.country, a = o.nationalNumber, u = o.countryCallingCode, l = o.countryCallingCodeSource, h = o.carrierCode;
2821
+ if (!d.hasSelectedNumberingPlan()) {
2822
+ if (e.v2)
2823
+ throw new g("INVALID_COUNTRY");
2824
+ return {};
2825
+ }
2826
+ if (!a || a.length < re) {
2827
+ if (e.v2)
2828
+ throw new g("TOO_SHORT");
2829
+ return {};
2830
+ }
2831
+ if (a.length > zt) {
2832
+ if (e.v2)
2833
+ throw new g("TOO_LONG");
2834
+ return {};
2835
+ }
2836
+ if (e.v2) {
2837
+ var b = new B0(u, a, d.metadata);
2838
+ return i && (b.country = i), h && (b.carrierCode = h), s && (b.ext = s), b.__countryCallingCodeSource = l, b;
2839
+ }
2840
+ var P = (e.extended ? d.hasSelectedNumberingPlan() : i) ? m(a, d.nationalNumberPattern()) : !1;
2841
+ return e.extended ? {
2842
+ country: i,
2843
+ countryCallingCode: u,
2844
+ carrierCode: h,
2845
+ valid: P,
2846
+ possible: P ? !0 : !!(e.extended === !0 && d.possibleLengths() && Ae(a, i, d)),
2847
+ phone: a,
2848
+ ext: s
2849
+ } : P ? Pd(i, a, s) : {};
2850
+ }
2851
+ function bd(t, e, d) {
2852
+ if (t) {
2853
+ if (t.length > yd) {
2854
+ if (d)
2855
+ throw new g("TOO_LONG");
2856
+ return;
2857
+ }
2858
+ if (e === !1)
2859
+ return t;
2860
+ var r = t.search(gd);
2861
+ if (!(r < 0))
2862
+ return t.slice(r).replace(md, "");
2863
+ }
2864
+ }
2865
+ function vd(t, e, d) {
2866
+ var r = hd(t, {
2867
+ extractFormattedPhoneNumber: function($) {
2868
+ return bd($, d, e);
2869
+ }
2870
+ });
2871
+ if (!r)
2872
+ return {};
2873
+ if (!O0(r))
2874
+ return _0(r) ? {
2875
+ error: "TOO_SHORT"
2876
+ } : {};
2877
+ var n = Y0(r);
2878
+ return n.ext ? n : {
2879
+ number: r
2880
+ };
2881
+ }
2882
+ function Pd(t, e, d) {
2883
+ var r = {
2884
+ country: t,
2885
+ phone: e
2886
+ };
2887
+ return d && (r.ext = d), r;
2888
+ }
2889
+ function Nd(t, e, d, r) {
2890
+ var n = Le(be(t), void 0, e, d, r.metadata), s = n.countryCallingCodeSource, $ = n.countryCallingCode, o = n.number, i;
2891
+ if ($)
2892
+ r.selectNumberingPlan($);
2893
+ else if (o && (e || d))
2894
+ r.selectNumberingPlan(e, d), e && (i = e), $ = d || ee(e, r.metadata);
2895
+ else return {};
2896
+ if (!o)
2897
+ return {
2898
+ countryCallingCodeSource: s,
2899
+ countryCallingCode: $
2900
+ };
2901
+ var a = K(be(o), i, r), u = a.nationalNumber, l = a.carrierCode, h = De($, {
2902
+ nationalNumber: u,
2903
+ metadata: r
2904
+ });
2905
+ return h && (i = h, h === "001" || r.selectNumberingPlan(i)), {
2906
+ country: i,
2907
+ countryCallingCode: $,
2908
+ countryCallingCodeSource: s,
2909
+ nationalNumber: u,
2910
+ carrierCode: l
2911
+ };
2912
+ }
2913
+ function x(t) {
2914
+ "@babel/helpers - typeof";
2915
+ return x = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2916
+ return typeof e;
2917
+ } : function(e) {
2918
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2919
+ }, x(t);
2920
+ }
2921
+ function Ne(t, e) {
2922
+ var d = Object.keys(t);
2923
+ if (Object.getOwnPropertySymbols) {
2924
+ var r = Object.getOwnPropertySymbols(t);
2925
+ e && (r = r.filter(function(n) {
2926
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2927
+ })), d.push.apply(d, r);
2928
+ }
2929
+ return d;
2930
+ }
2931
+ function Te(t) {
2932
+ for (var e = 1; e < arguments.length; e++) {
2933
+ var d = arguments[e] != null ? arguments[e] : {};
2934
+ e % 2 ? Ne(Object(d), !0).forEach(function(r) {
2935
+ Td(t, r, d[r]);
2936
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Ne(Object(d)).forEach(function(r) {
2937
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2938
+ });
2939
+ }
2940
+ return t;
2941
+ }
2942
+ function Td(t, e, d) {
2943
+ return (e = Cd(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2944
+ }
2945
+ function Cd(t) {
2946
+ var e = Ed(t, "string");
2947
+ return x(e) == "symbol" ? e : e + "";
2948
+ }
2949
+ function Ed(t, e) {
2950
+ if (x(t) != "object" || !t) return t;
2951
+ var d = t[Symbol.toPrimitive];
2952
+ if (d !== void 0) {
2953
+ var r = d.call(t, e);
2954
+ if (x(r) != "object") return r;
2955
+ throw new TypeError("@@toPrimitive must return a primitive value.");
2956
+ }
2957
+ return (e === "string" ? String : Number)(t);
2958
+ }
2959
+ function ke(t, e, d) {
2960
+ return pd(t, Te(Te({}, e), {}, {
2961
+ v2: !0
2962
+ }), d);
2963
+ }
2964
+ function S(t) {
2965
+ "@babel/helpers - typeof";
2966
+ return S = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2967
+ return typeof e;
2968
+ } : function(e) {
2969
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2970
+ }, S(t);
2971
+ }
2972
+ function Ce(t, e) {
2973
+ var d = Object.keys(t);
2974
+ if (Object.getOwnPropertySymbols) {
2975
+ var r = Object.getOwnPropertySymbols(t);
2976
+ e && (r = r.filter(function(n) {
2977
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2978
+ })), d.push.apply(d, r);
2979
+ }
2980
+ return d;
2981
+ }
2982
+ function Od(t) {
2983
+ for (var e = 1; e < arguments.length; e++) {
2984
+ var d = arguments[e] != null ? arguments[e] : {};
2985
+ e % 2 ? Ce(Object(d), !0).forEach(function(r) {
2986
+ _d(t, r, d[r]);
2987
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Ce(Object(d)).forEach(function(r) {
2988
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2989
+ });
2990
+ }
2991
+ return t;
2992
+ }
2993
+ function _d(t, e, d) {
2994
+ return (e = xd(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2995
+ }
2996
+ function xd(t) {
2997
+ var e = Sd(t, "string");
2998
+ return S(e) == "symbol" ? e : e + "";
2999
+ }
3000
+ function Sd(t, e) {
3001
+ if (S(t) != "object" || !t) return t;
3002
+ var d = t[Symbol.toPrimitive];
3003
+ if (d !== void 0) {
3004
+ var r = d.call(t, e);
3005
+ if (S(r) != "object") return r;
3006
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3007
+ }
3008
+ return (e === "string" ? String : Number)(t);
3009
+ }
3010
+ function Rd(t, e) {
3011
+ return Ad(t) || wd(t, e) || Fd(t, e) || Id();
3012
+ }
3013
+ function Id() {
3014
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3015
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
3016
+ }
3017
+ function Fd(t, e) {
3018
+ if (t) {
3019
+ if (typeof t == "string") return Ee(t, e);
3020
+ var d = {}.toString.call(t).slice(8, -1);
3021
+ return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? Ee(t, e) : void 0;
3022
+ }
3023
+ }
3024
+ function Ee(t, e) {
3025
+ (e == null || e > t.length) && (e = t.length);
3026
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
3027
+ return r;
3028
+ }
3029
+ function wd(t, e) {
3030
+ var d = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
3031
+ if (d != null) {
3032
+ var r, n, s, $, o = [], i = !0, a = !1;
3033
+ try {
3034
+ if (s = (d = d.call(t)).next, e !== 0) for (; !(i = (r = s.call(d)).done) && (o.push(r.value), o.length !== e); i = !0) ;
3035
+ } catch (u) {
3036
+ a = !0, n = u;
3037
+ } finally {
3038
+ try {
3039
+ if (!i && d.return != null && ($ = d.return(), Object($) !== $)) return;
3040
+ } finally {
3041
+ if (a) throw n;
3042
+ }
3043
+ }
3044
+ return o;
3045
+ }
3046
+ }
3047
+ function Ad(t) {
3048
+ if (Array.isArray(t)) return t;
3049
+ }
3050
+ function Ue(t) {
3051
+ var e = Array.prototype.slice.call(t), d = Rd(e, 4), r = d[0], n = d[1], s = d[2], $ = d[3], o, i, a;
3052
+ if (typeof r == "string")
3053
+ o = r;
3054
+ else throw new TypeError("A text for parsing must be a string.");
3055
+ if (!n || typeof n == "string")
3056
+ $ ? (i = s, a = $) : (i = void 0, a = s), n && (i = Od({
3057
+ defaultCountry: n
3058
+ }, i));
3059
+ else if (T(n))
3060
+ s ? (i = n, a = s) : a = n;
3061
+ else throw new Error("Invalid second argument: ".concat(n));
3062
+ return {
3063
+ text: o,
3064
+ options: i,
3065
+ metadata: a
3066
+ };
3067
+ }
3068
+ function Dd() {
3069
+ var t = Ue(arguments), e = t.text, d = t.options, r = t.metadata;
3070
+ return ke(e, d, r);
3071
+ }
3072
+ function R(t) {
3073
+ "@babel/helpers - typeof";
3074
+ return R = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
3075
+ return typeof e;
3076
+ } : function(e) {
3077
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
3078
+ }, R(t);
3079
+ }
3080
+ function Oe(t, e) {
3081
+ var d = Object.keys(t);
3082
+ if (Object.getOwnPropertySymbols) {
3083
+ var r = Object.getOwnPropertySymbols(t);
3084
+ e && (r = r.filter(function(n) {
3085
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
3086
+ })), d.push.apply(d, r);
3087
+ }
3088
+ return d;
3089
+ }
3090
+ function _e(t) {
3091
+ for (var e = 1; e < arguments.length; e++) {
3092
+ var d = arguments[e] != null ? arguments[e] : {};
3093
+ e % 2 ? Oe(Object(d), !0).forEach(function(r) {
3094
+ Ld(t, r, d[r]);
3095
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Oe(Object(d)).forEach(function(r) {
3096
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
3097
+ });
3098
+ }
3099
+ return t;
3100
+ }
3101
+ function Ld(t, e, d) {
3102
+ return (e = Md(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
3103
+ }
3104
+ function Md(t) {
3105
+ var e = jd(t, "string");
3106
+ return R(e) == "symbol" ? e : e + "";
3107
+ }
3108
+ function jd(t, e) {
3109
+ if (R(t) != "object" || !t) return t;
3110
+ var d = t[Symbol.toPrimitive];
3111
+ if (d !== void 0) {
3112
+ var r = d.call(t, e);
3113
+ if (R(r) != "object") return r;
3114
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3115
+ }
3116
+ return (e === "string" ? String : Number)(t);
3117
+ }
3118
+ function Bd(t, e, d) {
3119
+ e && e.defaultCountry && !Ht(e.defaultCountry, d) && (e = _e(_e({}, e), {}, {
3120
+ defaultCountry: void 0
3121
+ }));
3122
+ try {
3123
+ return ke(t, e, d);
3124
+ } catch (r) {
3125
+ if (!(r instanceof g)) throw r;
3126
+ }
3127
+ }
3128
+ function I(t) {
3129
+ "@babel/helpers - typeof";
3130
+ return I = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
3131
+ return typeof e;
3132
+ } : function(e) {
3133
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
3134
+ }, I(t);
3135
+ }
3136
+ function xe(t, e) {
3137
+ var d = Object.keys(t);
3138
+ if (Object.getOwnPropertySymbols) {
3139
+ var r = Object.getOwnPropertySymbols(t);
3140
+ e && (r = r.filter(function(n) {
3141
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
3142
+ })), d.push.apply(d, r);
3143
+ }
3144
+ return d;
3145
+ }
3146
+ function Se(t) {
3147
+ for (var e = 1; e < arguments.length; e++) {
3148
+ var d = arguments[e] != null ? arguments[e] : {};
3149
+ e % 2 ? xe(Object(d), !0).forEach(function(r) {
3150
+ kd(t, r, d[r]);
3151
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : xe(Object(d)).forEach(function(r) {
3152
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
3153
+ });
3154
+ }
3155
+ return t;
3156
+ }
3157
+ function kd(t, e, d) {
3158
+ return (e = Ud(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
3159
+ }
3160
+ function Ud(t) {
3161
+ var e = Gd(t, "string");
3162
+ return I(e) == "symbol" ? e : e + "";
3163
+ }
3164
+ function Gd(t, e) {
3165
+ if (I(t) != "object" || !t) return t;
3166
+ var d = t[Symbol.toPrimitive];
3167
+ if (d !== void 0) {
3168
+ var r = d.call(t, e);
3169
+ if (I(r) != "object") return r;
3170
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3171
+ }
3172
+ return (e === "string" ? String : Number)(t);
3173
+ }
3174
+ function Hd() {
3175
+ var t = Ue(arguments), e = t.text, d = t.options, r = t.metadata;
3176
+ d = Se(Se({}, d), {}, {
3177
+ extract: !1
3178
+ });
3179
+ var n = Bd(e, d, r);
3180
+ return n && n.isValid() || !1;
3181
+ }
3182
+ function Vd() {
3183
+ return Ie(Dd, arguments);
3184
+ }
3185
+ function Jd() {
3186
+ return Ie(Hd, arguments);
3187
+ }
3188
+ function a1(t) {
3189
+ if (!Jd(t)) return !1;
3190
+ const e = Vd(t), d = e == null ? void 0 : e.country;
3191
+ return !(!d || !Ke.find((n) => n.iso === d));
3192
+ }
3193
+ function u1(t) {
3194
+ if (!t || !/^[0-9a-zA-Z.-]+$/.test(t)) return !1;
3195
+ const d = t.replace(/[^a-zA-Z0-9]/g, "");
3196
+ return d.length < 7 || d.length > 9 ? !1 : /^[0-9]{7,8}[0-9Xx]?$/.test(d);
3197
+ }
3198
+ export {
3199
+ Yd as ApiService,
3200
+ qe as BadGateway,
3201
+ V as BadRequest,
3202
+ Xe as Conflict,
3203
+ tt as Created,
3204
+ Q as DebugService,
3205
+ Ye as Forbidden,
3206
+ dt as Found,
3207
+ Re as LogService,
3208
+ rt as NoContent,
3209
+ ze as NotFound,
3210
+ Qe as NotImplemented,
3211
+ d1 as SchemaValidator,
3212
+ J as ServerError,
3213
+ nt as Success,
3214
+ et as Unauthorized,
3215
+ W as UnprocessableEntity,
3216
+ st as Updated,
3217
+ zd as decodeRequestBody,
3218
+ Qd as decodeRequestErrorMessage,
3219
+ e1 as errorHandler,
3220
+ F as flushDebugLogs,
3221
+ ft as formAsyncParse,
3222
+ ht as formParse,
3223
+ t1 as getScopedParams,
3224
+ r1 as validateCep,
3225
+ n1 as validateCnpj,
3226
+ s1 as validateCpf,
3227
+ $1 as validateDate,
3228
+ i1 as validateEmail,
3229
+ o1 as validatePassword,
3230
+ a1 as validatePhone,
3231
+ u1 as validateRg
3232
+ };