File Coverage

blib/lib/Number/Phone/StubCountry/GR.pm
Criterion Covered Total %
statement 17 17 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 25 25 100.0


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::GR;
20 2     2   1279 use base qw(Number::Phone::StubCountry);
  2         7  
  2         229  
21              
22 2     2   29 use strict;
  2         7  
  2         51  
23 2     2   16 use warnings;
  2         7  
  2         97  
24 2     2   24 use utf8;
  2         5  
  2         18  
25             our $VERSION = 1.20230903131447;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2 $3',
30             'leading_digits' => '
31             21|
32             7
33             ',
34             'pattern' => '(\\d{2})(\\d{4})(\\d{4})'
35             },
36             {
37             'format' => '$1 $2',
38             'leading_digits' => '
39             2(?:
40             2|
41             3[2-57-9]|
42             4[2-469]|
43             5[2-59]|
44             6[2-9]|
45             7[2-69]|
46             8[2-49]
47             )|
48             5
49             ',
50             'pattern' => '(\\d{4})(\\d{6})'
51             },
52             {
53             'format' => '$1 $2 $3',
54             'leading_digits' => '[2689]',
55             'pattern' => '(\\d{3})(\\d{3})(\\d{4})'
56             },
57             {
58             'format' => '$1 $2 $3',
59             'leading_digits' => '8',
60             'pattern' => '(\\d{3})(\\d{3,4})(\\d{5})'
61             }
62             ];
63              
64             my $validators = {
65             'fixed_line' => '
66             2(?:
67             1\\d\\d|
68             2(?:
69             2[1-46-9]|
70             [36][1-8]|
71             4[1-7]|
72             5[1-4]|
73             7[1-5]|
74             [89][1-9]
75             )|
76             3(?:
77             1\\d|
78             2[1-57]|
79             [35][1-3]|
80             4[13]|
81             7[1-7]|
82             8[124-6]|
83             9[1-79]
84             )|
85             4(?:
86             1\\d|
87             2[1-8]|
88             3[1-4]|
89             4[13-5]|
90             6[1-578]|
91             9[1-5]
92             )|
93             5(?:
94             1\\d|
95             [29][1-4]|
96             3[1-5]|
97             4[124]|
98             5[1-6]
99             )|
100             6(?:
101             1\\d|
102             [269][1-6]|
103             3[1245]|
104             4[1-7]|
105             5[13-9]|
106             7[14]|
107             8[1-5]
108             )|
109             7(?:
110             1\\d|
111             2[1-5]|
112             3[1-6]|
113             4[1-7]|
114             5[1-57]|
115             6[135]|
116             9[125-7]
117             )|
118             8(?:
119             1\\d|
120             2[1-5]|
121             [34][1-4]|
122             9[1-57]
123             )
124             )\\d{6}
125             ',
126             'geographic' => '
127             2(?:
128             1\\d\\d|
129             2(?:
130             2[1-46-9]|
131             [36][1-8]|
132             4[1-7]|
133             5[1-4]|
134             7[1-5]|
135             [89][1-9]
136             )|
137             3(?:
138             1\\d|
139             2[1-57]|
140             [35][1-3]|
141             4[13]|
142             7[1-7]|
143             8[124-6]|
144             9[1-79]
145             )|
146             4(?:
147             1\\d|
148             2[1-8]|
149             3[1-4]|
150             4[13-5]|
151             6[1-578]|
152             9[1-5]
153             )|
154             5(?:
155             1\\d|
156             [29][1-4]|
157             3[1-5]|
158             4[124]|
159             5[1-6]
160             )|
161             6(?:
162             1\\d|
163             [269][1-6]|
164             3[1245]|
165             4[1-7]|
166             5[13-9]|
167             7[14]|
168             8[1-5]
169             )|
170             7(?:
171             1\\d|
172             2[1-5]|
173             3[1-6]|
174             4[1-7]|
175             5[1-57]|
176             6[135]|
177             9[125-7]
178             )|
179             8(?:
180             1\\d|
181             2[1-5]|
182             [34][1-4]|
183             9[1-57]
184             )
185             )\\d{6}
186             ',
187             'mobile' => '
188             68[57-9]\\d{7}|
189             (?:
190             69|
191             94
192             )\\d{8}
193             ',
194             'pager' => '',
195             'personal_number' => '70\\d{8}',
196             'specialrate' => '(
197             8(?:
198             0[16]|
199             12|
200             [27]5|
201             50
202             )\\d{7}
203             )|(90[19]\\d{7})|(5005000\\d{3})',
204             'toll_free' => '800\\d{7,9}',
205             'voip' => ''
206             };
207             my %areanames = ();
208             $areanames{en} = {"302666", "Paramythia",
209             "302495", "Gonnoi\/Makrychori",
210             "302753", "Lygourio",
211             "302674", "Sami\,\ Cephalonia",
212             "302556", "Kyprinos",
213             "302623", "Lechaina",
214             "302232", "Domokos",
215             "302722", "Messene",
216             "302751", "Argos",
217             "302287", "Milos",
218             "302296", "Megara",
219             "302621", "Burgas",
220             "302375", "Nikiti",
221             "302281", "Ano\ Syros",
222             "302757", "Leonidio",
223             "302431", "Trikala",
224             "302765", "Kopanaki",
225             "302234", "Amfikleia",
226             "302724", "Meligalas",
227             "302823", "Kandanos",
228             "302245", "Karpathos",
229             "302283", "Tinos",
230             "302821", "Chania",
231             "302659", "Kalentzi",
232             "302433", "Farkadona",
233             "302381", "Edessa",
234             "302462", "Grevena",
235             "302644", "Thermo",
236             "302893", "Pyrgos\,\ Crete",
237             "302842", "Ierapetra",
238             "302747", "Stymfalia",
239             "302267", "Distomo",
240             "302635", "Mataranga",
241             "302891", "Arkalochori",
242             "30231", "Thessaloniki",
243             "302425", "Feres\,\ Magnesia",
244             "302261", "Livadeia",
245             "302531", "Komotini",
246             "302464", "Servia",
247             "302642", "Amfilochia",
248             "302897", "Limenas\ Chersonisou",
249             "302792", "Kastri\ Kynourias",
250             "302844", "Tzermadio",
251             "302332", "Naousa\,\ Imathia",
252             "302743", "Xylokastro",
253             "302693", "Kato\ Achaia",
254             "302533", "Xylagani",
255             "302263", "Vilia",
256             "302396", "Vasilika",
257             "302691", "Aigio",
258             "302741", "Corinth",
259             "302226", "Aidipsos",
260             "302275", "Agios\ Kirykos",
261             "302736", "Kythera",
262             "302376", "Stratoni",
263             "302671", "Argostoli",
264             "302325", "Irakleia\,\ Serres",
265             "302295", "Afidnes",
266             "302282", "Andros",
267             "302432", "Kalabaka",
268             "302657", "Delvinaki",
269             "302754", "Kranidi",
270             "302298", "Troezen\/Poros\/Hydra\/Spetses",
271             "302555", "Feres\,\ Evros",
272             "302624", "Olympia",
273             "302237", "Karpenisi",
274             "302665", "Igoumenitsa",
275             "302822", "Kissamos",
276             "302651", "Ioannina",
277             "302284", "Paros",
278             "302721", "Kalamata",
279             "302231", "Lamia",
280             "302434", "Pyli",
281             "302246", "Salakos\,\ Rhodes",
282             "302445", "Mouzaki",
283             "302653", "Asprangeli",
284             "302752", "Nafplio",
285             "302622", "Amaliada",
286             "302233", "Atalanta",
287             "30241", "Larissa",
288             "302824", "Kolymvari",
289             "302723", "Pylos",
290             "302289", "Mykonos",
291             "302532", "Sapes",
292             "302262", "Thebes",
293             "302384", "Aridaia",
294             "302331", "Veria",
295             "302791", "Megalopolis",
296             "302641", "Agrinio",
297             "302467", "Kastoria",
298             "302643", "Vonitsa",
299             "302894", "Agia\ Varvara",
300             "302742", "Kiato",
301             "302333", "Alexandria",
302             "302685", "Athamania",
303             "302692", "Kalavryta",
304             "302461", "Kozani",
305             "302534", "Iasmos",
306             "302735", "Molaoi",
307             "302264", "Thisvi",
308             "302395", "Sochos",
309             "302382", "Giannitsa",
310             "302841", "Agios\ Nikolaos",
311             "302228", "Messapia",
312             "30251", "Kavala",
313             "302463", "Ptolemaida",
314             "302647", "Fyteies",
315             "302797", "Tropaia",
316             "302892", "Moires\,\ Heraklion",
317             "302744", "Loutraki",
318             "302843", "Sitia",
319             "302426", "Zagora",
320             "302694", "Chalandritsa",
321             "302373", "Nea\ Moudania",
322             "302294", "Rafina",
323             "302324", "Nea\ Zichni",
324             "302491", "Farsala",
325             "302247", "Leros",
326             "302299", "Markopoulo\ Mesogaias",
327             "302664", "Filiates",
328             "302371", "Polygyros",
329             "302625", "Krestena",
330             "302755", "Astros",
331             "302493", "Elassona",
332             "302554", "Soufli",
333             "302377", "Ierissos\/Mount\ Athos",
334             "302761", "Kyparissia",
335             "302521", "Drama",
336             "302353", "Aiginio",
337             "302292", "Lavrio",
338             "302285", "Naxos",
339             "302322", "Nigrita",
340             "302243", "Kalymnos",
341             "302825", "Vamos",
342             "302523", "Kato\ Nevrokopi",
343             "302662", "Lefkimmi",
344             "302656", "Metsovo",
345             "302351", "Korinos",
346             "302763", "Gargalianoi",
347             "302241", "Rhodes",
348             "302288", "Kea",
349             "302552", "Orestiada",
350             "302236", "Makrakomi",
351             "302444", "Palamas",
352             "302591", "Chrysoupoli",
353             "302253", "Kalloni\,\ Lesbos",
354             "302392", "Peraia\,\ Thessaloniki",
355             "302385", "Florina",
356             "302222", "Kymi",
357             "302343", "Polykastro",
358             "302732", "Molaoi",
359             "302542", "Stavroupoli",
360             "302684", "Kanalaki",
361             "302251", "Mytilene",
362             "302593", "Thasos",
363             "302895", "Ano\ Viannos",
364             "302341", "Kilkis",
365             "302796", "Levidi",
366             "302631", "Messolonghi",
367             "302427", "Skiathos",
368             "302273", "Samos",
369             "302421", "Volos",
370             "302265", "Amfissa",
371             "302394", "Lagkadas",
372             "302224", "Karystos",
373             "302833", "Amari\,\ Rethymno",
374             "302535", "Nea\ Kallisti",
375             "302734", "Neapoli\,\ Voies",
376             "302682", "Preveza",
377             "302544", "Echinos",
378             "302399", "Kallikrateia",
379             "302695", "Zakynthos",
380             "302229", "Eretria",
381             "302271", "Chios",
382             "302831", "Rethymno",
383             "302268", "Aliartos",
384             "302423", "Kala\ Nera",
385             "30271", "Tripoli",
386             "302522", "Prosotsani",
387             "302663", "Corfu\ Island",
388             "302494", "Agia",
389             "302553", "Didymoteicho",
390             "302321", "Serres",
391             "302626", "Andritsaina",
392             "302291", "Lagonisi",
393             "302374", "Kassandreia",
394             "302352", "Litochoro",
395             "302661", "Corfu",
396             "302293", "Agia\ Sotira",
397             "302551", "Alexandroupoli",
398             "302323", "Sidirokastro",
399             "302242", "Kos",
400             "302235", "Kamena\ Vourla",
401             "302725", "Koroni",
402             "302524", "Paranesti",
403             "302492", "Tyrnavos",
404             "302443", "Sofades",
405             "302655", "Konitsa",
406             "302372", "Arnaia",
407             "302238", "Stylida",
408             "302286", "Santorini",
409             "302297", "Aegina",
410             "302441", "Karditsa",
411             "302658", "Zitsa",
412             "302327", "Rodopoli",
413             "302244", "Archangelos\,\ Rhodes",
414             "302683", "Filippiada",
415             "302645", "Lefkada",
416             "302594", "Nea\ Peramos\,\ Kavala",
417             "302795", "Vytina",
418             "30261", "Patras",
419             "302422", "Almyros",
420             "302272", "Kardamyla",
421             "302254", "Agios\ Efstratios",
422             "302681", "Arta",
423             "302386", "Amyntaio",
424             "302397", "Asprovalta",
425             "302634", "Nafpaktos",
426             "302227", "Kireas",
427             "302832", "Spyli",
428             "3021", "Athens\/Piraeus\/Salamina",
429             "302592", "Eleftheroupoli",
430             "302731", "Sparti",
431             "302221", "Chalcis",
432             "302465", "Siatista",
433             "302746", "Nemea",
434             "302696", "Akrata",
435             "302391", "Chalkidona",
436             "302424", "Skopelos",
437             "30281", "Heraklion",
438             "302274", "Psara\,\ Chios",
439             "302252", "Agiasos\/Plomari",
440             "302266", "Lidoriki",
441             "302541", "Xanthi",
442             "302393", "Lagkadikia",
443             "302468", "Neapoli",
444             "302632", "Aitoliko",
445             "302223", "Aliveri",
446             "302733", "Gytheio",
447             "302834", "Perama\ Mylopotamou",};
448             $areanames{el} = {"302241", "Ρόδος",
449             "302288", "Κέα",
450             "302552", "Ορεστιάδα",
451             "302236", "Μακρακώμη",
452             "302444", "Παλαμάς",
453             "302662", "Λευκίμμη",
454             "302825", "Βάμος",
455             "302523", "Κάτω\ Νευροκόπι",
456             "302656", "Μέτσοβο",
457             "302351", "Κατερίνη",
458             "302763", "Γαργαλιάνοι",
459             "302292", "Λαύριο",
460             "302285", "Νάξος",
461             "302322", "Νιγρίτα",
462             "302243", "Κάλυμνος",
463             "302377", "Άγιον\ Όρος\/Ιερισσός",
464             "302761", "Κυπαρισσία",
465             "302521", "Δράμα",
466             "302353", "Αιγίνιο",
467             "302755", "Άστρος",
468             "302554", "Σουφλί",
469             "302493", "Ελασσόνα",
470             "302299", "Μαρκόπουλο",
471             "302664", "Φιλιάτες",
472             "302371", "Πολύγυρος",
473             "302625", "Κρέστενα",
474             "302294", "Ραφήνα",
475             "302324", "Νέα\ Ζίχνη",
476             "302491", "Φάρσαλα",
477             "302247", "Λέρος",
478             "302373", "Νέα\ Μουδανιά",
479             "302831", "Ρέθυμνο",
480             "302268", "Αλίαρτος",
481             "302423", "Καλά\ Νερά",
482             "30271", "Τρίπολη",
483             "302682", "Πρέβεζα",
484             "302399", "Καλλικράτεια",
485             "302544", "Εχίνος",
486             "302695", "Ζάκυνθος",
487             "302229", "Ερέτρια",
488             "302271", "Χίος",
489             "302265", "Άμφισσα",
490             "302421", "Βόλος",
491             "302394", "Λαγκαδάς",
492             "302224", "Κάρυστος",
493             "302833", "Αμάρι",
494             "302535", "Νέα\ Καλλίστη",
495             "302734", "Νεάπολη",
496             "302273", "Σάμος",
497             "302341", "Κιλκίς",
498             "302796", "Λεβίδι",
499             "302631", "Μεσολόγγι",
500             "302427", "Σκιάθος",
501             "302684", "Καναλλάκι",
502             "302542", "Σταυρούπολη",
503             "302251", "Μυτιλήνη",
504             "302593", "Θάσος",
505             "302895", "Άνω\ Βιάννος",
506             "302392", "Περαία",
507             "302385", "Φλώρινα",
508             "302222", "Κύμη",
509             "302732", "Μολάοι",
510             "302343", "Πολύκαστρο",
511             "302591", "Χρυσούπολη",
512             "302253", "Καλλονή\/Μήθυμνα",
513             "302297", "Αίγινα",
514             "302441", "Καρδίτσα",
515             "302658", "Ζίτσα",
516             "302327", "Ροδόπολη\,\ Σερρών",
517             "302244", "Αρχάγγελος",
518             "302372", "Αρναία",
519             "302238", "Στυλίδα",
520             "302286", "Θήρα",
521             "302492", "Τύρναβος",
522             "302443", "Σοφάδες",
523             "302655", "Κόνιτσα\/Πέρδικα\ Δωδώνης",
524             "302235", "Καμμένα\ Βούρλα",
525             "302725", "Κορώνη\ Πυλίας",
526             "302524", "Παρανέστι",
527             "302293", "Άγιος\ Σωτήρας",
528             "302551", "Αλεξανδρούπολη",
529             "302323", "Σιδηρόκαστρο",
530             "302242", "Κως",
531             "302374", "Κασσάνδρεια",
532             "302352", "Λιτόχωρο",
533             "302661", "Κέρκυρα",
534             "302494", "Αγιά",
535             "302553", "Διδυμότειχο",
536             "302321", "Σέρρες",
537             "302626", "Ανδρίτσαινα",
538             "302291", "Λαγονήσι",
539             "302663", "Σκριπερό",
540             "302522", "Προσοτσάνη",
541             "302393", "Λαγκαδίκια",
542             "302468", "Νεάπολη",
543             "302632", "Αιτωλικό",
544             "302223", "Αλιβέρι",
545             "302733", "Γύθειο",
546             "302834", "Πέραμα\ Μυλοποτάμου",
547             "302274", "Βολισσός",
548             "302252", "Αγιάσος\/Πλωμάρι",
549             "302266", "Λιδορίκι",
550             "302541", "Ξάνθη",
551             "302731", "Σπάρτη",
552             "302465", "Σιάτιστα",
553             "302221", "Χαλκίδα",
554             "302746", "Νεμέα",
555             "302391", "Χαλκηδόνα",
556             "302696", "Ακράτα",
557             "302424", "Σκόπελος",
558             "30281", "Ηράκλειο",
559             "3021", "Αθήνα\/Πειραιάς\/Σαλαμίνα",
560             "302592", "Ελευθερούπολη",
561             "302397", "Ασπροβάλτα",
562             "302634", "Ναύπακτος",
563             "302227", "Μαντούδι",
564             "302832", "Σπήλι",
565             "302272", "Καρδάμυλα",
566             "302254", "Άγιος\ Ευστράτιος\/Μούδρος\/Μύρινα",
567             "302681", "Άρτα",
568             "302386", "Αμύνταιο",
569             "30261", "Πάτρα",
570             "302422", "Αλμυρός",
571             "302683", "Φιλιππιάδα",
572             "302645", "Λευκάδα",
573             "302594", "Νέα\ Πέραμος\ Καβάλας",
574             "302795", "Βυτίνα",
575             "302821", "Χανιά",
576             "302659", "Καλέντζι\ Δωδώνης",
577             "302433", "Φαρκαδόνα",
578             "302245", "Κάρπαθος",
579             "302283", "Τήνος",
580             "302431", "Τρίκαλα",
581             "302765", "Κοπανάκι",
582             "302234", "Αμφίκλεια",
583             "302724", "Μελιγαλάς",
584             "302823", "Κάντανος",
585             "302281", "Σύρος",
586             "302757", "Λεωνίδιο",
587             "302296", "Μέγαρα\/Νέα\ Πέραμος",
588             "302375", "Νικήτη",
589             "302621", "Πύργος",
590             "302751", "Άργος",
591             "302287", "Μήλος",
592             "302556", "Κυπρίνος",
593             "302623", "Λεχαινά",
594             "302232", "Δομοκός",
595             "302722", "Μεσσήνη",
596             "302666", "Παραμυθιά",
597             "302495", "Γόννοι\/Μακρυχώρι",
598             "302674", "Σάμη",
599             "302753", "Λυγουριό",
600             "302691", "Αίγιο",
601             "302396", "Βασιλικά",
602             "302741", "Κόρινθος",
603             "302226", "Αιδηψός",
604             "302275", "Άγιος\ Κήρυκος",
605             "302736", "Κύθηρα",
606             "302533", "Ξυλαγανή",
607             "302263", "Βίλια",
608             "302642", "Αμφιλοχία",
609             "302897", "Λιμένας\ Χερσονήσου",
610             "302792", "Καστρί\ Κυνουρίας",
611             "302844", "Τζερμιάδο",
612             "302743", "Ξυλόκαστρο",
613             "302332", "Νάουσα",
614             "302693", "Κάτω\ Αχαΐα",
615             "302425", "Βελεστίνο",
616             "302261", "Λειβαδιά",
617             "302531", "Κομοτηνή",
618             "302464", "Σέρβια",
619             "302891", "Αρκαλοχώρι",
620             "30231", "Θεσσαλονίκη",
621             "302267", "Δίστομο",
622             "302635", "Ματαράγκα",
623             "302644", "Θερμό",
624             "302893", "Πύργος\,\ Κρήτη",
625             "302842", "Ιεράπετρα",
626             "302747", "Καλιανοί",
627             "302381", "Έδεσσα",
628             "302462", "Γρεβενά",
629             "302622", "Αμαλιάδα",
630             "302233", "Αταλάντη",
631             "30241", "Λάρισα",
632             "302824", "Κολυμβάρι",
633             "302723", "Πύλος",
634             "302289", "Μύκονος",
635             "302445", "Μουζάκι",
636             "302653", "Καρυές\ Ασπραγγέλων",
637             "302752", "Ναύπλιο",
638             "302721", "Καλαμάτα",
639             "302231", "Λαμία",
640             "302434", "Πύλη",
641             "302246", "Τήλος\/Σύμη\/Χάλκη\/Μεγίστη",
642             "302651", "Ιωάννινα",
643             "302284", "Πάρος",
644             "302624", "Αρχαία\ Ολυμπία",
645             "302237", "Καρπενήσι",
646             "302665", "Ηγουμενίτσα",
647             "302822", "Κίσσαμος",
648             "302657", "Δελβινάκι",
649             "302754", "Κρανίδι",
650             "302555", "Φέρες",
651             "302298", "Μέθανα\/Πόρος\/Σπέτσες",
652             "302432", "Καλαμπάκα",
653             "302671", "Αργοστόλι",
654             "302376", "Στρατώνι",
655             "302325", "Ηράκλεια\,\ Σερρών",
656             "302295", "Αφίδναι",
657             "302282", "Άνδρος",
658             "302647", "Νέο\ Χαλκιόπουλο\/Φυτείες",
659             "302797", "Τροπαία",
660             "302892", "Μοίρες\,\ Ηράκλειο",
661             "302744", "Λουτράκι",
662             "302843", "Σητεία",
663             "302426", "Ζαγορά",
664             "302694", "Χαλανδρίτσα",
665             "30251", "Καβάλα",
666             "302228", "Ψαχνά",
667             "302463", "Πτολεμαΐδα",
668             "302841", "Άγιος\ Νικόλαος",
669             "302461", "Κοζάνη",
670             "302534", "Ίασμος",
671             "302735", "Σκάλα",
672             "302264", "Δόμβραινα",
673             "302395", "Σοχός",
674             "302382", "Γιαννιτσά",
675             "302643", "Βόνιτσα",
676             "302894", "Αγία\ Βαρβάρα\,\ Ηράκλειο\ Κρήτης",
677             "302333", "Αλεξάνδρεια",
678             "302742", "Κιάτο",
679             "302685", "Βουργαρέλι",
680             "302692", "Καλάβρυτα",
681             "302467", "Καστοριά",
682             "302331", "Βέροια",
683             "302791", "Μεγαλόπολη",
684             "302641", "Αγρίνιο",
685             "302532", "Σάπες",
686             "302262", "Θήβα",
687             "302384", "Αριδαία",};
688              
689             sub new {
690 22     22 1 49 my $class = shift;
691 22         48 my $number = shift;
692 22         153 $number =~ s/(^\+30|\D)//g;
693 22         131 my $self = bless({ country_code => '30', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
694 22 100       113 return $self->is_valid() ? $self : undef;
695             }
696             1;