@arkyn/server 3.0.1-beta.14 → 3.0.1-beta.141

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 +3247 -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 +109 -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} +9 -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 +190 -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 +27 -12
  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,3247 @@
1
+ var Ke = Object.defineProperty;
2
+ var qe = (t, e, d) => e in t ? Ke(t, e, { enumerable: !0, configurable: !0, writable: !0, value: d }) : t[e] = d;
3
+ var c = (t, e, d) => qe(t, typeof e != "symbol" ? e + "" : e, d);
4
+ import { formatJsonString as Ze, formatJsonObject as Xe, removeNonNumeric as Q, ValidateDateService as Ye } from "@arkyn/shared";
5
+ import ze from "node:path";
6
+ import Qe from "node:dns";
7
+ import { countries as et } from "@arkyn/templates";
8
+ class ee {
9
+ /**
10
+ * Sets the file name to be ignored during stack trace analysis.
11
+ *
12
+ * This method configures the debug service to skip specific files when
13
+ * determining the actual caller of a function. This is useful when you have
14
+ * adapter or wrapper functions that you want to be transparent in the debug output.
15
+ *
16
+ * @param {string} file - The name of the file to ignore in stack traces (e.g., "httpAdapter.ts")
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Ignore the HTTP adapter file so debug shows the actual business logic caller
21
+ * DebugService.setIgnoreFile("httpAdapter.ts");
22
+ * ```
23
+ */
24
+ static setIgnoreFile(e) {
25
+ this.ignoreFiles.push(e);
26
+ }
27
+ /**
28
+ * Clears all configured ignore files.
29
+ *
30
+ * This method resets the ignore file configuration, allowing all files to be
31
+ * considered in stack trace analysis again.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Clear all ignore file configurations
36
+ * DebugService.clearIgnoreFiles();
37
+ * ```
38
+ */
39
+ static clearIgnoreFiles() {
40
+ this.ignoreFiles = [];
41
+ }
42
+ /**
43
+ * Retrieves information about the caller of the current function.
44
+ *
45
+ * This function analyzes the stack trace to determine the file path and function name
46
+ * of the caller. It excludes stack trace entries related to the `@arkyn/server` package
47
+ * and attempts to resolve the file path relative to the project root directory.
48
+ *
49
+ * @returns An object containing:
50
+ * - `functionName`: The name of the function that called the current function, or "Unknown function" if it cannot be determined.
51
+ * - `callerInfo`: The file path of the caller relative to the project root, or "Unknown caller" if it cannot be determined.
52
+ */
53
+ static getCaller() {
54
+ const e = process.cwd(), n = (new Error().stack || "").split(`
55
+ `).map((u) => u.trim());
56
+ let s = 2;
57
+ for (; s < n.length && (n[s].includes("node:internal") || n[s].includes("/node_modules/")); )
58
+ s++;
59
+ if (this.ignoreFiles.length > 0)
60
+ for (; s < n.length && this.ignoreFiles.some(
61
+ (u) => n[s].includes(u)
62
+ ); )
63
+ s++;
64
+ const $ = n[s] || "";
65
+ let o = "Unknown function", i = "Unknown caller";
66
+ const a = $.match(/at\s+([^(\s]+)\s+\(([^)]+)\)/);
67
+ if (a)
68
+ o = a[1], i = a[2];
69
+ else {
70
+ const u = $.match(/at\s+(.+)/);
71
+ if (u) {
72
+ i = u[1];
73
+ const l = i.match(/at\s+([^(\s]+)\s+/);
74
+ l && l[1] !== "new" && (o = l[1]);
75
+ }
76
+ }
77
+ i.includes("(") && (i = i.substring(
78
+ i.indexOf("(") + 1,
79
+ i.lastIndexOf(")")
80
+ )), i = i.split(":").slice(0, -2).join(":");
81
+ try {
82
+ i = ze.relative(e, i);
83
+ } catch {
84
+ }
85
+ return { functionName: o, callerInfo: i };
86
+ }
87
+ }
88
+ /**
89
+ * The name of the file to ignore when analyzing the stack trace.
90
+ * When set, the `getCaller` function will skip stack frames containing this file name.
91
+ */
92
+ c(ee, "ignoreFiles", []);
93
+ function C(t) {
94
+ var d;
95
+ if (process.env.NODE_ENV === "development" || ((d = process.env) == null ? void 0 : d.DEBUG_MODE) === "true") {
96
+ const s = `${{
97
+ yellow: "\x1B[33m",
98
+ cyan: "\x1B[36m",
99
+ red: "\x1B[31m",
100
+ green: "\x1B[32m"
101
+ }[t.scheme]}[${t.name}]\x1B[0m`;
102
+ let $ = `
103
+ `;
104
+ t.debugs.forEach((o, i) => {
105
+ $ += `${s} ${o.trim()}`, i < t.debugs.length - 1 && ($ += `
106
+ `);
107
+ }), console.log($);
108
+ }
109
+ }
110
+ class p {
111
+ constructor() {
112
+ c(this, "_cause");
113
+ c(this, "_name", "BadResponse");
114
+ c(this, "_status", 500);
115
+ c(this, "_statusText", "Unknown error");
116
+ c(this, "_debugColor", "red");
117
+ }
118
+ get cause() {
119
+ return this._cause;
120
+ }
121
+ set cause(e) {
122
+ this._cause = e;
123
+ }
124
+ get name() {
125
+ return this._name;
126
+ }
127
+ set name(e) {
128
+ this._name = e;
129
+ }
130
+ get status() {
131
+ return this._status;
132
+ }
133
+ set status(e) {
134
+ this._status = e;
135
+ }
136
+ get statusText() {
137
+ return this._statusText;
138
+ }
139
+ set statusText(e) {
140
+ this._statusText = e;
141
+ }
142
+ get debugColor() {
143
+ return this._debugColor;
144
+ }
145
+ set debugColor(e) {
146
+ ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
147
+ }
148
+ onDebug() {
149
+ const e = [], { callerInfo: d, functionName: r } = ee.getCaller();
150
+ e.push(`Caller Function: ${r}`), e.push(`Caller Location: ${d}`), this._statusText && e.push(`Message: ${this._statusText}`), this._cause && e.push(`Cause: ${Ze(JSON.stringify(this._cause))}`), C({ scheme: "red", name: this._name, debugs: e });
151
+ }
152
+ makeBody() {
153
+ return {
154
+ name: this._name,
155
+ message: this._statusText,
156
+ cause: this._cause
157
+ };
158
+ }
159
+ }
160
+ class tt extends p {
161
+ /**
162
+ * Creates an instance of the `BadGateway` class.
163
+ *
164
+ * @param {string} message - A descriptive message explaining the cause of the error.
165
+ * @param {any} cause - Optional additional information about the cause of the error.
166
+ */
167
+ constructor(e, d) {
168
+ super(), this.name = "BadGateway", this.status = 502, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
169
+ }
170
+ /**
171
+ * Converts the `BadGateway` instance into a `Response` object with a JSON body.
172
+ * This method ensures the response has the appropriate headers, status, and status text.
173
+ *
174
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
175
+ */
176
+ toResponse() {
177
+ const e = {
178
+ headers: { "Content-Type": "application/json" },
179
+ status: this.status,
180
+ statusText: this.statusText
181
+ };
182
+ return new Response(JSON.stringify(this.makeBody()), e);
183
+ }
184
+ /**
185
+ * Converts the `BadGateway` instance into a `Response` object using the `Response.json` method.
186
+ * This method is an alternative to `toResponse` for generating JSON error responses.
187
+ *
188
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
189
+ */
190
+ toJson() {
191
+ const e = {
192
+ status: this.status,
193
+ statusText: this.statusText
194
+ };
195
+ return Response.json(this.makeBody(), e);
196
+ }
197
+ }
198
+ class V extends p {
199
+ /**
200
+ * Creates an instance of the `BadRequest` class.
201
+ *
202
+ * @param {string} message - A descriptive message explaining the cause of the error.
203
+ * @param {any} cause - Optional additional information about the cause of the error.
204
+ */
205
+ constructor(e, d) {
206
+ super(), this.name = "BadRequest", this.status = 400, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
207
+ }
208
+ /**
209
+ * Converts the `BadRequest` instance into a `Response` object with a JSON body.
210
+ * This method ensures the response has the appropriate headers, status, and status text.
211
+ *
212
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
213
+ */
214
+ toResponse() {
215
+ const e = {
216
+ headers: { "Content-Type": "application/json" },
217
+ status: this.status,
218
+ statusText: this.statusText
219
+ };
220
+ return new Response(JSON.stringify(this.makeBody()), e);
221
+ }
222
+ /**
223
+ * Converts the `BadRequest` instance into a `Response` object using the `Response.json` method.
224
+ * This method is an alternative to `toResponse` for generating JSON error responses.
225
+ *
226
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
227
+ */
228
+ toJson() {
229
+ const e = {
230
+ status: this.status,
231
+ statusText: this.statusText
232
+ };
233
+ return Response.json(this.makeBody(), e);
234
+ }
235
+ }
236
+ class dt extends p {
237
+ /**
238
+ * Creates an instance of the `Conflict` class.
239
+ *
240
+ * @param {string} message - A descriptive message explaining the cause of the conflict.
241
+ * @param {any} cause - Optional additional information about the cause of the conflict.
242
+ */
243
+ constructor(e, d) {
244
+ super(), this.name = "Conflict", this.status = 409, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
245
+ }
246
+ /**
247
+ * Converts the `Conflict` instance into a `Response` object with a JSON body.
248
+ * This method ensures the response has the appropriate headers, status, and status text.
249
+ *
250
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
251
+ */
252
+ toResponse() {
253
+ const e = {
254
+ headers: { "Content-Type": "application/json" },
255
+ status: this.status,
256
+ statusText: this.statusText
257
+ };
258
+ return new Response(JSON.stringify(this.makeBody()), e);
259
+ }
260
+ /**
261
+ * Converts the `Conflict` instance into a `Response` object using the `Response.json` method.
262
+ * This method is an alternative to `toResponse` for generating JSON error responses.
263
+ *
264
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
265
+ */
266
+ toJson() {
267
+ const e = {
268
+ status: this.status,
269
+ statusText: this.statusText
270
+ };
271
+ return Response.json(this.makeBody(), e);
272
+ }
273
+ }
274
+ class rt extends p {
275
+ /**
276
+ * Creates an instance of the `Forbidden` class.
277
+ *
278
+ * @param {string} message - A descriptive message explaining why access is forbidden.
279
+ * @param {any} cause - Optional additional information about the cause of the error.
280
+ */
281
+ constructor(e, d) {
282
+ super(), this.name = "Forbidden", this.status = 403, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
283
+ }
284
+ /**
285
+ * Converts the `Forbidden` instance into a `Response` object with a JSON body.
286
+ * This method ensures the response has the appropriate headers, status, and status text.
287
+ *
288
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
289
+ */
290
+ toResponse() {
291
+ const e = {
292
+ headers: { "Content-Type": "application/json" },
293
+ status: this.status,
294
+ statusText: this.statusText
295
+ };
296
+ return new Response(JSON.stringify(this.makeBody()), e);
297
+ }
298
+ /**
299
+ * Converts the `Forbidden` instance into a `Response` object using the `Response.json` method.
300
+ * This method is an alternative to `toResponse` for generating JSON error responses.
301
+ *
302
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
303
+ */
304
+ toJson() {
305
+ const e = {
306
+ status: this.status,
307
+ statusText: this.statusText
308
+ };
309
+ return Response.json(this.makeBody(), e);
310
+ }
311
+ }
312
+ class nt extends p {
313
+ /**
314
+ * Creates an instance of the `NotFound` class.
315
+ *
316
+ * @param {string} message - A descriptive message explaining the reason the resource was not found.
317
+ * @param {any} cause - Optional additional information about the cause of the error.
318
+ */
319
+ constructor(e, d) {
320
+ super(), this.name = "NotFound", this.status = 404, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
321
+ }
322
+ /**
323
+ * Converts the `NotFound` instance into a `Response` object with a JSON body.
324
+ * This method ensures the response has the appropriate headers, status, and status text.
325
+ *
326
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
327
+ */
328
+ toResponse() {
329
+ const e = {
330
+ headers: { "Content-Type": "application/json" },
331
+ status: this.status,
332
+ statusText: this.statusText
333
+ };
334
+ return new Response(JSON.stringify(this.makeBody()), e);
335
+ }
336
+ /**
337
+ * Converts the `NotFound` instance into a `Response` object using the `Response.json` method.
338
+ * This method is an alternative to `toResponse` for generating JSON error responses.
339
+ *
340
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
341
+ */
342
+ toJson() {
343
+ const e = {
344
+ status: this.status,
345
+ statusText: this.statusText
346
+ };
347
+ return Response.json(this.makeBody(), e);
348
+ }
349
+ }
350
+ class st extends p {
351
+ /**
352
+ * Creates an instance of the `NotImplemented` class.
353
+ *
354
+ * @param {string} message - A descriptive message explaining why the functionality is not implemented.
355
+ * @param {any} cause - Optional additional information about the cause of the error.
356
+ */
357
+ constructor(e, d) {
358
+ super(), this.name = "NotImplemented", this.status = 501, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
359
+ }
360
+ /**
361
+ * Converts the `NotImplemented` instance into a `Response` object with a JSON body.
362
+ * This method ensures the response has the appropriate headers, status, and status text.
363
+ *
364
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
365
+ */
366
+ toResponse() {
367
+ const e = {
368
+ headers: { "Content-Type": "application/json" },
369
+ status: this.status,
370
+ statusText: this.statusText
371
+ };
372
+ return new Response(JSON.stringify(this.makeBody()), e);
373
+ }
374
+ /**
375
+ * Converts the `NotImplemented` instance into a `Response` object using the `Response.json` method.
376
+ * This method is an alternative to `toResponse` for generating JSON error responses.
377
+ *
378
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
379
+ */
380
+ toJson() {
381
+ const e = {
382
+ status: this.status,
383
+ statusText: this.statusText
384
+ };
385
+ return Response.json(this.makeBody(), e);
386
+ }
387
+ }
388
+ class W extends p {
389
+ /**
390
+ * Creates an instance of the `ServerError` class.
391
+ *
392
+ * @param {string} message - A descriptive message explaining the cause of the server error.
393
+ * @param {any} cause - Optional additional information about the cause of the error.
394
+ */
395
+ constructor(e, d) {
396
+ super(), this.name = "ServerError", this.status = 500, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
397
+ }
398
+ /**
399
+ * Converts the `ServerError` instance into a `Response` object with a JSON body.
400
+ * This method ensures the response has the appropriate headers, status, and status text.
401
+ *
402
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
403
+ */
404
+ toResponse() {
405
+ const e = {
406
+ headers: { "Content-Type": "application/json" },
407
+ status: this.status,
408
+ statusText: this.statusText
409
+ };
410
+ return new Response(JSON.stringify(this.makeBody()), e);
411
+ }
412
+ /**
413
+ * Converts the `ServerError` instance into a `Response` object using the `Response.json` method.
414
+ * This method is an alternative to `toResponse` for generating JSON error responses.
415
+ *
416
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
417
+ */
418
+ toJson() {
419
+ const e = {
420
+ status: this.status,
421
+ statusText: this.statusText
422
+ };
423
+ return Response.json(this.makeBody(), e);
424
+ }
425
+ }
426
+ class $t extends p {
427
+ /**
428
+ * Creates an instance of the `Unauthorized` class.
429
+ *
430
+ * @param message - A descriptive message explaining why the request is unauthorized.
431
+ * @param cause - Optional additional information about the cause of the error.
432
+ */
433
+ constructor(e, d) {
434
+ super(), this.name = "Unauthorized", this.status = 401, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
435
+ }
436
+ /**
437
+ * Converts the `Unauthorized` instance into a `Response` object with a JSON body.
438
+ * This method ensures the response has the appropriate headers, status, and status text.
439
+ *
440
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
441
+ */
442
+ toResponse() {
443
+ const e = {
444
+ headers: { "Content-Type": "application/json" },
445
+ status: this.status,
446
+ statusText: this.statusText
447
+ };
448
+ return new Response(JSON.stringify(this.makeBody()), e);
449
+ }
450
+ /**
451
+ * Converts the `Unauthorized` instance into a `Response` object using the `Response.json` method.
452
+ * This method is an alternative to `toResponse` for generating JSON error responses.
453
+ *
454
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
455
+ */
456
+ toJson() {
457
+ const e = {
458
+ status: this.status,
459
+ statusText: this.statusText
460
+ };
461
+ return Response.json(this.makeBody(), e);
462
+ }
463
+ }
464
+ class K extends p {
465
+ /**
466
+ * Creates an instance of the `UnprocessableEntity` class.
467
+ *
468
+ * @param {object} props - An object containing details about the error, such as:
469
+ * @param {any} [props.data] - `data`: Additional data related to the error.
470
+ * @param {Record<string, string>} [props.fieldErrors] - `fieldErrors`: A record of field-specific error messages.
471
+ * @param {Record<string, string>} [props.fields] - `fields`: A record of field values that caused the error.
472
+ * @param {string} [props.message] - `message`: A descriptive message explaining the error.
473
+ */
474
+ constructor(e) {
475
+ super(), this.name = "UnprocessableEntity", this.status = 422, this.statusText = e.message || "Unprocessable entity", this.debugColor = "yellow", this.cause = {
476
+ data: e.data,
477
+ fieldErrors: e.fieldErrors,
478
+ fields: e.fields
479
+ }, this.onDebug();
480
+ }
481
+ /**
482
+ * Converts the `UnprocessableEntity` instance into a `Response` object with a JSON body.
483
+ * This method ensures the response has the appropriate headers, status, and status text.
484
+ *
485
+ * @returns {Response} A `Response` object with the serialized JSON body and response metadata.
486
+ */
487
+ toResponse() {
488
+ const e = {
489
+ headers: { "Content-Type": "application/json" },
490
+ status: this.status,
491
+ statusText: this.statusText
492
+ };
493
+ return new Response(JSON.stringify(this.makeBody()), e);
494
+ }
495
+ /**
496
+ * Converts the `UnprocessableEntity` instance into a `Response` object using the `Response.json` method.
497
+ * This method is an alternative to `toResponse` for generating JSON error responses.
498
+ *
499
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
500
+ */
501
+ toJson() {
502
+ const e = {
503
+ status: this.status,
504
+ statusText: this.statusText
505
+ };
506
+ return Response.json(this.makeBody(), e);
507
+ }
508
+ }
509
+ class A {
510
+ constructor() {
511
+ c(this, "_body", null);
512
+ c(this, "_name", "SuccessResponse");
513
+ c(this, "_status", 200);
514
+ c(this, "_statusText", "OK");
515
+ c(this, "_debugColor", "green");
516
+ }
517
+ get body() {
518
+ return this._body;
519
+ }
520
+ set body(e) {
521
+ this._body = e ?? null;
522
+ }
523
+ get name() {
524
+ return this._name;
525
+ }
526
+ set name(e) {
527
+ this._name = e;
528
+ }
529
+ get status() {
530
+ return this._status;
531
+ }
532
+ set status(e) {
533
+ this._status = e;
534
+ }
535
+ get statusText() {
536
+ return this._statusText;
537
+ }
538
+ set statusText(e) {
539
+ this._statusText = e;
540
+ }
541
+ get debugColor() {
542
+ return this._debugColor;
543
+ }
544
+ set debugColor(e) {
545
+ ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
546
+ }
547
+ /**
548
+ * Logs debug information for success responses including caller context and response details.
549
+ *
550
+ * @param {any} body - The response body or success data to be logged
551
+ *
552
+ * @example
553
+ * ```typescript
554
+ * const SuccessResponse = new SuccessResponse();
555
+ * SuccessResponse.onDebug({ data: "Operation completed successfully" });
556
+ * ```
557
+ */
558
+ onDebug(e) {
559
+ const d = [], { callerInfo: r, functionName: n } = ee.getCaller();
560
+ d.push(`Caller Function: ${n}`), d.push(`Caller Location: ${r}`), this.statusText && d.push(`Message: ${this.statusText}`), e && d.push(`Body: ${JSON.stringify(e)}`), C({ scheme: this._debugColor, name: this.name, debugs: d });
561
+ }
562
+ makeBody() {
563
+ return {
564
+ name: this.name,
565
+ message: this.statusText,
566
+ body: this.body
567
+ };
568
+ }
569
+ }
570
+ class it extends A {
571
+ /**
572
+ * Creates an instance of the `Created` class.
573
+ *
574
+ * @param {string} message - A message describing the creation status.
575
+ * @param {any} body - The response body to be included in the HTTP response.
576
+ */
577
+ constructor(e, d) {
578
+ super(), this.name = "Created", this.status = 201, this.statusText = e, this.body = d || void 0, this.onDebug();
579
+ }
580
+ /**
581
+ * Converts the `Created` instance into a `Response` object.
582
+ * @returns {Response} A `Response` object with the body and response metadata.
583
+ */
584
+ toResponse() {
585
+ const e = {
586
+ headers: { "Content-Type": "application/json" },
587
+ status: this.status,
588
+ statusText: this.statusText
589
+ };
590
+ return new Response(JSON.stringify(this.body), e);
591
+ }
592
+ /**
593
+ * Converts the `Created` instance into a `Response` object using the `Response.json` method.
594
+ * This method is an alternative to `toResponse` for generating JSON responses.
595
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
596
+ */
597
+ toJson() {
598
+ const e = {
599
+ status: this.status,
600
+ statusText: this.statusText
601
+ };
602
+ return Response.json(this.body, e);
603
+ }
604
+ }
605
+ class ot extends A {
606
+ /**
607
+ * Creates an instance of the `Found` class.
608
+ *
609
+ * @param {string} message - A message describing the creation status.
610
+ * @param {any} body - The response body to be included in the HTTP response.
611
+ */
612
+ constructor(e, d) {
613
+ super(), this.name = "Found", this.status = 302, this.statusText = e, this.body = d || void 0, this.onDebug();
614
+ }
615
+ /**
616
+ * Converts the `Found` instance into a `Response` object.
617
+ * @returns {Response} A `Response` object with the body and response metadata.
618
+ */
619
+ toResponse() {
620
+ const e = {
621
+ headers: { "Content-Type": "application/json" },
622
+ status: this.status,
623
+ statusText: this.statusText
624
+ };
625
+ return new Response(JSON.stringify(this.body), e);
626
+ }
627
+ /**
628
+ * Converts the `Found` instance into a `Response` object using the `Response.json` method.
629
+ * This method is an alternative to `toResponse` for generating JSON responses.
630
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
631
+ */
632
+ toJson() {
633
+ const e = {
634
+ status: this.status,
635
+ statusText: this.statusText
636
+ };
637
+ return Response.json(this.body, e);
638
+ }
639
+ }
640
+ class at extends A {
641
+ /**
642
+ * Creates an instance of the `NoContent` class.
643
+ * @param {string} message - A message describing the creation status.
644
+ */
645
+ constructor(e) {
646
+ super(), this.name = "NoContent", this.status = 204, this.statusText = e, this.onDebug();
647
+ }
648
+ /**
649
+ * Converts the `NoContent` instance into a `Response` object.
650
+ * @returns {Response} A `Response` object with the body and response metadata.
651
+ */
652
+ toResponse() {
653
+ const e = {
654
+ headers: { "Content-Type": "application/json" },
655
+ status: this.status,
656
+ statusText: this.statusText
657
+ };
658
+ return new Response(null, e);
659
+ }
660
+ }
661
+ class ut extends A {
662
+ /**
663
+ * Creates an instance of the `Success` class.
664
+ *
665
+ * @param {string} message - A message describing the creation status.
666
+ * @param {any} body - The response body to be included in the HTTP response.
667
+ */
668
+ constructor(e, d) {
669
+ super(), this.name = "Success", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
670
+ }
671
+ /**
672
+ * Converts the `Success` instance into a `Response` object.
673
+ * @returns {Response} A `Response` object with the body and response metadata.
674
+ */
675
+ toResponse() {
676
+ const e = {
677
+ headers: { "Content-Type": "application/json" },
678
+ status: this.status,
679
+ statusText: this.statusText
680
+ };
681
+ return new Response(JSON.stringify(this.body), e);
682
+ }
683
+ /**
684
+ * Converts the `Success` instance into a `Response` object using the `Response.json` method.
685
+ * This method is an alternative to `toResponse` for generating JSON responses.
686
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
687
+ */
688
+ toJson() {
689
+ const e = {
690
+ status: this.status,
691
+ statusText: this.statusText
692
+ };
693
+ return Response.json(this.body, e);
694
+ }
695
+ }
696
+ class lt extends A {
697
+ /**
698
+ * Creates an instance of the `Updated` class.
699
+ *
700
+ * @param {string} message - A message describing the creation status.
701
+ * @param {any} body - The response body to be included in the HTTP response.
702
+ */
703
+ constructor(e, d) {
704
+ super(), this.name = "Updated", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
705
+ }
706
+ /**
707
+ * Converts the `Updated` instance into a `Response` object.
708
+ * @returns {Response} A `Response` object with the body and response metadata.
709
+ */
710
+ toResponse() {
711
+ const e = {
712
+ headers: { "Content-Type": "application/json" },
713
+ status: this.status,
714
+ statusText: this.statusText
715
+ };
716
+ return new Response(JSON.stringify(this.body), e);
717
+ }
718
+ /**
719
+ * Converts the `Updated` instance into a `Response` object using the `Response.json` method.
720
+ * This method is an alternative to `toResponse` for generating JSON responses.
721
+ * @returns {Response["json"]} A `Response` object with the JSON body and response metadata.
722
+ */
723
+ toJson() {
724
+ const e = {
725
+ status: this.status,
726
+ statusText: this.statusText
727
+ };
728
+ return Response.json(this.body, e);
729
+ }
730
+ }
731
+ class ct {
732
+ /**
733
+ * Converts various header formats into a plain key-value object.
734
+ *
735
+ * @param {HeadersInit} headers - The headers to map.
736
+ * @returns {Record<string, string>} A plain object with header key-value pairs.
737
+ * @private
738
+ */
739
+ static mapHeaders(e) {
740
+ return e instanceof Headers ? Object.fromEntries(e.entries()) : typeof e == "object" ? Object.entries(e).reduce(
741
+ (d, [r, n]) => (typeof n == "string" ? d[r] = n : Array.isArray(n) ? d[r] = n.join(", ") : d[r] = JSON.stringify(n), d),
742
+ {}
743
+ ) : {};
744
+ }
745
+ /**
746
+ * Converts URLSearchParams into a plain key-value object.
747
+ *
748
+ * @param {URLSearchParams} queryParams - The query parameters to map.
749
+ * @returns {Record<string, string>} A plain object with query parameter key-value pairs.
750
+ * @private
751
+ */
752
+ static mapQueryParams(e) {
753
+ const d = {};
754
+ return e.forEach((r, n) => d[n] = r), d;
755
+ }
756
+ /**
757
+ * Transforms raw HTTP request/response data into a standardized log output format.
758
+ *
759
+ * @param {InputProps} props - The input properties containing request/response data.
760
+ * @returns {OutputProps} The mapped output object ready for logging.
761
+ */
762
+ static handle(e) {
763
+ return {
764
+ rawUrl: e.rawUrl,
765
+ status: e.status,
766
+ method: e.method,
767
+ token: null,
768
+ elapsedTime: e.elapsedTime,
769
+ requestHeaders: this.mapHeaders(e.requestHeaders),
770
+ requestBody: e.requestBody || null,
771
+ queryParams: {
772
+ ...this.mapQueryParams(e.queryParams),
773
+ ...e.urlParams
774
+ },
775
+ responseHeaders: this.mapHeaders(e.responseHeaders),
776
+ responseBody: e.responseBody || null
777
+ };
778
+ }
779
+ }
780
+ class Fe {
781
+ /**
782
+ * Sets the log service configuration only once.
783
+ * If the configuration is already set, the call is ignored.
784
+ *
785
+ * @param {object} config - Service configuration parameters.
786
+ * @param {string} config.trafficSourceId - Traffic source identifier.
787
+ * @param {string} config.userToken - User token for authentication.
788
+ * @param {string} [config.logBaseApiUrl] - Optional base URL for the log service.
789
+ */
790
+ static setConfig(e) {
791
+ if (this.config) return;
792
+ const { trafficSourceId: d, userToken: r, logBaseApiUrl: n } = e, $ = `${n || "http://62.238.8.44:8081"}/ingest-log`;
793
+ this.config = { trafficSourceId: d, userToken: r, apiUrl: $ };
794
+ }
795
+ /**
796
+ * Returns the current service configuration, if it exists.
797
+ * @returns {{ trafficSourceId: string; userToken: string; apiUrl: string } | undefined} The stored configuration or `undefined` if not set.
798
+ */
799
+ static getConfig() {
800
+ return this.config;
801
+ }
802
+ /**
803
+ * Resets the stored configuration, allowing a new initialization.
804
+ */
805
+ static resetConfig() {
806
+ this.config = void 0;
807
+ }
808
+ }
809
+ c(Fe, "config");
810
+ async function ft(t) {
811
+ const e = Fe.getConfig();
812
+ if (!e) return;
813
+ const { userToken: d, apiUrl: r, trafficSourceId: n } = e, {
814
+ elapsedTime: s,
815
+ method: $,
816
+ queryParams: o,
817
+ requestBody: i,
818
+ requestHeaders: a,
819
+ responseBody: u,
820
+ responseHeaders: l,
821
+ status: h,
822
+ token: b,
823
+ rawUrl: P
824
+ } = t;
825
+ if (process.env.NODE_ENV !== "development")
826
+ try {
827
+ const v = new URL(P);
828
+ let L = "https";
829
+ v.protocol === "http:" && (L = "http");
830
+ const U = JSON.stringify({
831
+ domainUrl: v.protocol + "//" + v.host,
832
+ pathnameUrl: v.pathname,
833
+ trafficSourceId: n,
834
+ status: h,
835
+ protocol: L,
836
+ method: $.toLowerCase(),
837
+ trafficUserId: null,
838
+ elapsedTime: s,
839
+ requestHeaders: JSON.stringify(a),
840
+ requestBody: JSON.stringify(i),
841
+ queryParams: JSON.stringify(o),
842
+ responseHeaders: JSON.stringify(l),
843
+ responseBody: JSON.stringify(u)
844
+ }), G = {
845
+ "Content-Type": "application/json",
846
+ Authorization: `Bearer ${d}`
847
+ }, O = await fetch(r, {
848
+ method: "POST",
849
+ body: U,
850
+ headers: G
851
+ });
852
+ if (!O.ok) {
853
+ const Je = await O.text(), Ve = O.status, We = O.statusText, ie = await O.json().catch(() => null);
854
+ C({
855
+ name: "LogError",
856
+ scheme: "red",
857
+ debugs: [
858
+ "Failed to log request.",
859
+ `Status: ${Ve} ${We}.`,
860
+ `Status text: ${Je}.`,
861
+ `JSON Response: ${ie ? Xe(ie, 0) : "No JSON response"}`
862
+ ]
863
+ });
864
+ }
865
+ } catch (v) {
866
+ C({
867
+ debugs: [`Error sending request: ${v}`],
868
+ name: "LogError",
869
+ scheme: "red"
870
+ });
871
+ }
872
+ }
873
+ async function D(t) {
874
+ let e = t.url;
875
+ t.urlParams && Object.entries(t.urlParams).forEach(([r, n]) => {
876
+ e = e.replaceAll(`:${r}`, n);
877
+ });
878
+ const d = {
879
+ POST: "Resource created successfully",
880
+ PUT: "Resource updated successfully",
881
+ DELETE: "Resource deleted successfully",
882
+ PATCH: "Resource patched successfully",
883
+ GET: "Request successful"
884
+ };
885
+ try {
886
+ const r = performance.now(), n = { ...t.headers, "Content-Type": "application/json" }, s = await fetch(e, {
887
+ headers: n,
888
+ method: t.method,
889
+ body: t.body ? JSON.stringify(t.body) : void 0
890
+ }), $ = performance.now() - r, o = s.status;
891
+ let i = null;
892
+ try {
893
+ i = await s.json();
894
+ } catch {
895
+ i = null;
896
+ }
897
+ const a = ct.handle({
898
+ elapsedTime: $,
899
+ method: t.method,
900
+ queryParams: new URL(e).searchParams,
901
+ requestHeaders: n,
902
+ requestBody: t.body,
903
+ responseBody: i,
904
+ responseHeaders: s.headers,
905
+ status: o,
906
+ rawUrl: t.url,
907
+ urlParams: t.urlParams
908
+ });
909
+ return ft(a), s.ok ? {
910
+ success: !0,
911
+ status: o,
912
+ message: (i == null ? void 0 : i.message) || d[t.method],
913
+ response: i,
914
+ cause: null
915
+ } : {
916
+ success: !1,
917
+ status: o,
918
+ message: (i == null ? void 0 : i.message) || s.statusText || "Request failed",
919
+ response: i,
920
+ cause: null
921
+ };
922
+ } catch (r) {
923
+ return C({
924
+ debugs: [`Network error or request failed: ${r}`],
925
+ name: "MakeRequestError",
926
+ scheme: "red"
927
+ }), {
928
+ success: !1,
929
+ status: 0,
930
+ message: "Network error or request failed",
931
+ response: null,
932
+ cause: r instanceof Error ? r.message : String(r)
933
+ };
934
+ }
935
+ }
936
+ async function ht(t) {
937
+ return D({
938
+ method: "DELETE",
939
+ url: t.url,
940
+ urlParams: t.urlParams,
941
+ headers: t.headers,
942
+ body: t.body
943
+ });
944
+ }
945
+ async function yt(t) {
946
+ return D({
947
+ method: "GET",
948
+ url: t.url,
949
+ urlParams: t.urlParams,
950
+ headers: t.headers
951
+ });
952
+ }
953
+ async function gt(t) {
954
+ return D({
955
+ method: "PATCH",
956
+ url: t.url,
957
+ urlParams: t.urlParams,
958
+ headers: t.headers,
959
+ body: t.body
960
+ });
961
+ }
962
+ async function mt(t) {
963
+ return D({
964
+ method: "POST",
965
+ url: t.url,
966
+ urlParams: t.urlParams,
967
+ headers: t.headers,
968
+ body: t.body
969
+ });
970
+ }
971
+ async function pt(t) {
972
+ return D({
973
+ method: "PUT",
974
+ url: t.url,
975
+ urlParams: t.urlParams,
976
+ headers: t.headers,
977
+ body: t.body
978
+ });
979
+ }
980
+ class rd {
981
+ constructor(e) {
982
+ c(this, "baseUrl");
983
+ c(this, "baseHeaders");
984
+ c(this, "baseToken");
985
+ c(this, "enableDebug");
986
+ this.baseUrl = e.baseUrl, this.baseHeaders = e.baseHeaders || void 0, this.baseToken = e.baseToken || void 0, this.enableDebug = e.enableDebug || !1;
987
+ }
988
+ onDebug(e, d, r) {
989
+ if (this.enableDebug) {
990
+ const n = [], s = ($) => JSON.stringify($, null, 2);
991
+ 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)}`), C({ debugs: n, name: "ApiDebug", scheme: "yellow" });
992
+ }
993
+ }
994
+ generateHeaders(e, d) {
995
+ let r = {};
996
+ 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;
997
+ }
998
+ /**
999
+ * Sends a get request to the specified endpoint.
1000
+ * @param endpoint - The API endpoint to send the get request to.
1001
+ * @param data - The request data, including optional headers and token.
1002
+ * @returns The API response data.
1003
+ */
1004
+ async get(e, d) {
1005
+ const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = await yt({
1006
+ url: this.baseUrl + e,
1007
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1008
+ headers: r
1009
+ });
1010
+ return this.onDebug(e, "get", {
1011
+ headers: r,
1012
+ message: n.message,
1013
+ status: n.status
1014
+ }), n;
1015
+ }
1016
+ /**
1017
+ * Sends a post request to the specified endpoint.
1018
+ * @param endpoint - The API endpoint to send the post request to.
1019
+ * @param data - The request data, including body, optional headers, and token.
1020
+ * @returns The API response data.
1021
+ */
1022
+ async post(e, d) {
1023
+ 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 mt({
1024
+ url: this.baseUrl + e,
1025
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1026
+ headers: r,
1027
+ body: n
1028
+ });
1029
+ return this.onDebug(e, "post", {
1030
+ headers: r,
1031
+ body: n,
1032
+ message: s.message,
1033
+ status: s.status
1034
+ }), s;
1035
+ }
1036
+ /**
1037
+ * Sends a put request to the specified endpoint.
1038
+ * @param endpoint - The API endpoint to send the put request to.
1039
+ * @param data - The request data, including body, optional headers, and token.
1040
+ * @returns The API response data.
1041
+ */
1042
+ async put(e, d) {
1043
+ 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 pt({
1044
+ url: this.baseUrl + e,
1045
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1046
+ headers: r,
1047
+ body: n
1048
+ });
1049
+ return this.onDebug(e, "put", {
1050
+ headers: r,
1051
+ body: n,
1052
+ message: s.message,
1053
+ status: s.status
1054
+ }), s;
1055
+ }
1056
+ /**
1057
+ * Sends a patch request to the specified endpoint.
1058
+ * @param endpoint - The API endpoint to send the patch request to.
1059
+ * @param data - The request data, including body, optional headers, and token.
1060
+ * @returns The API response data.
1061
+ */
1062
+ async patch(e, d) {
1063
+ 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 gt({
1064
+ url: this.baseUrl + e,
1065
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1066
+ headers: r,
1067
+ body: n
1068
+ });
1069
+ return this.onDebug(e, "patch", {
1070
+ headers: r,
1071
+ body: n,
1072
+ message: s.message,
1073
+ status: s.status
1074
+ }), s;
1075
+ }
1076
+ /**
1077
+ * Sends a delete request to the specified endpoint.
1078
+ * @param endpoint - The API endpoint to send the delete request to.
1079
+ * @param data - The request data, including body, optional headers, and token.
1080
+ * @returns The API response data.
1081
+ */
1082
+ async delete(e, d) {
1083
+ 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 ht({
1084
+ url: this.baseUrl + e,
1085
+ urlParams: (d == null ? void 0 : d.urlParams) || {},
1086
+ headers: r,
1087
+ body: n
1088
+ });
1089
+ return this.onDebug(e, "delete", {
1090
+ headers: r,
1091
+ body: n,
1092
+ message: s.message,
1093
+ status: s.status
1094
+ }), s;
1095
+ }
1096
+ }
1097
+ async function nd(t) {
1098
+ let e;
1099
+ const d = await t.arrayBuffer(), r = new TextDecoder().decode(d);
1100
+ try {
1101
+ e = JSON.parse(r);
1102
+ } catch {
1103
+ try {
1104
+ if (r.includes("=")) {
1105
+ const s = new URLSearchParams(r);
1106
+ e = Object.fromEntries(s.entries());
1107
+ } else
1108
+ throw new V("Invalid URLSearchParams format");
1109
+ } catch {
1110
+ throw new V("Failed to extract data from request");
1111
+ }
1112
+ }
1113
+ return e;
1114
+ }
1115
+ function sd(t, e) {
1116
+ var d, r, n;
1117
+ return t != null && t.message && typeof (t == null ? void 0 : t.message) == "string" ? t == null ? void 0 : t.message : t != null && t.operator_erro_message && typeof (t == null ? void 0 : t.operator_erro_message) == "string" ? t == null ? void 0 : t.operator_erro_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";
1118
+ }
1119
+ function $d(t) {
1120
+ switch (!0) {
1121
+ case t instanceof Response:
1122
+ return t;
1123
+ case t instanceof ot:
1124
+ return t.toResponse();
1125
+ case t instanceof it:
1126
+ return t.toResponse();
1127
+ case t instanceof lt:
1128
+ return t.toResponse();
1129
+ case t instanceof ut:
1130
+ return t.toResponse();
1131
+ case t instanceof at:
1132
+ return t.toResponse();
1133
+ }
1134
+ switch (!0) {
1135
+ case t instanceof tt:
1136
+ return t.toResponse();
1137
+ case t instanceof V:
1138
+ return t.toResponse();
1139
+ case t instanceof dt:
1140
+ return t.toResponse();
1141
+ case t instanceof rt:
1142
+ return t.toResponse();
1143
+ case t instanceof nt:
1144
+ return t.toResponse();
1145
+ case t instanceof st:
1146
+ return t.toResponse();
1147
+ case t instanceof W:
1148
+ return t.toResponse();
1149
+ case t instanceof $t:
1150
+ return t.toResponse();
1151
+ case t instanceof K:
1152
+ return t.toResponse();
1153
+ }
1154
+ return new W("Server error", t).toResponse();
1155
+ }
1156
+ async function bt([
1157
+ t,
1158
+ e
1159
+ ]) {
1160
+ const d = await e.safeParseAsync(t);
1161
+ if (d.success === !1) {
1162
+ const r = Object.fromEntries(
1163
+ d.error.issues.map((n) => [n.path.join("."), n.message])
1164
+ );
1165
+ return {
1166
+ success: d.success,
1167
+ fieldErrors: r,
1168
+ fields: t
1169
+ };
1170
+ } else
1171
+ return {
1172
+ success: d.success,
1173
+ data: d.data
1174
+ };
1175
+ }
1176
+ function vt([
1177
+ t,
1178
+ e
1179
+ ]) {
1180
+ const d = e.safeParse(t);
1181
+ if (d.success === !1) {
1182
+ const r = Object.fromEntries(
1183
+ d.error.issues.map((n) => [n.path.join("."), n.message])
1184
+ );
1185
+ return {
1186
+ success: d.success,
1187
+ fieldErrors: r,
1188
+ fields: t
1189
+ };
1190
+ } else
1191
+ return {
1192
+ success: d.success,
1193
+ data: d.data
1194
+ };
1195
+ }
1196
+ function id(t, e = "") {
1197
+ const d = new URL(t.url);
1198
+ if (e === "") return d.searchParams;
1199
+ const r = Array.from(
1200
+ d.searchParams.entries()
1201
+ ).filter(([n]) => n.startsWith(`${e}:`)).map(([n, s]) => [n.replace(`${e}:`, ""), s]);
1202
+ return new URLSearchParams(r);
1203
+ }
1204
+ function Pt(t) {
1205
+ const e = "Error validating:", d = t.issues.map(
1206
+ ({ path: r, message: n }) => `-> ${r.join(".")}: ${n}`
1207
+ );
1208
+ return [e, ...d].join(`
1209
+ `);
1210
+ }
1211
+ class od {
1212
+ /**
1213
+ * Creates a new SchemaValidator instance.
1214
+ * @param {T} schema - The Zod schema to use for validation.
1215
+ */
1216
+ constructor(e) {
1217
+ this.schema = e;
1218
+ }
1219
+ /**
1220
+ * Checks if the provided data is valid according to the schema without throwing errors.
1221
+ *
1222
+ * @param {any} data - The data to validate.
1223
+ *
1224
+ * @returns {boolean} True if the data is valid, false otherwise.
1225
+ *
1226
+ * @example
1227
+ * ```typescript
1228
+ * const validator = new SchemaValidator(userSchema);
1229
+ * const isValid = validator.isValid({ name: "John", email: "invalid-email" });
1230
+ * console.log(isValid); // false
1231
+ * ```
1232
+ */
1233
+ isValid(e) {
1234
+ return this.schema.safeParse(e).success;
1235
+ }
1236
+ /**
1237
+ * Safely validates data and returns the complete parse result without throwing errors.
1238
+ *
1239
+ * @param {any} data - The data to validate.
1240
+ * @returns {z.ZodSafeParseResult<z.infer<T>>} The Zod safe parse result containing success status and data or error.
1241
+ *
1242
+ * @example
1243
+ * ```typescript
1244
+ * const validator = new SchemaValidator(userSchema);
1245
+ * const result = validator.safeValidate({ name: "", email: "john@example.com" });
1246
+ *
1247
+ * if (result.success) {
1248
+ * console.log(result.data); // Validated data
1249
+ * } else {
1250
+ * console.log(result.error.issues); // Validation errors
1251
+ * }
1252
+ * ```
1253
+ */
1254
+ safeValidate(e) {
1255
+ return this.schema.safeParse(e);
1256
+ }
1257
+ /**
1258
+ * Validates data and returns the parsed result, throwing a ServerError on validation failure.
1259
+ *
1260
+ * @param {any} data - The data to validate.
1261
+ * @throws {ServerError} When validation fails, with a formatted error message.
1262
+ * @returns {z.infer<T>} The validated and parsed data.
1263
+ *
1264
+ * @example
1265
+ * ```typescript
1266
+ * const validator = new SchemaValidator(userSchema);
1267
+ *
1268
+ * try {
1269
+ * const validUser = validator.validate({ name: "John", email: "john@example.com", age: 25 });
1270
+ * console.log(validUser); // { name: "John", email: "john@example.com", age: 25 }
1271
+ * } catch (error) {
1272
+ * console.error(error.message); // "Error validating:\n-> name: String must contain at least 1 character(s)"
1273
+ * }
1274
+ * ```
1275
+ */
1276
+ validate(e) {
1277
+ try {
1278
+ return this.schema.parse(e);
1279
+ } catch (d) {
1280
+ throw new W(Pt(d));
1281
+ }
1282
+ }
1283
+ /**
1284
+ * Validates form data and returns the parsed result, throwing an UnprocessableEntity error on validation failure.
1285
+ * This method is specifically designed for form validation in web applications.
1286
+ *
1287
+ * @param {any} data - The form data to validate.
1288
+ * @param {string} [message] - Optional custom error message.
1289
+ * @throws {UnprocessableEntity} When validation fails, with structured field errors for form handling.
1290
+ * @returns {z.infer<T>} The validated and parsed form data.
1291
+ *
1292
+ * @example
1293
+ * ```typescript
1294
+ * const validator = new SchemaValidator(userSchema);
1295
+ *
1296
+ * try {
1297
+ * const validFormData = validator.formValidate(requestBody, "User data is invalid");
1298
+ * console.log(validFormData);
1299
+ * } catch (error) {
1300
+ * // UnprocessableEntity with fieldErrors, fields, and scrollTo data
1301
+ * console.log(error.fieldErrors); // { name: "Name is required", email: "Invalid email" }
1302
+ * console.log(error.data.scrollTo); // "name" (first error field)
1303
+ * }
1304
+ * ```
1305
+ */
1306
+ formValidate(e, d) {
1307
+ const r = vt([e, this.schema]);
1308
+ if (!r.success) {
1309
+ const n = Object.keys(r.fieldErrors)[0];
1310
+ throw new K({
1311
+ fields: r.fields,
1312
+ fieldErrors: r.fieldErrors,
1313
+ data: { scrollTo: n },
1314
+ message: d
1315
+ });
1316
+ }
1317
+ return r.data;
1318
+ }
1319
+ /**
1320
+ * Asynchronously validates form data and returns the parsed result, throwing an UnprocessableEntity error on validation failure.
1321
+ * This method is the async version of formValidate, designed for form validation with async schemas.
1322
+ *
1323
+ * @param {any} data - The form data to validate.
1324
+ * @param {string} [message] - Optional custom error message.
1325
+ * @throws {UnprocessableEntity} When validation fails, with structured field errors for form handling.
1326
+ * @returns {Promise<z.infer<T>>} A promise that resolves to the validated and parsed form data.
1327
+ *
1328
+ * @example
1329
+ * ```typescript
1330
+ * const validator = new SchemaValidator(userSchemaWithAsyncValidation);
1331
+ *
1332
+ * try {
1333
+ * const validFormData = await validator.formAsyncValidate(requestBody, "User data is invalid");
1334
+ * console.log(validFormData);
1335
+ * } catch (error) {
1336
+ * // UnprocessableEntity with fieldErrors, fields, and scrollTo data
1337
+ * console.log(error.fieldErrors); // { name: "Name is required", email: "Invalid email" }
1338
+ * console.log(error.data.scrollTo); // "name" (first error field)
1339
+ * }
1340
+ * ```
1341
+ */
1342
+ async formAsyncValidate(e, d) {
1343
+ const r = await bt([e, this.schema]);
1344
+ if (!r.success) {
1345
+ const n = Object.keys(r.fieldErrors)[0];
1346
+ throw new K({
1347
+ fields: r.fields,
1348
+ fieldErrors: r.fieldErrors,
1349
+ data: { scrollTo: n },
1350
+ message: d
1351
+ });
1352
+ }
1353
+ return r.data;
1354
+ }
1355
+ }
1356
+ function ad(t) {
1357
+ if (!(/^\d{5}-\d{3}$/.test(t) || /^\d{8}$/.test(t))) return !1;
1358
+ const d = Q(t), r = 8, n = /^\d{8}$/.test(d);
1359
+ return d.length === r && n;
1360
+ }
1361
+ function Nt(t) {
1362
+ return t.length !== 14;
1363
+ }
1364
+ function Tt(t) {
1365
+ const [e] = t;
1366
+ return [...t].every((d) => d === e);
1367
+ }
1368
+ function oe(t, e) {
1369
+ let d = 0;
1370
+ for (let n = 0; n < e.length; n++)
1371
+ d += parseInt(t[n]) * e[n];
1372
+ const r = d % 11;
1373
+ return r < 2 ? 0 : 11 - r;
1374
+ }
1375
+ function Ct(t) {
1376
+ return t.slice(12);
1377
+ }
1378
+ function ud(t) {
1379
+ if (!t || t.length > 18 || t.length < 14 || /\s/.test(t)) return !1;
1380
+ const d = Q(t);
1381
+ if (Nt(d) || Tt(d)) return !1;
1382
+ const r = d.slice(0, 12), n = oe(r, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]), s = oe(
1383
+ r + n,
1384
+ [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
1385
+ );
1386
+ return Ct(d) === `${n}${s}`;
1387
+ }
1388
+ function Et(t) {
1389
+ return t.length !== 11;
1390
+ }
1391
+ function Ot(t) {
1392
+ const [e] = t;
1393
+ return [...t].every((d) => d === e);
1394
+ }
1395
+ function ae(t, e) {
1396
+ let d = 0;
1397
+ for (const n of t)
1398
+ e > 1 && (d += parseInt(n) * e--);
1399
+ const r = d % 11;
1400
+ return r < 2 ? 0 : 11 - r;
1401
+ }
1402
+ function _t(t) {
1403
+ return t.slice(9);
1404
+ }
1405
+ function ld(t) {
1406
+ if (!t || t.length > 14 || t.length < 11 || /\s/.test(t)) return !1;
1407
+ const d = Q(t);
1408
+ if (Et(d) || Ot(d)) return !1;
1409
+ const r = ae(d, 10), n = ae(d, 11);
1410
+ return _t(d) === `${r}${n}`;
1411
+ }
1412
+ function cd(t, e) {
1413
+ 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 Ye();
1414
+ s.validateInputFormat(d);
1415
+ let $, o, i;
1416
+ const a = t.split(/[-/]/).map(Number);
1417
+ if (a.length !== 3) return !1;
1418
+ try {
1419
+ switch (d) {
1420
+ case "brazilianDate":
1421
+ [$, o, i] = a, s.validateDateParts(i, o, $);
1422
+ break;
1423
+ case "isoDate":
1424
+ [o, $, i] = a, s.validateDateParts(i, o, $);
1425
+ break;
1426
+ case "timestamp":
1427
+ [i, o, $] = a, s.validateDateParts(i, o, $);
1428
+ break;
1429
+ }
1430
+ return !(i < r || i > n);
1431
+ } catch {
1432
+ return !1;
1433
+ }
1434
+ }
1435
+ function xt(t) {
1436
+ 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);
1437
+ }
1438
+ function St(t) {
1439
+ return !(t.length === 0 || t.length > 64 || t.startsWith(".") || t.endsWith(".") || t.includes("..") || !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(t));
1440
+ }
1441
+ function Rt(t) {
1442
+ return !(t.length === 0 || t.length > 63 || t.startsWith("-") || t.endsWith("-") || !/^[a-zA-Z0-9-]+$/.test(t));
1443
+ }
1444
+ function It(t) {
1445
+ if (t.length === 0 || t.length > 253 || t.startsWith(".") || t.endsWith(".") || t.startsWith("-") || t.endsWith("-"))
1446
+ return !1;
1447
+ const e = t.split(".");
1448
+ if (e.length < 2) return !1;
1449
+ for (const r of e) if (!Rt(r)) return !1;
1450
+ const d = e[e.length - 1];
1451
+ return !(d.length < 2 || !/^[a-zA-Z]+$/.test(d));
1452
+ }
1453
+ function Ft(t) {
1454
+ const e = t.split("@");
1455
+ if (e.length !== 2) return !1;
1456
+ const [d, r] = e;
1457
+ return !(!St(d) || !It(r));
1458
+ }
1459
+ function wt(t) {
1460
+ const e = t.split("@");
1461
+ return e.length === 2 ? e[1].toLowerCase() : null;
1462
+ }
1463
+ const At = ["MX", "A", "AAAA"];
1464
+ async function Dt(t, e) {
1465
+ var d, r;
1466
+ try {
1467
+ return await ((r = (d = Qe) == null ? void 0 : d.promises) == null ? void 0 : r.resolve(t, e)), !0;
1468
+ } catch {
1469
+ return !1;
1470
+ }
1471
+ }
1472
+ async function Lt(t) {
1473
+ for (const e of At)
1474
+ if (await Dt(t, e)) return !0;
1475
+ return !1;
1476
+ }
1477
+ async function fd(t) {
1478
+ if (!t || typeof t != "string") return !1;
1479
+ const e = t.trim();
1480
+ if (!xt(e) || !Ft(e)) return !1;
1481
+ const d = wt(e);
1482
+ return d ? await Lt(d) : !1;
1483
+ }
1484
+ function hd(t) {
1485
+ if (!t) return !1;
1486
+ const e = t.length >= 8, d = /[A-Z]/.test(t), r = /[a-z]/.test(t), n = /\d/.test(t), s = /[!@#$%^&*(),.?":;{}|<>_\-+=~`[\]\\\/]/.test(
1487
+ t
1488
+ );
1489
+ return [
1490
+ e,
1491
+ d,
1492
+ r,
1493
+ n,
1494
+ s
1495
+ ].every(($) => $);
1496
+ }
1497
+ const Mt = { 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}"]]] } };
1498
+ function we(t, e) {
1499
+ var d = Array.prototype.slice.call(e);
1500
+ return d.push(Mt), t.apply(this, d);
1501
+ }
1502
+ function ue(t, e) {
1503
+ t = t.split("-"), e = e.split("-");
1504
+ for (var d = t[0].split("."), r = e[0].split("."), n = 0; n < 3; n++) {
1505
+ var s = Number(d[n]), $ = Number(r[n]);
1506
+ if (s > $) return 1;
1507
+ if ($ > s) return -1;
1508
+ if (!isNaN(s) && isNaN($)) return 1;
1509
+ if (isNaN(s) && !isNaN($)) return -1;
1510
+ }
1511
+ 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;
1512
+ }
1513
+ var jt = {}.constructor;
1514
+ function T(t) {
1515
+ return t != null && t.constructor === jt;
1516
+ }
1517
+ function E(t) {
1518
+ "@babel/helpers - typeof";
1519
+ return E = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
1520
+ return typeof e;
1521
+ } : function(e) {
1522
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
1523
+ }, E(t);
1524
+ }
1525
+ function B(t, e) {
1526
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
1527
+ }
1528
+ function Bt(t, e) {
1529
+ for (var d = 0; d < e.length; d++) {
1530
+ var r = e[d];
1531
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, kt(r.key), r);
1532
+ }
1533
+ }
1534
+ function k(t, e, d) {
1535
+ return e && Bt(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
1536
+ }
1537
+ function kt(t) {
1538
+ var e = Ut(t, "string");
1539
+ return E(e) == "symbol" ? e : e + "";
1540
+ }
1541
+ function Ut(t, e) {
1542
+ if (E(t) != "object" || !t) return t;
1543
+ var d = t[Symbol.toPrimitive];
1544
+ if (d !== void 0) {
1545
+ var r = d.call(t, e);
1546
+ if (E(r) != "object") return r;
1547
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1548
+ }
1549
+ return String(t);
1550
+ }
1551
+ var Gt = "1.2.0", Ht = "1.7.35", le = " ext. ", Jt = /^\d+$/, f = /* @__PURE__ */ function() {
1552
+ function t(e) {
1553
+ B(this, t), Ae(e), this.metadata = e, De.call(this, e);
1554
+ }
1555
+ return k(t, [{
1556
+ key: "getCountries",
1557
+ value: function() {
1558
+ return Object.keys(this.metadata.countries).filter(function(d) {
1559
+ return d !== "001";
1560
+ });
1561
+ }
1562
+ }, {
1563
+ key: "getCountryMetadata",
1564
+ value: function(d) {
1565
+ return this.metadata.countries[d];
1566
+ }
1567
+ }, {
1568
+ key: "nonGeographic",
1569
+ value: function() {
1570
+ if (!(this.v1 || this.v2 || this.v3))
1571
+ return this.metadata.nonGeographic || this.metadata.nonGeographical;
1572
+ }
1573
+ }, {
1574
+ key: "hasCountry",
1575
+ value: function(d) {
1576
+ return this.getCountryMetadata(d) !== void 0;
1577
+ }
1578
+ }, {
1579
+ key: "hasCallingCode",
1580
+ value: function(d) {
1581
+ if (this.getCountryCodesForCallingCode(d))
1582
+ return !0;
1583
+ if (this.nonGeographic()) {
1584
+ if (this.nonGeographic()[d])
1585
+ return !0;
1586
+ } else {
1587
+ var r = this.countryCallingCodes()[d];
1588
+ if (r && r.length === 1 && r[0] === "001")
1589
+ return !0;
1590
+ }
1591
+ }
1592
+ }, {
1593
+ key: "isNonGeographicCallingCode",
1594
+ value: function(d) {
1595
+ return this.nonGeographic() ? !!this.nonGeographic()[d] : !this.getCountryCodesForCallingCode(d);
1596
+ }
1597
+ // Deprecated.
1598
+ }, {
1599
+ key: "country",
1600
+ value: function(d) {
1601
+ return this.selectNumberingPlan(d);
1602
+ }
1603
+ }, {
1604
+ key: "selectNumberingPlan",
1605
+ value: function(d, r) {
1606
+ if (d && Jt.test(d) && (r = d, d = null), d && d !== "001") {
1607
+ if (!this.hasCountry(d))
1608
+ throw new Error("Unknown country: ".concat(d));
1609
+ this.numberingPlan = new ce(this.getCountryMetadata(d), this);
1610
+ } else if (r) {
1611
+ if (!this.hasCallingCode(r))
1612
+ throw new Error("Unknown calling code: ".concat(r));
1613
+ this.numberingPlan = new ce(this.getNumberingPlanMetadata(r), this);
1614
+ } else
1615
+ this.numberingPlan = void 0;
1616
+ return this;
1617
+ }
1618
+ }, {
1619
+ key: "getCountryCodesForCallingCode",
1620
+ value: function(d) {
1621
+ var r = this.countryCallingCodes()[d];
1622
+ if (r)
1623
+ return r.length === 1 && r[0].length === 3 ? void 0 : r;
1624
+ }
1625
+ }, {
1626
+ key: "getCountryCodeForCallingCode",
1627
+ value: function(d) {
1628
+ var r = this.getCountryCodesForCallingCode(d);
1629
+ if (r)
1630
+ return r[0];
1631
+ }
1632
+ }, {
1633
+ key: "getNumberingPlanMetadata",
1634
+ value: function(d) {
1635
+ var r = this.getCountryCodeForCallingCode(d);
1636
+ if (r)
1637
+ return this.getCountryMetadata(r);
1638
+ if (this.nonGeographic()) {
1639
+ var n = this.nonGeographic()[d];
1640
+ if (n)
1641
+ return n;
1642
+ } else {
1643
+ var s = this.countryCallingCodes()[d];
1644
+ if (s && s.length === 1 && s[0] === "001")
1645
+ return this.metadata.countries["001"];
1646
+ }
1647
+ }
1648
+ // Deprecated.
1649
+ }, {
1650
+ key: "countryCallingCode",
1651
+ value: function() {
1652
+ return this.numberingPlan.callingCode();
1653
+ }
1654
+ // Deprecated.
1655
+ }, {
1656
+ key: "IDDPrefix",
1657
+ value: function() {
1658
+ return this.numberingPlan.IDDPrefix();
1659
+ }
1660
+ // Deprecated.
1661
+ }, {
1662
+ key: "defaultIDDPrefix",
1663
+ value: function() {
1664
+ return this.numberingPlan.defaultIDDPrefix();
1665
+ }
1666
+ // Deprecated.
1667
+ }, {
1668
+ key: "nationalNumberPattern",
1669
+ value: function() {
1670
+ return this.numberingPlan.nationalNumberPattern();
1671
+ }
1672
+ // Deprecated.
1673
+ }, {
1674
+ key: "possibleLengths",
1675
+ value: function() {
1676
+ return this.numberingPlan.possibleLengths();
1677
+ }
1678
+ // Deprecated.
1679
+ }, {
1680
+ key: "formats",
1681
+ value: function() {
1682
+ return this.numberingPlan.formats();
1683
+ }
1684
+ // Deprecated.
1685
+ }, {
1686
+ key: "nationalPrefixForParsing",
1687
+ value: function() {
1688
+ return this.numberingPlan.nationalPrefixForParsing();
1689
+ }
1690
+ // Deprecated.
1691
+ }, {
1692
+ key: "nationalPrefixTransformRule",
1693
+ value: function() {
1694
+ return this.numberingPlan.nationalPrefixTransformRule();
1695
+ }
1696
+ // Deprecated.
1697
+ }, {
1698
+ key: "leadingDigits",
1699
+ value: function() {
1700
+ return this.numberingPlan.leadingDigits();
1701
+ }
1702
+ // Deprecated.
1703
+ }, {
1704
+ key: "hasTypes",
1705
+ value: function() {
1706
+ return this.numberingPlan.hasTypes();
1707
+ }
1708
+ // Deprecated.
1709
+ }, {
1710
+ key: "type",
1711
+ value: function(d) {
1712
+ return this.numberingPlan.type(d);
1713
+ }
1714
+ // Deprecated.
1715
+ }, {
1716
+ key: "ext",
1717
+ value: function() {
1718
+ return this.numberingPlan.ext();
1719
+ }
1720
+ }, {
1721
+ key: "countryCallingCodes",
1722
+ value: function() {
1723
+ return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
1724
+ }
1725
+ // Deprecated.
1726
+ }, {
1727
+ key: "chooseCountryByCountryCallingCode",
1728
+ value: function(d) {
1729
+ return this.selectNumberingPlan(d);
1730
+ }
1731
+ }, {
1732
+ key: "hasSelectedNumberingPlan",
1733
+ value: function() {
1734
+ return this.numberingPlan !== void 0;
1735
+ }
1736
+ }]);
1737
+ }(), ce = /* @__PURE__ */ function() {
1738
+ function t(e, d) {
1739
+ B(this, t), this.globalMetadataObject = d, this.metadata = e, De.call(this, d.metadata);
1740
+ }
1741
+ return k(t, [{
1742
+ key: "callingCode",
1743
+ value: function() {
1744
+ return this.metadata[0];
1745
+ }
1746
+ // Formatting information for regions which share
1747
+ // a country calling code is contained by only one region
1748
+ // for performance reasons. For example, for NANPA region
1749
+ // ("North American Numbering Plan Administration",
1750
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc)
1751
+ // it will be contained in the metadata for `US`.
1752
+ }, {
1753
+ key: "getDefaultCountryMetadataForRegion",
1754
+ value: function() {
1755
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
1756
+ }
1757
+ // Is always present.
1758
+ }, {
1759
+ key: "IDDPrefix",
1760
+ value: function() {
1761
+ if (!(this.v1 || this.v2))
1762
+ return this.metadata[1];
1763
+ }
1764
+ // Is only present when a country supports multiple IDD prefixes.
1765
+ }, {
1766
+ key: "defaultIDDPrefix",
1767
+ value: function() {
1768
+ if (!(this.v1 || this.v2))
1769
+ return this.metadata[12];
1770
+ }
1771
+ }, {
1772
+ key: "nationalNumberPattern",
1773
+ value: function() {
1774
+ return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
1775
+ }
1776
+ // "possible length" data is always present in Google's metadata.
1777
+ }, {
1778
+ key: "possibleLengths",
1779
+ value: function() {
1780
+ if (!this.v1)
1781
+ return this.metadata[this.v2 ? 2 : 3];
1782
+ }
1783
+ }, {
1784
+ key: "_getFormats",
1785
+ value: function(d) {
1786
+ return d[this.v1 ? 2 : this.v2 ? 3 : 4];
1787
+ }
1788
+ // For countries of the same region (e.g. NANPA)
1789
+ // formats are all stored in the "main" country for that region.
1790
+ // E.g. "RU" and "KZ", "US" and "CA".
1791
+ }, {
1792
+ key: "formats",
1793
+ value: function() {
1794
+ var d = this, r = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
1795
+ return r.map(function(n) {
1796
+ return new Vt(n, d);
1797
+ });
1798
+ }
1799
+ }, {
1800
+ key: "nationalPrefix",
1801
+ value: function() {
1802
+ return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
1803
+ }
1804
+ }, {
1805
+ key: "_getNationalPrefixFormattingRule",
1806
+ value: function(d) {
1807
+ return d[this.v1 ? 4 : this.v2 ? 5 : 6];
1808
+ }
1809
+ // For countries of the same region (e.g. NANPA)
1810
+ // national prefix formatting rule is stored in the "main" country for that region.
1811
+ // E.g. "RU" and "KZ", "US" and "CA".
1812
+ }, {
1813
+ key: "nationalPrefixFormattingRule",
1814
+ value: function() {
1815
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
1816
+ }
1817
+ }, {
1818
+ key: "_nationalPrefixForParsing",
1819
+ value: function() {
1820
+ return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
1821
+ }
1822
+ }, {
1823
+ key: "nationalPrefixForParsing",
1824
+ value: function() {
1825
+ return this._nationalPrefixForParsing() || this.nationalPrefix();
1826
+ }
1827
+ }, {
1828
+ key: "nationalPrefixTransformRule",
1829
+ value: function() {
1830
+ return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
1831
+ }
1832
+ }, {
1833
+ key: "_getNationalPrefixIsOptionalWhenFormatting",
1834
+ value: function() {
1835
+ return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
1836
+ }
1837
+ // For countries of the same region (e.g. NANPA)
1838
+ // "national prefix is optional when formatting" flag is
1839
+ // stored in the "main" country for that region.
1840
+ // E.g. "RU" and "KZ", "US" and "CA".
1841
+ }, {
1842
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1843
+ value: function() {
1844
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
1845
+ }
1846
+ }, {
1847
+ key: "leadingDigits",
1848
+ value: function() {
1849
+ return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
1850
+ }
1851
+ }, {
1852
+ key: "types",
1853
+ value: function() {
1854
+ return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
1855
+ }
1856
+ }, {
1857
+ key: "hasTypes",
1858
+ value: function() {
1859
+ return this.types() && this.types().length === 0 ? !1 : !!this.types();
1860
+ }
1861
+ }, {
1862
+ key: "type",
1863
+ value: function(d) {
1864
+ if (this.hasTypes() && fe(this.types(), d))
1865
+ return new Kt(fe(this.types(), d), this);
1866
+ }
1867
+ }, {
1868
+ key: "ext",
1869
+ value: function() {
1870
+ return this.v1 || this.v2 ? le : this.metadata[13] || le;
1871
+ }
1872
+ }]);
1873
+ }(), Vt = /* @__PURE__ */ function() {
1874
+ function t(e, d) {
1875
+ B(this, t), this._format = e, this.metadata = d;
1876
+ }
1877
+ return k(t, [{
1878
+ key: "pattern",
1879
+ value: function() {
1880
+ return this._format[0];
1881
+ }
1882
+ }, {
1883
+ key: "format",
1884
+ value: function() {
1885
+ return this._format[1];
1886
+ }
1887
+ }, {
1888
+ key: "leadingDigitsPatterns",
1889
+ value: function() {
1890
+ return this._format[2] || [];
1891
+ }
1892
+ }, {
1893
+ key: "nationalPrefixFormattingRule",
1894
+ value: function() {
1895
+ return this._format[3] || this.metadata.nationalPrefixFormattingRule();
1896
+ }
1897
+ }, {
1898
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1899
+ value: function() {
1900
+ return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1901
+ }
1902
+ }, {
1903
+ key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
1904
+ value: function() {
1905
+ return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1906
+ }
1907
+ // Checks whether national prefix formatting rule contains national prefix.
1908
+ }, {
1909
+ key: "usesNationalPrefix",
1910
+ value: function() {
1911
+ return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
1912
+ !Wt.test(this.nationalPrefixFormattingRule()));
1913
+ }
1914
+ }, {
1915
+ key: "internationalFormat",
1916
+ value: function() {
1917
+ return this._format[5] || this.format();
1918
+ }
1919
+ }]);
1920
+ }(), Wt = /^\(?\$1\)?$/, Kt = /* @__PURE__ */ function() {
1921
+ function t(e, d) {
1922
+ B(this, t), this.type = e, this.metadata = d;
1923
+ }
1924
+ return k(t, [{
1925
+ key: "pattern",
1926
+ value: function() {
1927
+ return this.metadata.v1 ? this.type : this.type[0];
1928
+ }
1929
+ }, {
1930
+ key: "possibleLengths",
1931
+ value: function() {
1932
+ if (!this.metadata.v1)
1933
+ return this.type[1] || this.metadata.possibleLengths();
1934
+ }
1935
+ }]);
1936
+ }();
1937
+ function fe(t, e) {
1938
+ switch (e) {
1939
+ case "FIXED_LINE":
1940
+ return t[0];
1941
+ case "MOBILE":
1942
+ return t[1];
1943
+ case "TOLL_FREE":
1944
+ return t[2];
1945
+ case "PREMIUM_RATE":
1946
+ return t[3];
1947
+ case "PERSONAL_NUMBER":
1948
+ return t[4];
1949
+ case "VOICEMAIL":
1950
+ return t[5];
1951
+ case "UAN":
1952
+ return t[6];
1953
+ case "PAGER":
1954
+ return t[7];
1955
+ case "VOIP":
1956
+ return t[8];
1957
+ case "SHARED_COST":
1958
+ return t[9];
1959
+ }
1960
+ }
1961
+ function Ae(t) {
1962
+ if (!t)
1963
+ throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
1964
+ if (!T(t) || !T(t.countries))
1965
+ 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 " + qt(t) + ": " + t, "."));
1966
+ }
1967
+ var qt = function(e) {
1968
+ return E(e);
1969
+ };
1970
+ function te(t, e) {
1971
+ if (e = new f(e), e.hasCountry(t))
1972
+ return e.selectNumberingPlan(t).countryCallingCode();
1973
+ throw new Error("Unknown country: ".concat(t));
1974
+ }
1975
+ function Zt(t, e) {
1976
+ return e.countries.hasOwnProperty(t);
1977
+ }
1978
+ function De(t) {
1979
+ var e = t.version;
1980
+ typeof e == "number" ? (this.v1 = e === 1, this.v2 = e === 2, this.v3 = e === 3, this.v4 = e === 4) : e ? ue(e, Gt) === -1 ? this.v2 = !0 : ue(e, Ht) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
1981
+ }
1982
+ function de(t, e, d) {
1983
+ return Xt(t, e, void 0, d);
1984
+ }
1985
+ function Xt(t, e, d, r) {
1986
+ e && (r = new f(r.metadata), r.selectNumberingPlan(e));
1987
+ var n = r.type(d), s = n && n.possibleLengths() || r.possibleLengths();
1988
+ if (!s)
1989
+ return "IS_POSSIBLE";
1990
+ var $ = t.length, o = s[0];
1991
+ return o === $ ? "IS_POSSIBLE" : o > $ ? "TOO_SHORT" : s[s.length - 1] < $ ? "TOO_LONG" : s.indexOf($, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
1992
+ }
1993
+ function Yt(t, e, d) {
1994
+ if (e === void 0 && (e = {}), d = new f(d), e.v2) {
1995
+ if (!t.countryCallingCode)
1996
+ throw new Error("Invalid phone number object passed");
1997
+ d.selectNumberingPlan(t.countryCallingCode);
1998
+ } else {
1999
+ if (!t.phone)
2000
+ return !1;
2001
+ if (t.country) {
2002
+ if (!d.hasCountry(t.country))
2003
+ throw new Error("Unknown country: ".concat(t.country));
2004
+ d.selectNumberingPlan(t.country);
2005
+ } else {
2006
+ if (!t.countryCallingCode)
2007
+ throw new Error("Invalid phone number object passed");
2008
+ d.selectNumberingPlan(t.countryCallingCode);
2009
+ }
2010
+ }
2011
+ if (d.possibleLengths())
2012
+ return Le(t.phone || t.nationalNumber, t.country, d);
2013
+ if (t.countryCallingCode && d.isNonGeographicCallingCode(t.countryCallingCode))
2014
+ return !0;
2015
+ throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
2016
+ }
2017
+ function Le(t, e, d) {
2018
+ switch (de(t, e, d)) {
2019
+ case "IS_POSSIBLE":
2020
+ return !0;
2021
+ default:
2022
+ return !1;
2023
+ }
2024
+ }
2025
+ function m(t, e) {
2026
+ return t = t || "", new RegExp("^(?:" + e + ")$").test(t);
2027
+ }
2028
+ function zt(t, e) {
2029
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2030
+ if (d) return (d = d.call(t)).next.bind(d);
2031
+ if (Array.isArray(t) || (d = Qt(t)) || e) {
2032
+ d && (t = d);
2033
+ var r = 0;
2034
+ return function() {
2035
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2036
+ };
2037
+ }
2038
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2039
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2040
+ }
2041
+ function Qt(t, e) {
2042
+ if (t) {
2043
+ if (typeof t == "string") return he(t, e);
2044
+ var d = {}.toString.call(t).slice(8, -1);
2045
+ 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) ? he(t, e) : void 0;
2046
+ }
2047
+ }
2048
+ function he(t, e) {
2049
+ (e == null || e > t.length) && (e = t.length);
2050
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2051
+ return r;
2052
+ }
2053
+ var e0 = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
2054
+ function re(t, e, d) {
2055
+ if (e = e || {}, !(!t.country && !t.countryCallingCode)) {
2056
+ d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode);
2057
+ var r = e.v2 ? t.nationalNumber : t.phone;
2058
+ if (m(r, d.nationalNumberPattern())) {
2059
+ if (H(r, "FIXED_LINE", d))
2060
+ return d.type("MOBILE") && d.type("MOBILE").pattern() === "" || !d.type("MOBILE") || H(r, "MOBILE", d) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
2061
+ for (var n = zt(e0), s; !(s = n()).done; ) {
2062
+ var $ = s.value;
2063
+ if (H(r, $, d))
2064
+ return $;
2065
+ }
2066
+ }
2067
+ }
2068
+ }
2069
+ function H(t, e, d) {
2070
+ var r = d.type(e);
2071
+ return !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(t.length) < 0 ? !1 : m(t, r.pattern());
2072
+ }
2073
+ function t0(t, e, d) {
2074
+ if (e = e || {}, d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode), d.hasTypes())
2075
+ return re(t, e, d.metadata) !== void 0;
2076
+ var r = e.v2 ? t.nationalNumber : t.phone;
2077
+ return m(r, d.nationalNumberPattern());
2078
+ }
2079
+ function d0(t, e, d) {
2080
+ var r = new f(d), n = r.getCountryCodesForCallingCode(t);
2081
+ return n ? n.filter(function(s) {
2082
+ return r0(e, s, d);
2083
+ }) : [];
2084
+ }
2085
+ function r0(t, e, d) {
2086
+ var r = new f(d);
2087
+ return r.selectNumberingPlan(e), r.numberingPlan.possibleLengths().indexOf(t.length) >= 0;
2088
+ }
2089
+ var ne = 2, n0 = 17, s0 = 3, y = "0-90-9٠-٩۰-۹", $0 = "-‐-―−ー-", i0 = "//", o0 = "..", a0 = "  ­​⁠ ", u0 = "()()[]\\[\\]", l0 = "~⁓∼~", M = "".concat($0).concat(i0).concat(o0).concat(a0).concat(u0).concat(l0), se = "++", c0 = new RegExp("([" + y + "])");
2090
+ function f0(t, e, d, r) {
2091
+ if (e) {
2092
+ var n = new f(r);
2093
+ n.selectNumberingPlan(e, d);
2094
+ var s = new RegExp(n.IDDPrefix());
2095
+ if (t.search(s) === 0) {
2096
+ t = t.slice(t.match(s)[0].length);
2097
+ var $ = t.match(c0);
2098
+ if (!($ && $[1] != null && $[1].length > 0 && $[1] === "0"))
2099
+ return t;
2100
+ }
2101
+ }
2102
+ }
2103
+ function h0(t, e) {
2104
+ if (t && e.numberingPlan.nationalPrefixForParsing()) {
2105
+ var d = new RegExp("^(?:" + e.numberingPlan.nationalPrefixForParsing() + ")"), r = d.exec(t);
2106
+ if (r) {
2107
+ var n, s, $ = r.length - 1, o = $ > 0 && r[$];
2108
+ if (e.nationalPrefixTransformRule() && o)
2109
+ n = t.replace(d, e.nationalPrefixTransformRule()), $ > 1 && (s = r[1]);
2110
+ else {
2111
+ var i = r[0];
2112
+ n = t.slice(i.length), o && (s = r[1]);
2113
+ }
2114
+ var a;
2115
+ if (o) {
2116
+ var u = t.indexOf(r[1]), l = t.slice(0, u);
2117
+ l === e.numberingPlan.nationalPrefix() && (a = e.numberingPlan.nationalPrefix());
2118
+ } else
2119
+ a = r[0];
2120
+ return {
2121
+ nationalNumber: n,
2122
+ nationalPrefix: a,
2123
+ carrierCode: s
2124
+ };
2125
+ }
2126
+ }
2127
+ return {
2128
+ nationalNumber: t
2129
+ };
2130
+ }
2131
+ function y0(t, e) {
2132
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2133
+ if (d) return (d = d.call(t)).next.bind(d);
2134
+ if (Array.isArray(t) || (d = g0(t)) || e) {
2135
+ d && (t = d);
2136
+ var r = 0;
2137
+ return function() {
2138
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2139
+ };
2140
+ }
2141
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2142
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2143
+ }
2144
+ function g0(t, e) {
2145
+ if (t) {
2146
+ if (typeof t == "string") return ye(t, e);
2147
+ var d = {}.toString.call(t).slice(8, -1);
2148
+ 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) ? ye(t, e) : void 0;
2149
+ }
2150
+ }
2151
+ function ye(t, e) {
2152
+ (e == null || e > t.length) && (e = t.length);
2153
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2154
+ return r;
2155
+ }
2156
+ function m0(t, e) {
2157
+ var d = e.countries, r = e.metadata;
2158
+ r = new f(r);
2159
+ for (var n = y0(d), s; !(s = n()).done; ) {
2160
+ var $ = s.value;
2161
+ if (r.selectNumberingPlan($), r.leadingDigits()) {
2162
+ if (t && t.search(r.leadingDigits()) === 0)
2163
+ return $;
2164
+ } else if (re({
2165
+ phone: t,
2166
+ country: $
2167
+ }, void 0, r.metadata))
2168
+ return $;
2169
+ }
2170
+ }
2171
+ function Me(t, e) {
2172
+ var d = e.nationalNumber, r = e.metadata, n = r.getCountryCodesForCallingCode(t);
2173
+ if (n)
2174
+ return n.length === 1 ? n[0] : m0(d, {
2175
+ countries: n,
2176
+ metadata: r.metadata
2177
+ });
2178
+ }
2179
+ function q(t, e, d) {
2180
+ var r = h0(t, d), n = r.carrierCode, s = r.nationalNumber;
2181
+ if (s !== t) {
2182
+ if (!p0(t, s, d))
2183
+ return {
2184
+ nationalNumber: t
2185
+ };
2186
+ if (d.numberingPlan.possibleLengths() && (e || (e = Me(d.numberingPlan.callingCode(), {
2187
+ nationalNumber: s,
2188
+ metadata: d
2189
+ })), !b0(s, e, d)))
2190
+ return {
2191
+ nationalNumber: t
2192
+ };
2193
+ }
2194
+ return {
2195
+ nationalNumber: s,
2196
+ carrierCode: n
2197
+ };
2198
+ }
2199
+ function p0(t, e, d) {
2200
+ return !(m(t, d.nationalNumberPattern()) && !m(e, d.nationalNumberPattern()));
2201
+ }
2202
+ function b0(t, e, d) {
2203
+ switch (de(t, e, d)) {
2204
+ case "TOO_SHORT":
2205
+ case "INVALID_LENGTH":
2206
+ return !1;
2207
+ default:
2208
+ return !0;
2209
+ }
2210
+ }
2211
+ function v0(t, e, d, r, n) {
2212
+ var s = d ? te(d, n) : r;
2213
+ if (t.indexOf(s) === 0) {
2214
+ n = new f(n), n.selectNumberingPlan(d, s);
2215
+ var $ = t.slice(s.length), o = q($, e, n), i = o.nationalNumber, a = q(t, e, n), u = a.nationalNumber;
2216
+ if (!m(u, n.nationalNumberPattern()) && m(i, n.nationalNumberPattern()) || de(u, e, n) === "TOO_LONG")
2217
+ return {
2218
+ countryCallingCode: s,
2219
+ number: $
2220
+ };
2221
+ }
2222
+ return {
2223
+ number: t
2224
+ };
2225
+ }
2226
+ function je(t, e, d, r, n) {
2227
+ if (!t)
2228
+ return {};
2229
+ var s;
2230
+ if (t[0] !== "+") {
2231
+ var $ = f0(t, d, r, n);
2232
+ if ($ && $ !== t)
2233
+ s = !0, t = "+" + $;
2234
+ else {
2235
+ if (d || r) {
2236
+ var o = v0(t, e, d, r, n), i = o.countryCallingCode, a = o.number;
2237
+ if (i)
2238
+ return {
2239
+ countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
2240
+ countryCallingCode: i,
2241
+ number: a
2242
+ };
2243
+ }
2244
+ return {
2245
+ // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
2246
+ // countryCallingCodeSource: 'UNSPECIFIED',
2247
+ number: t
2248
+ };
2249
+ }
2250
+ }
2251
+ if (t[1] === "0")
2252
+ return {};
2253
+ n = new f(n);
2254
+ for (var u = 2; u - 1 <= s0 && u <= t.length; ) {
2255
+ var l = t.slice(1, u);
2256
+ if (n.hasCallingCode(l))
2257
+ return n.selectNumberingPlan(l), {
2258
+ countryCallingCodeSource: s ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
2259
+ countryCallingCode: l,
2260
+ number: t.slice(u)
2261
+ };
2262
+ u++;
2263
+ }
2264
+ return {};
2265
+ }
2266
+ function P0(t) {
2267
+ return t.replace(new RegExp("[".concat(M, "]+"), "g"), " ").trim();
2268
+ }
2269
+ var N0 = /(\$\d)/;
2270
+ function T0(t, e, d) {
2271
+ var r = d.useInternationalFormat, n = d.withNationalPrefix, s = t.replace(new RegExp(e.pattern()), r ? e.internationalFormat() : (
2272
+ // This library doesn't use `domestic_carrier_code_formatting_rule`,
2273
+ // because that one is only used when formatting phone numbers
2274
+ // for dialing from a mobile phone, and this is not a dialing library.
2275
+ // carrierCode && format.domesticCarrierCodeFormattingRule()
2276
+ // // First, replace the $CC in the formatting rule with the desired carrier code.
2277
+ // // Then, replace the $FG in the formatting rule with the first group
2278
+ // // and the carrier code combined in the appropriate way.
2279
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
2280
+ // : (
2281
+ // withNationalPrefix && format.nationalPrefixFormattingRule()
2282
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
2283
+ // : format.format()
2284
+ // )
2285
+ n && e.nationalPrefixFormattingRule() ? e.format().replace(N0, e.nationalPrefixFormattingRule()) : e.format()
2286
+ ));
2287
+ return r ? P0(s) : s;
2288
+ }
2289
+ var C0 = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
2290
+ function E0(t, e, d) {
2291
+ var r = new f(d);
2292
+ if (r.selectNumberingPlan(t, e), r.defaultIDDPrefix())
2293
+ return r.defaultIDDPrefix();
2294
+ if (C0.test(r.IDDPrefix()))
2295
+ return r.IDDPrefix();
2296
+ }
2297
+ var O0 = ";ext=", N = function(e) {
2298
+ return "([".concat(y, "]{1,").concat(e, "})");
2299
+ };
2300
+ function Be(t) {
2301
+ 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 = O0 + N(e), P = s + i + $ + N(e) + o, v = s + a + $ + N(r) + o, L = u + N(n) + "#", U = l + h + $ + N(d) + o, G = l + "(?:,)+" + $ + N(r) + o;
2302
+ return b + "|" + P + "|" + v + "|" + L + "|" + U + "|" + G;
2303
+ }
2304
+ var _0 = "[" + y + "]{" + ne + "}", x0 = "[" + se + "]{0,1}(?:[" + M + "]*[" + y + "]){3,}[" + M + y + "]*", S0 = new RegExp("^[" + se + "]{0,1}(?:[" + M + "]*[" + y + "]){1,2}$", "i"), R0 = x0 + // Phone number extensions
2305
+ "(?:" + Be() + ")?", I0 = new RegExp(
2306
+ // Either a short two-digit-only phone number
2307
+ "^" + _0 + "$|^" + R0 + "$",
2308
+ "i"
2309
+ );
2310
+ function F0(t) {
2311
+ return t.length >= ne && I0.test(t);
2312
+ }
2313
+ function w0(t) {
2314
+ return S0.test(t);
2315
+ }
2316
+ function A0(t) {
2317
+ var e = t.number, d = t.ext;
2318
+ if (!e)
2319
+ return "";
2320
+ if (e[0] !== "+")
2321
+ throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
2322
+ return "tel:".concat(e).concat(d ? ";ext=" + d : "");
2323
+ }
2324
+ var ge = {
2325
+ formatExtension: function(e, d, r) {
2326
+ return "".concat(e).concat(r.ext()).concat(d);
2327
+ }
2328
+ };
2329
+ function D0(t, e, d, r) {
2330
+ if (d ? d = j0({}, ge, d) : d = ge, r = new f(r), t.country && t.country !== "001") {
2331
+ if (!r.hasCountry(t.country))
2332
+ throw new Error("Unknown country: ".concat(t.country));
2333
+ r.selectNumberingPlan(t.country);
2334
+ } else if (t.countryCallingCode)
2335
+ r.selectNumberingPlan(t.countryCallingCode);
2336
+ else return t.phone || "";
2337
+ var n = r.countryCallingCode(), s = d.v2 ? t.nationalNumber : t.phone, $;
2338
+ switch (e) {
2339
+ case "NATIONAL":
2340
+ return s ? ($ = j(s, t.carrierCode, "NATIONAL", r, d), J($, t.ext, r, d.formatExtension)) : "";
2341
+ case "INTERNATIONAL":
2342
+ return s ? ($ = j(s, null, "INTERNATIONAL", r, d), $ = "+".concat(n, " ").concat($), J($, t.ext, r, d.formatExtension)) : "+".concat(n);
2343
+ case "E.164":
2344
+ return "+".concat(n).concat(s);
2345
+ case "RFC3966":
2346
+ return A0({
2347
+ number: "+".concat(n).concat(s),
2348
+ ext: t.ext
2349
+ });
2350
+ case "IDD":
2351
+ if (!d.fromCountry)
2352
+ return;
2353
+ var o = M0(s, t.carrierCode, n, d.fromCountry, r);
2354
+ return o ? J(o, t.ext, r, d.formatExtension) : void 0;
2355
+ default:
2356
+ throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e, '"'));
2357
+ }
2358
+ }
2359
+ function j(t, e, d, r, n) {
2360
+ var s = L0(r.formats(), t);
2361
+ return s ? T0(t, s, {
2362
+ useInternationalFormat: d === "INTERNATIONAL",
2363
+ withNationalPrefix: !(s.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && n && n.nationalPrefix === !1)
2364
+ }) : t;
2365
+ }
2366
+ function L0(t, e) {
2367
+ return B0(t, function(d) {
2368
+ if (d.leadingDigitsPatterns().length > 0) {
2369
+ var r = d.leadingDigitsPatterns()[d.leadingDigitsPatterns().length - 1];
2370
+ if (e.search(r) !== 0)
2371
+ return !1;
2372
+ }
2373
+ return m(e, d.pattern());
2374
+ });
2375
+ }
2376
+ function J(t, e, d, r) {
2377
+ return e ? r(t, e, d) : t;
2378
+ }
2379
+ function M0(t, e, d, r, n) {
2380
+ var s = te(r, n.metadata);
2381
+ if (s === d) {
2382
+ var $ = j(t, e, "NATIONAL", n);
2383
+ return d === "1" ? d + " " + $ : $;
2384
+ }
2385
+ var o = E0(r, void 0, n.metadata);
2386
+ if (o)
2387
+ return "".concat(o, " ").concat(d, " ").concat(j(t, null, "INTERNATIONAL", n));
2388
+ }
2389
+ function j0() {
2390
+ for (var t = 1, e = arguments.length, d = new Array(e), r = 0; r < e; r++)
2391
+ d[r] = arguments[r];
2392
+ for (; t < d.length; ) {
2393
+ if (d[t])
2394
+ for (var n in d[t])
2395
+ d[0][n] = d[t][n];
2396
+ t++;
2397
+ }
2398
+ return d[0];
2399
+ }
2400
+ function B0(t, e) {
2401
+ for (var d = 0; d < t.length; ) {
2402
+ if (e(t[d]))
2403
+ return t[d];
2404
+ d++;
2405
+ }
2406
+ }
2407
+ function _(t) {
2408
+ "@babel/helpers - typeof";
2409
+ return _ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2410
+ return typeof e;
2411
+ } : function(e) {
2412
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2413
+ }, _(t);
2414
+ }
2415
+ function me(t, e) {
2416
+ var d = Object.keys(t);
2417
+ if (Object.getOwnPropertySymbols) {
2418
+ var r = Object.getOwnPropertySymbols(t);
2419
+ e && (r = r.filter(function(n) {
2420
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2421
+ })), d.push.apply(d, r);
2422
+ }
2423
+ return d;
2424
+ }
2425
+ function pe(t) {
2426
+ for (var e = 1; e < arguments.length; e++) {
2427
+ var d = arguments[e] != null ? arguments[e] : {};
2428
+ e % 2 ? me(Object(d), !0).forEach(function(r) {
2429
+ k0(t, r, d[r]);
2430
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : me(Object(d)).forEach(function(r) {
2431
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2432
+ });
2433
+ }
2434
+ return t;
2435
+ }
2436
+ function k0(t, e, d) {
2437
+ return (e = ke(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2438
+ }
2439
+ function U0(t, e) {
2440
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2441
+ }
2442
+ function G0(t, e) {
2443
+ for (var d = 0; d < e.length; d++) {
2444
+ var r = e[d];
2445
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, ke(r.key), r);
2446
+ }
2447
+ }
2448
+ function H0(t, e, d) {
2449
+ return e && G0(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
2450
+ }
2451
+ function ke(t) {
2452
+ var e = J0(t, "string");
2453
+ return _(e) == "symbol" ? e : e + "";
2454
+ }
2455
+ function J0(t, e) {
2456
+ if (_(t) != "object" || !t) return t;
2457
+ var d = t[Symbol.toPrimitive];
2458
+ if (d !== void 0) {
2459
+ var r = d.call(t, e);
2460
+ if (_(r) != "object") return r;
2461
+ throw new TypeError("@@toPrimitive must return a primitive value.");
2462
+ }
2463
+ return String(t);
2464
+ }
2465
+ var V0 = /* @__PURE__ */ function() {
2466
+ function t(e, d, r) {
2467
+ if (U0(this, t), !e)
2468
+ throw new TypeError("First argument is required");
2469
+ if (typeof e != "string")
2470
+ throw new TypeError("First argument must be a string");
2471
+ if (e[0] === "+" && !d)
2472
+ throw new TypeError("`metadata` argument not passed");
2473
+ if (T(d) && T(d.countries)) {
2474
+ r = d;
2475
+ var n = e;
2476
+ if (!q0.test(n))
2477
+ throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
2478
+ var s = je(n, void 0, void 0, void 0, r), $ = s.countryCallingCode, o = s.number;
2479
+ if (d = o, e = $, !d)
2480
+ throw new Error("Invalid `number` argument passed: too short");
2481
+ }
2482
+ if (!d)
2483
+ throw new TypeError("`nationalNumber` argument is required");
2484
+ if (typeof d != "string")
2485
+ throw new TypeError("`nationalNumber` argument must be a string");
2486
+ Ae(r);
2487
+ var i = K0(e, r), a = i.country, u = i.countryCallingCode;
2488
+ this.country = a, this.countryCallingCode = u, this.nationalNumber = d, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
2489
+ return r;
2490
+ };
2491
+ }
2492
+ return H0(t, [{
2493
+ key: "setExt",
2494
+ value: function(d) {
2495
+ this.ext = d;
2496
+ }
2497
+ }, {
2498
+ key: "getPossibleCountries",
2499
+ value: function() {
2500
+ return this.country ? [this.country] : d0(this.countryCallingCode, this.nationalNumber, this.getMetadata());
2501
+ }
2502
+ }, {
2503
+ key: "isPossible",
2504
+ value: function() {
2505
+ return Yt(this, {
2506
+ v2: !0
2507
+ }, this.getMetadata());
2508
+ }
2509
+ }, {
2510
+ key: "isValid",
2511
+ value: function() {
2512
+ return t0(this, {
2513
+ v2: !0
2514
+ }, this.getMetadata());
2515
+ }
2516
+ }, {
2517
+ key: "isNonGeographic",
2518
+ value: function() {
2519
+ var d = new f(this.getMetadata());
2520
+ return d.isNonGeographicCallingCode(this.countryCallingCode);
2521
+ }
2522
+ }, {
2523
+ key: "isEqual",
2524
+ value: function(d) {
2525
+ return this.number === d.number && this.ext === d.ext;
2526
+ }
2527
+ // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
2528
+ // but later it was found out that it doesn't include the possible `TOO_SHORT` result
2529
+ // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
2530
+ // so eventually I simply commented out this method from the `PhoneNumber` class
2531
+ // and just left the `validatePhoneNumberLength()` function, even though that one would require
2532
+ // and additional step to also validate the actual country / calling code of the phone number.
2533
+ // validateLength() {
2534
+ // const metadata = new Metadata(this.getMetadata())
2535
+ // metadata.selectNumberingPlan(this.countryCallingCode)
2536
+ // const result = checkNumberLength(this.nationalNumber, metadata)
2537
+ // if (result !== 'IS_POSSIBLE') {
2538
+ // return result
2539
+ // }
2540
+ // }
2541
+ }, {
2542
+ key: "getType",
2543
+ value: function() {
2544
+ return re(this, {
2545
+ v2: !0
2546
+ }, this.getMetadata());
2547
+ }
2548
+ }, {
2549
+ key: "format",
2550
+ value: function(d, r) {
2551
+ return D0(this, d, r ? pe(pe({}, r), {}, {
2552
+ v2: !0
2553
+ }) : {
2554
+ v2: !0
2555
+ }, this.getMetadata());
2556
+ }
2557
+ }, {
2558
+ key: "formatNational",
2559
+ value: function(d) {
2560
+ return this.format("NATIONAL", d);
2561
+ }
2562
+ }, {
2563
+ key: "formatInternational",
2564
+ value: function(d) {
2565
+ return this.format("INTERNATIONAL", d);
2566
+ }
2567
+ }, {
2568
+ key: "getURI",
2569
+ value: function(d) {
2570
+ return this.format("RFC3966", d);
2571
+ }
2572
+ }]);
2573
+ }(), W0 = function(e) {
2574
+ return /^[A-Z]{2}$/.test(e);
2575
+ };
2576
+ function K0(t, e) {
2577
+ var d, r, n = new f(e);
2578
+ return W0(t) ? (d = t, n.selectNumberingPlan(d), r = n.countryCallingCode()) : r = t, {
2579
+ country: d,
2580
+ countryCallingCode: r
2581
+ };
2582
+ }
2583
+ var q0 = /^\+\d+$/;
2584
+ function Z(t) {
2585
+ "@babel/helpers - typeof";
2586
+ return Z = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2587
+ return typeof e;
2588
+ } : function(e) {
2589
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2590
+ }, Z(t);
2591
+ }
2592
+ function Z0(t, e, d) {
2593
+ return Object.defineProperty(t, "prototype", { writable: !1 }), t;
2594
+ }
2595
+ function X0(t, e) {
2596
+ if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2597
+ }
2598
+ function Y0(t, e, d) {
2599
+ return e = S(e), z0(t, $e() ? Reflect.construct(e, d || [], S(t).constructor) : e.apply(t, d));
2600
+ }
2601
+ function z0(t, e) {
2602
+ if (e && (Z(e) == "object" || typeof e == "function")) return e;
2603
+ if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
2604
+ return Q0(t);
2605
+ }
2606
+ function Q0(t) {
2607
+ if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2608
+ return t;
2609
+ }
2610
+ function e1(t, e) {
2611
+ if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
2612
+ t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && x(t, e);
2613
+ }
2614
+ function X(t) {
2615
+ var e = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
2616
+ return X = function(r) {
2617
+ if (r === null || !d1(r)) return r;
2618
+ if (typeof r != "function") throw new TypeError("Super expression must either be null or a function");
2619
+ if (e !== void 0) {
2620
+ if (e.has(r)) return e.get(r);
2621
+ e.set(r, n);
2622
+ }
2623
+ function n() {
2624
+ return t1(r, arguments, S(this).constructor);
2625
+ }
2626
+ return n.prototype = Object.create(r.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 } }), x(n, r);
2627
+ }, X(t);
2628
+ }
2629
+ function t1(t, e, d) {
2630
+ if ($e()) return Reflect.construct.apply(null, arguments);
2631
+ var r = [null];
2632
+ r.push.apply(r, e);
2633
+ var n = new (t.bind.apply(t, r))();
2634
+ return d && x(n, d.prototype), n;
2635
+ }
2636
+ function $e() {
2637
+ try {
2638
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
2639
+ }));
2640
+ } catch {
2641
+ }
2642
+ return ($e = function() {
2643
+ return !!t;
2644
+ })();
2645
+ }
2646
+ function d1(t) {
2647
+ try {
2648
+ return Function.toString.call(t).indexOf("[native code]") !== -1;
2649
+ } catch {
2650
+ return typeof t == "function";
2651
+ }
2652
+ }
2653
+ function x(t, e) {
2654
+ return x = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(d, r) {
2655
+ return d.__proto__ = r, d;
2656
+ }, x(t, e);
2657
+ }
2658
+ function S(t) {
2659
+ return S = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
2660
+ return e.__proto__ || Object.getPrototypeOf(e);
2661
+ }, S(t);
2662
+ }
2663
+ var g = /* @__PURE__ */ function(t) {
2664
+ function e(d) {
2665
+ var r;
2666
+ return X0(this, e), r = Y0(this, e, [d]), Object.setPrototypeOf(r, e.prototype), r.name = r.constructor.name, r;
2667
+ }
2668
+ return e1(e, t), Z0(e);
2669
+ }(/* @__PURE__ */ X(Error)), be = new RegExp("(?:" + Be() + ")$", "i");
2670
+ function r1(t) {
2671
+ var e = t.search(be);
2672
+ if (e < 0)
2673
+ return {};
2674
+ for (var d = t.slice(0, e), r = t.match(be), n = 1; n < r.length; ) {
2675
+ if (r[n])
2676
+ return {
2677
+ number: d,
2678
+ ext: r[n]
2679
+ };
2680
+ n++;
2681
+ }
2682
+ }
2683
+ var n1 = {
2684
+ 0: "0",
2685
+ 1: "1",
2686
+ 2: "2",
2687
+ 3: "3",
2688
+ 4: "4",
2689
+ 5: "5",
2690
+ 6: "6",
2691
+ 7: "7",
2692
+ 8: "8",
2693
+ 9: "9",
2694
+ "0": "0",
2695
+ // Fullwidth digit 0
2696
+ "1": "1",
2697
+ // Fullwidth digit 1
2698
+ "2": "2",
2699
+ // Fullwidth digit 2
2700
+ "3": "3",
2701
+ // Fullwidth digit 3
2702
+ "4": "4",
2703
+ // Fullwidth digit 4
2704
+ "5": "5",
2705
+ // Fullwidth digit 5
2706
+ "6": "6",
2707
+ // Fullwidth digit 6
2708
+ "7": "7",
2709
+ // Fullwidth digit 7
2710
+ "8": "8",
2711
+ // Fullwidth digit 8
2712
+ "9": "9",
2713
+ // Fullwidth digit 9
2714
+ "٠": "0",
2715
+ // Arabic-indic digit 0
2716
+ "١": "1",
2717
+ // Arabic-indic digit 1
2718
+ "٢": "2",
2719
+ // Arabic-indic digit 2
2720
+ "٣": "3",
2721
+ // Arabic-indic digit 3
2722
+ "٤": "4",
2723
+ // Arabic-indic digit 4
2724
+ "٥": "5",
2725
+ // Arabic-indic digit 5
2726
+ "٦": "6",
2727
+ // Arabic-indic digit 6
2728
+ "٧": "7",
2729
+ // Arabic-indic digit 7
2730
+ "٨": "8",
2731
+ // Arabic-indic digit 8
2732
+ "٩": "9",
2733
+ // Arabic-indic digit 9
2734
+ "۰": "0",
2735
+ // Eastern-Arabic digit 0
2736
+ "۱": "1",
2737
+ // Eastern-Arabic digit 1
2738
+ "۲": "2",
2739
+ // Eastern-Arabic digit 2
2740
+ "۳": "3",
2741
+ // Eastern-Arabic digit 3
2742
+ "۴": "4",
2743
+ // Eastern-Arabic digit 4
2744
+ "۵": "5",
2745
+ // Eastern-Arabic digit 5
2746
+ "۶": "6",
2747
+ // Eastern-Arabic digit 6
2748
+ "۷": "7",
2749
+ // Eastern-Arabic digit 7
2750
+ "۸": "8",
2751
+ // Eastern-Arabic digit 8
2752
+ "۹": "9"
2753
+ // Eastern-Arabic digit 9
2754
+ };
2755
+ function s1(t) {
2756
+ return n1[t];
2757
+ }
2758
+ function $1(t, e) {
2759
+ var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2760
+ if (d) return (d = d.call(t)).next.bind(d);
2761
+ if (Array.isArray(t) || (d = i1(t)) || e) {
2762
+ d && (t = d);
2763
+ var r = 0;
2764
+ return function() {
2765
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2766
+ };
2767
+ }
2768
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2769
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2770
+ }
2771
+ function i1(t, e) {
2772
+ if (t) {
2773
+ if (typeof t == "string") return ve(t, e);
2774
+ var d = {}.toString.call(t).slice(8, -1);
2775
+ 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) ? ve(t, e) : void 0;
2776
+ }
2777
+ }
2778
+ function ve(t, e) {
2779
+ (e == null || e > t.length) && (e = t.length);
2780
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2781
+ return r;
2782
+ }
2783
+ function Pe(t) {
2784
+ for (var e = "", d = $1(t.split("")), r; !(r = d()).done; ) {
2785
+ var n = r.value;
2786
+ e += o1(n, e) || "";
2787
+ }
2788
+ return e;
2789
+ }
2790
+ function o1(t, e, d) {
2791
+ return t === "+" ? e ? void 0 : "+" : s1(t);
2792
+ }
2793
+ var Ue = "+", a1 = "[\\-\\.\\(\\)]?", Ne = "([" + y + "]|" + a1 + ")", u1 = "^\\" + Ue + Ne + "*[" + y + "]" + Ne + "*$", l1 = new RegExp(u1, "g"), Y = y, c1 = "[" + Y + "]+((\\-)*[" + Y + "])*", f1 = "a-zA-Z", h1 = "[" + f1 + "]+((\\-)*[" + Y + "])*", y1 = "^(" + c1 + "\\.)*" + h1 + "\\.?$", g1 = new RegExp(y1, "g"), Te = "tel:", z = ";phone-context=", m1 = ";isub=";
2794
+ function p1(t) {
2795
+ var e = t.indexOf(z);
2796
+ if (e < 0)
2797
+ return null;
2798
+ var d = e + z.length;
2799
+ if (d >= t.length)
2800
+ return "";
2801
+ var r = t.indexOf(";", d);
2802
+ return r >= 0 ? t.substring(d, r) : t.substring(d);
2803
+ }
2804
+ function b1(t) {
2805
+ return t === null ? !0 : t.length === 0 ? !1 : l1.test(t) || g1.test(t);
2806
+ }
2807
+ function v1(t, e) {
2808
+ var d = e.extractFormattedPhoneNumber, r = p1(t);
2809
+ if (!b1(r))
2810
+ throw new g("NOT_A_NUMBER");
2811
+ var n;
2812
+ if (r === null)
2813
+ n = d(t) || "";
2814
+ else {
2815
+ n = "", r.charAt(0) === Ue && (n += r);
2816
+ var s = t.indexOf(Te), $;
2817
+ s >= 0 ? $ = s + Te.length : $ = 0;
2818
+ var o = t.indexOf(z);
2819
+ n += t.substring($, o);
2820
+ }
2821
+ var i = n.indexOf(m1);
2822
+ if (i > 0 && (n = n.substring(0, i)), n !== "")
2823
+ return n;
2824
+ }
2825
+ var P1 = 250, N1 = new RegExp("[" + se + y + "]"), T1 = new RegExp("[^" + y + "#]+$");
2826
+ function C1(t, e, d) {
2827
+ if (e = e || {}, d = new f(d), e.defaultCountry && !d.hasCountry(e.defaultCountry))
2828
+ throw e.v2 ? new g("INVALID_COUNTRY") : new Error("Unknown country: ".concat(e.defaultCountry));
2829
+ var r = O1(t, e.v2, e.extract), n = r.number, s = r.ext, $ = r.error;
2830
+ if (!n) {
2831
+ if (e.v2)
2832
+ throw $ === "TOO_SHORT" ? new g("TOO_SHORT") : new g("NOT_A_NUMBER");
2833
+ return {};
2834
+ }
2835
+ var o = x1(n, e.defaultCountry, e.defaultCallingCode, d), i = o.country, a = o.nationalNumber, u = o.countryCallingCode, l = o.countryCallingCodeSource, h = o.carrierCode;
2836
+ if (!d.hasSelectedNumberingPlan()) {
2837
+ if (e.v2)
2838
+ throw new g("INVALID_COUNTRY");
2839
+ return {};
2840
+ }
2841
+ if (!a || a.length < ne) {
2842
+ if (e.v2)
2843
+ throw new g("TOO_SHORT");
2844
+ return {};
2845
+ }
2846
+ if (a.length > n0) {
2847
+ if (e.v2)
2848
+ throw new g("TOO_LONG");
2849
+ return {};
2850
+ }
2851
+ if (e.v2) {
2852
+ var b = new V0(u, a, d.metadata);
2853
+ return i && (b.country = i), h && (b.carrierCode = h), s && (b.ext = s), b.__countryCallingCodeSource = l, b;
2854
+ }
2855
+ var P = (e.extended ? d.hasSelectedNumberingPlan() : i) ? m(a, d.nationalNumberPattern()) : !1;
2856
+ return e.extended ? {
2857
+ country: i,
2858
+ countryCallingCode: u,
2859
+ carrierCode: h,
2860
+ valid: P,
2861
+ possible: P ? !0 : !!(e.extended === !0 && d.possibleLengths() && Le(a, i, d)),
2862
+ phone: a,
2863
+ ext: s
2864
+ } : P ? _1(i, a, s) : {};
2865
+ }
2866
+ function E1(t, e, d) {
2867
+ if (t) {
2868
+ if (t.length > P1) {
2869
+ if (d)
2870
+ throw new g("TOO_LONG");
2871
+ return;
2872
+ }
2873
+ if (e === !1)
2874
+ return t;
2875
+ var r = t.search(N1);
2876
+ if (!(r < 0))
2877
+ return t.slice(r).replace(T1, "");
2878
+ }
2879
+ }
2880
+ function O1(t, e, d) {
2881
+ var r = v1(t, {
2882
+ extractFormattedPhoneNumber: function($) {
2883
+ return E1($, d, e);
2884
+ }
2885
+ });
2886
+ if (!r)
2887
+ return {};
2888
+ if (!F0(r))
2889
+ return w0(r) ? {
2890
+ error: "TOO_SHORT"
2891
+ } : {};
2892
+ var n = r1(r);
2893
+ return n.ext ? n : {
2894
+ number: r
2895
+ };
2896
+ }
2897
+ function _1(t, e, d) {
2898
+ var r = {
2899
+ country: t,
2900
+ phone: e
2901
+ };
2902
+ return d && (r.ext = d), r;
2903
+ }
2904
+ function x1(t, e, d, r) {
2905
+ var n = je(Pe(t), void 0, e, d, r.metadata), s = n.countryCallingCodeSource, $ = n.countryCallingCode, o = n.number, i;
2906
+ if ($)
2907
+ r.selectNumberingPlan($);
2908
+ else if (o && (e || d))
2909
+ r.selectNumberingPlan(e, d), e && (i = e), $ = d || te(e, r.metadata);
2910
+ else return {};
2911
+ if (!o)
2912
+ return {
2913
+ countryCallingCodeSource: s,
2914
+ countryCallingCode: $
2915
+ };
2916
+ var a = q(Pe(o), i, r), u = a.nationalNumber, l = a.carrierCode, h = Me($, {
2917
+ nationalNumber: u,
2918
+ metadata: r
2919
+ });
2920
+ return h && (i = h, h === "001" || r.selectNumberingPlan(i)), {
2921
+ country: i,
2922
+ countryCallingCode: $,
2923
+ countryCallingCodeSource: s,
2924
+ nationalNumber: u,
2925
+ carrierCode: l
2926
+ };
2927
+ }
2928
+ function R(t) {
2929
+ "@babel/helpers - typeof";
2930
+ return R = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2931
+ return typeof e;
2932
+ } : function(e) {
2933
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2934
+ }, R(t);
2935
+ }
2936
+ function Ce(t, e) {
2937
+ var d = Object.keys(t);
2938
+ if (Object.getOwnPropertySymbols) {
2939
+ var r = Object.getOwnPropertySymbols(t);
2940
+ e && (r = r.filter(function(n) {
2941
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2942
+ })), d.push.apply(d, r);
2943
+ }
2944
+ return d;
2945
+ }
2946
+ function Ee(t) {
2947
+ for (var e = 1; e < arguments.length; e++) {
2948
+ var d = arguments[e] != null ? arguments[e] : {};
2949
+ e % 2 ? Ce(Object(d), !0).forEach(function(r) {
2950
+ S1(t, r, d[r]);
2951
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Ce(Object(d)).forEach(function(r) {
2952
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2953
+ });
2954
+ }
2955
+ return t;
2956
+ }
2957
+ function S1(t, e, d) {
2958
+ return (e = R1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2959
+ }
2960
+ function R1(t) {
2961
+ var e = I1(t, "string");
2962
+ return R(e) == "symbol" ? e : e + "";
2963
+ }
2964
+ function I1(t, e) {
2965
+ if (R(t) != "object" || !t) return t;
2966
+ var d = t[Symbol.toPrimitive];
2967
+ if (d !== void 0) {
2968
+ var r = d.call(t, e);
2969
+ if (R(r) != "object") return r;
2970
+ throw new TypeError("@@toPrimitive must return a primitive value.");
2971
+ }
2972
+ return (e === "string" ? String : Number)(t);
2973
+ }
2974
+ function Ge(t, e, d) {
2975
+ return C1(t, Ee(Ee({}, e), {}, {
2976
+ v2: !0
2977
+ }), d);
2978
+ }
2979
+ function I(t) {
2980
+ "@babel/helpers - typeof";
2981
+ return I = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2982
+ return typeof e;
2983
+ } : function(e) {
2984
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2985
+ }, I(t);
2986
+ }
2987
+ function Oe(t, e) {
2988
+ var d = Object.keys(t);
2989
+ if (Object.getOwnPropertySymbols) {
2990
+ var r = Object.getOwnPropertySymbols(t);
2991
+ e && (r = r.filter(function(n) {
2992
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
2993
+ })), d.push.apply(d, r);
2994
+ }
2995
+ return d;
2996
+ }
2997
+ function F1(t) {
2998
+ for (var e = 1; e < arguments.length; e++) {
2999
+ var d = arguments[e] != null ? arguments[e] : {};
3000
+ e % 2 ? Oe(Object(d), !0).forEach(function(r) {
3001
+ w1(t, r, d[r]);
3002
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Oe(Object(d)).forEach(function(r) {
3003
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
3004
+ });
3005
+ }
3006
+ return t;
3007
+ }
3008
+ function w1(t, e, d) {
3009
+ return (e = A1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
3010
+ }
3011
+ function A1(t) {
3012
+ var e = D1(t, "string");
3013
+ return I(e) == "symbol" ? e : e + "";
3014
+ }
3015
+ function D1(t, e) {
3016
+ if (I(t) != "object" || !t) return t;
3017
+ var d = t[Symbol.toPrimitive];
3018
+ if (d !== void 0) {
3019
+ var r = d.call(t, e);
3020
+ if (I(r) != "object") return r;
3021
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3022
+ }
3023
+ return (e === "string" ? String : Number)(t);
3024
+ }
3025
+ function L1(t, e) {
3026
+ return k1(t) || B1(t, e) || j1(t, e) || M1();
3027
+ }
3028
+ function M1() {
3029
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3030
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
3031
+ }
3032
+ function j1(t, e) {
3033
+ if (t) {
3034
+ if (typeof t == "string") return _e(t, e);
3035
+ var d = {}.toString.call(t).slice(8, -1);
3036
+ 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) ? _e(t, e) : void 0;
3037
+ }
3038
+ }
3039
+ function _e(t, e) {
3040
+ (e == null || e > t.length) && (e = t.length);
3041
+ for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
3042
+ return r;
3043
+ }
3044
+ function B1(t, e) {
3045
+ var d = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
3046
+ if (d != null) {
3047
+ var r, n, s, $, o = [], i = !0, a = !1;
3048
+ try {
3049
+ 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) ;
3050
+ } catch (u) {
3051
+ a = !0, n = u;
3052
+ } finally {
3053
+ try {
3054
+ if (!i && d.return != null && ($ = d.return(), Object($) !== $)) return;
3055
+ } finally {
3056
+ if (a) throw n;
3057
+ }
3058
+ }
3059
+ return o;
3060
+ }
3061
+ }
3062
+ function k1(t) {
3063
+ if (Array.isArray(t)) return t;
3064
+ }
3065
+ function He(t) {
3066
+ var e = Array.prototype.slice.call(t), d = L1(e, 4), r = d[0], n = d[1], s = d[2], $ = d[3], o, i, a;
3067
+ if (typeof r == "string")
3068
+ o = r;
3069
+ else throw new TypeError("A text for parsing must be a string.");
3070
+ if (!n || typeof n == "string")
3071
+ $ ? (i = s, a = $) : (i = void 0, a = s), n && (i = F1({
3072
+ defaultCountry: n
3073
+ }, i));
3074
+ else if (T(n))
3075
+ s ? (i = n, a = s) : a = n;
3076
+ else throw new Error("Invalid second argument: ".concat(n));
3077
+ return {
3078
+ text: o,
3079
+ options: i,
3080
+ metadata: a
3081
+ };
3082
+ }
3083
+ function U1() {
3084
+ var t = He(arguments), e = t.text, d = t.options, r = t.metadata;
3085
+ return Ge(e, d, r);
3086
+ }
3087
+ function F(t) {
3088
+ "@babel/helpers - typeof";
3089
+ return F = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
3090
+ return typeof e;
3091
+ } : function(e) {
3092
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
3093
+ }, F(t);
3094
+ }
3095
+ function xe(t, e) {
3096
+ var d = Object.keys(t);
3097
+ if (Object.getOwnPropertySymbols) {
3098
+ var r = Object.getOwnPropertySymbols(t);
3099
+ e && (r = r.filter(function(n) {
3100
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
3101
+ })), d.push.apply(d, r);
3102
+ }
3103
+ return d;
3104
+ }
3105
+ function Se(t) {
3106
+ for (var e = 1; e < arguments.length; e++) {
3107
+ var d = arguments[e] != null ? arguments[e] : {};
3108
+ e % 2 ? xe(Object(d), !0).forEach(function(r) {
3109
+ G1(t, r, d[r]);
3110
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : xe(Object(d)).forEach(function(r) {
3111
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
3112
+ });
3113
+ }
3114
+ return t;
3115
+ }
3116
+ function G1(t, e, d) {
3117
+ return (e = H1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
3118
+ }
3119
+ function H1(t) {
3120
+ var e = J1(t, "string");
3121
+ return F(e) == "symbol" ? e : e + "";
3122
+ }
3123
+ function J1(t, e) {
3124
+ if (F(t) != "object" || !t) return t;
3125
+ var d = t[Symbol.toPrimitive];
3126
+ if (d !== void 0) {
3127
+ var r = d.call(t, e);
3128
+ if (F(r) != "object") return r;
3129
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3130
+ }
3131
+ return (e === "string" ? String : Number)(t);
3132
+ }
3133
+ function V1(t, e, d) {
3134
+ e && e.defaultCountry && !Zt(e.defaultCountry, d) && (e = Se(Se({}, e), {}, {
3135
+ defaultCountry: void 0
3136
+ }));
3137
+ try {
3138
+ return Ge(t, e, d);
3139
+ } catch (r) {
3140
+ if (!(r instanceof g)) throw r;
3141
+ }
3142
+ }
3143
+ function w(t) {
3144
+ "@babel/helpers - typeof";
3145
+ return w = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
3146
+ return typeof e;
3147
+ } : function(e) {
3148
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
3149
+ }, w(t);
3150
+ }
3151
+ function Re(t, e) {
3152
+ var d = Object.keys(t);
3153
+ if (Object.getOwnPropertySymbols) {
3154
+ var r = Object.getOwnPropertySymbols(t);
3155
+ e && (r = r.filter(function(n) {
3156
+ return Object.getOwnPropertyDescriptor(t, n).enumerable;
3157
+ })), d.push.apply(d, r);
3158
+ }
3159
+ return d;
3160
+ }
3161
+ function Ie(t) {
3162
+ for (var e = 1; e < arguments.length; e++) {
3163
+ var d = arguments[e] != null ? arguments[e] : {};
3164
+ e % 2 ? Re(Object(d), !0).forEach(function(r) {
3165
+ W1(t, r, d[r]);
3166
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Re(Object(d)).forEach(function(r) {
3167
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
3168
+ });
3169
+ }
3170
+ return t;
3171
+ }
3172
+ function W1(t, e, d) {
3173
+ return (e = K1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
3174
+ }
3175
+ function K1(t) {
3176
+ var e = q1(t, "string");
3177
+ return w(e) == "symbol" ? e : e + "";
3178
+ }
3179
+ function q1(t, e) {
3180
+ if (w(t) != "object" || !t) return t;
3181
+ var d = t[Symbol.toPrimitive];
3182
+ if (d !== void 0) {
3183
+ var r = d.call(t, e);
3184
+ if (w(r) != "object") return r;
3185
+ throw new TypeError("@@toPrimitive must return a primitive value.");
3186
+ }
3187
+ return (e === "string" ? String : Number)(t);
3188
+ }
3189
+ function Z1() {
3190
+ var t = He(arguments), e = t.text, d = t.options, r = t.metadata;
3191
+ d = Ie(Ie({}, d), {}, {
3192
+ extract: !1
3193
+ });
3194
+ var n = V1(e, d, r);
3195
+ return n && n.isValid() || !1;
3196
+ }
3197
+ function X1() {
3198
+ return we(U1, arguments);
3199
+ }
3200
+ function Y1() {
3201
+ return we(Z1, arguments);
3202
+ }
3203
+ function yd(t) {
3204
+ if (!Y1(t)) return !1;
3205
+ const e = X1(t), d = e == null ? void 0 : e.country;
3206
+ return !(!d || !et.find((n) => n.iso === d));
3207
+ }
3208
+ function gd(t) {
3209
+ if (!t || !/^[0-9a-zA-Z.-]+$/.test(t)) return !1;
3210
+ const d = t.replace(/[^a-zA-Z0-9]/g, "");
3211
+ return d.length < 7 || d.length > 9 ? !1 : /^[0-9]{7,8}[0-9Xx]?$/.test(d);
3212
+ }
3213
+ export {
3214
+ rd as ApiService,
3215
+ tt as BadGateway,
3216
+ V as BadRequest,
3217
+ dt as Conflict,
3218
+ it as Created,
3219
+ ee as DebugService,
3220
+ rt as Forbidden,
3221
+ ot as Found,
3222
+ Fe as LogService,
3223
+ at as NoContent,
3224
+ nt as NotFound,
3225
+ st as NotImplemented,
3226
+ od as SchemaValidator,
3227
+ W as ServerError,
3228
+ ut as Success,
3229
+ $t as Unauthorized,
3230
+ K as UnprocessableEntity,
3231
+ lt as Updated,
3232
+ nd as decodeRequestBody,
3233
+ sd as decodeRequestErrorMessage,
3234
+ $d as errorHandler,
3235
+ C as flushDebugLogs,
3236
+ bt as formAsyncParse,
3237
+ vt as formParse,
3238
+ id as getScopedParams,
3239
+ ad as validateCep,
3240
+ ud as validateCnpj,
3241
+ ld as validateCpf,
3242
+ cd as validateDate,
3243
+ fd as validateEmail,
3244
+ hd as validatePassword,
3245
+ yd as validatePhone,
3246
+ gd as validateRg
3247
+ };