phonenumbers 9.0.17__py2.py3-none-any.whl → 9.0.19__py2.py3-none-any.whl

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 (61) hide show
  1. phonenumbers/__init__.py +1 -1
  2. phonenumbers/carrierdata/data0.py +37 -37
  3. phonenumbers/carrierdata/data1.py +23 -23
  4. phonenumbers/carrierdata/data2.py +17 -26
  5. phonenumbers/data/region_AU.py +2 -2
  6. phonenumbers/data/region_BJ.py +4 -4
  7. phonenumbers/data/region_CC.py +1 -1
  8. phonenumbers/data/region_CF.py +1 -1
  9. phonenumbers/data/region_CX.py +1 -1
  10. phonenumbers/data/region_EE.py +1 -1
  11. phonenumbers/data/region_EH.py +1 -1
  12. phonenumbers/data/region_ET.py +1 -1
  13. phonenumbers/data/region_GE.py +1 -1
  14. phonenumbers/data/region_IL.py +1 -1
  15. phonenumbers/data/region_IN.py +4 -4
  16. phonenumbers/data/region_IR.py +1 -1
  17. phonenumbers/data/region_LB.py +1 -1
  18. phonenumbers/data/region_MA.py +3 -3
  19. phonenumbers/data/region_MC.py +4 -4
  20. phonenumbers/data/region_OM.py +1 -1
  21. phonenumbers/data/region_PY.py +9 -0
  22. phonenumbers/data/region_QA.py +1 -1
  23. phonenumbers/data/region_SG.py +1 -1
  24. phonenumbers/data/region_SN.py +1 -1
  25. phonenumbers/data/region_SV.py +3 -3
  26. phonenumbers/data/region_TJ.py +3 -3
  27. phonenumbers/data/region_UG.py +1 -1
  28. phonenumbers/data/region_ZA.py +1 -1
  29. phonenumbers/geodata/data10.py +2 -2
  30. phonenumbers/geodata/data11.py +2 -2
  31. phonenumbers/geodata/data12.py +5 -5
  32. phonenumbers/geodata/data13.py +4 -4
  33. phonenumbers/geodata/data14.py +4 -4
  34. phonenumbers/geodata/data15.py +4 -4
  35. phonenumbers/geodata/data16.py +4 -4
  36. phonenumbers/geodata/data17.py +4 -4
  37. phonenumbers/geodata/data18.py +4 -4
  38. phonenumbers/geodata/data19.py +4 -4
  39. phonenumbers/geodata/data20.py +4 -4
  40. phonenumbers/geodata/data21.py +4 -4
  41. phonenumbers/geodata/data22.py +4 -4
  42. phonenumbers/geodata/data23.py +4 -4
  43. phonenumbers/geodata/data24.py +4 -4
  44. phonenumbers/geodata/data25.py +4 -4
  45. phonenumbers/geodata/data26.py +4 -4
  46. phonenumbers/geodata/data27.py +4 -4
  47. phonenumbers/geodata/data28.py +4 -12
  48. phonenumbers/geodata/data3.py +2 -2
  49. phonenumbers/geodata/data4.py +2 -2
  50. phonenumbers/geodata/data5.py +2 -2
  51. phonenumbers/geodata/data6.py +2 -2
  52. phonenumbers/geodata/data7.py +2 -2
  53. phonenumbers/geodata/data8.py +2 -2
  54. phonenumbers/geodata/data9.py +2 -2
  55. phonenumbers/shortdata/region_PY.py +4 -2
  56. phonenumbers/tzdata/data0.py +1 -0
  57. {phonenumbers-9.0.17.dist-info → phonenumbers-9.0.19.dist-info}/METADATA +1 -1
  58. {phonenumbers-9.0.17.dist-info → phonenumbers-9.0.19.dist-info}/RECORD +61 -61
  59. {phonenumbers-9.0.17.dist-info → phonenumbers-9.0.19.dist-info}/WHEEL +0 -0
  60. {phonenumbers-9.0.17.dist-info → phonenumbers-9.0.19.dist-info}/licenses/LICENSE +0 -0
  61. {phonenumbers-9.0.17.dist-info → phonenumbers-9.0.19.dist-info}/top_level.txt +0 -0
phonenumbers/__init__.py CHANGED
@@ -146,7 +146,7 @@ from .phonenumbermatcher import PhoneNumberMatch, PhoneNumberMatcher, Leniency
146
146
 
147
147
  # Version number is taken from the upstream libphonenumber version
148
148
  # together with an indication of the version of the Python-specific code.
149
- __version__ = "9.0.17"
149
+ __version__ = "9.0.19"
150
150
 
151
151
  __all__ = ['PhoneNumber', 'CountryCodeSource', 'FrozenPhoneNumber',
152
152
  'REGION_CODE_FOR_NON_GEO_ENTITY', 'NumberFormat', 'PhoneNumberDesc', 'PhoneMetadata',
@@ -987,30 +987,6 @@ data = {
987
987
  '2290197':{'en': 'MTN'},
988
988
  '2290198':{'en': 'Moov'},
989
989
  '2290199':{'en': 'Moov'},
990
- '2294':{'en': 'Celtiis'},
991
- '22942':{'en': 'MTN'},
992
- '22946':{'en': 'MTN'},
993
- '2295':{'en': 'MTN'},
994
- '22955':{'en': 'Moov'},
995
- '22960':{'en': 'Moov'},
996
- '22961':{'en': 'MTN'},
997
- '22962':{'en': 'MTN'},
998
- '22963':{'en': 'Moov'},
999
- '22964':{'en': 'Moov'},
1000
- '22965':{'en': 'Moov'},
1001
- '22966':{'en': 'MTN'},
1002
- '22967':{'en': 'MTN'},
1003
- '22968':{'en': 'Moov'},
1004
- '22969':{'en': 'MTN'},
1005
- '22990':{'en': 'MTN'},
1006
- '22991':{'en': 'MTN'},
1007
- '22993':{'en': 'BLK'},
1008
- '22994':{'en': 'Moov'},
1009
- '22995':{'en': 'Moov'},
1010
- '22996':{'en': 'MTN'},
1011
- '22997':{'en': 'MTN'},
1012
- '22998':{'en': 'Moov'},
1013
- '22999':{'en': 'Moov'},
1014
990
  '230525':{'en': 'Cellplus'},
1015
991
  '230526':{'en': 'Cellplus'},
1016
992
  '230527':{'en': 'MTML'},
@@ -1151,6 +1127,7 @@ data = {
1151
1127
  '2359':{'en': 'Tigo'},
1152
1128
  '23670':{'en': 'A-Cell'},
1153
1129
  '23672':{'en': 'Orange'},
1130
+ '23673':{'en': 'Orange'},
1154
1131
  '23674':{'en': 'Orange'},
1155
1132
  '23675':{'en': 'Telecel'},
1156
1133
  '23676':{'en': 'Telecel'},
@@ -1353,9 +1330,10 @@ data = {
1353
1330
  '25670':{'en': 'Airtel'},
1354
1331
  '25671':{'en': 'UTL'},
1355
1332
  '256720':{'en': 'Smile'},
1333
+ '256721':{'en': 'LycaMobile'},
1356
1334
  '256724':{'en': 'Hamilton Telecom'},
1357
- '256726':{'en': 'Tangerine'},
1358
- '256727':{'en': 'Tangerine'},
1335
+ '256726':{'en': 'LycaMobile'},
1336
+ '256727':{'en': 'LycaMobile'},
1359
1337
  '256728':{'en': 'Talkio'},
1360
1338
  '25673':{'en': 'Hamilton Telecom'},
1361
1339
  '25674':{'en': 'Airtel'},
@@ -1366,6 +1344,7 @@ data = {
1366
1344
  '256790':{'en': 'MTN'},
1367
1345
  '256791':{'en': 'MTN'},
1368
1346
  '256792':{'en': 'MTN'},
1347
+ '256795':{'en': 'Airtel'},
1369
1348
  '256798':{'en': 'Africell'},
1370
1349
  '256799':{'en': 'Africell'},
1371
1350
  '25729':{'en': 'Leo'},
@@ -2583,6 +2562,7 @@ data = {
2583
2562
  '346938':{'en': 'Yoigo'},
2584
2563
  '346939':{'en': 'Yoigo'},
2585
2564
  '34694':{'en': 'Movistar'},
2565
+ '346942':{'en': 'Orange'},
2586
2566
  '346944':{'en': 'Yoigo'},
2587
2567
  '346945':{'en': 'Yoigo'},
2588
2568
  '346946':{'en': 'Yoigo'},
@@ -3246,13 +3226,7 @@ data = {
3246
3226
  '37250':{'en': 'Telia Eesti AS'},
3247
3227
  '37251':{'en': 'Telia Eesti AS'},
3248
3228
  '37252':{'en': 'Telia Eesti AS'},
3249
- '372530':{'en': 'Telia Eesti AS'},
3250
- '372533':{'en': 'Telia Eesti AS'},
3251
- '372534':{'en': 'Telia Eesti AS'},
3252
- '372536':{'en': 'Telia Eesti AS'},
3253
- '372537':{'en': 'Telia Eesti AS'},
3254
- '372538':{'en': 'Telia Eesti AS'},
3255
- '372539':{'en': 'Telia Eesti AS'},
3229
+ '37253':{'en': 'Telia Eesti AS'},
3256
3230
  '37254':{'en': 'Telia Eesti AS'},
3257
3231
  '372545':{'en': 'Elisa'},
3258
3232
  '3725461':{'en': 'Elisa'},
@@ -3360,6 +3334,7 @@ data = {
3360
3334
  '3773':{'en': 'Monaco Telecom'},
3361
3335
  '3774':{'en': 'Monaco Telecom'},
3362
3336
  '3776':{'en': 'Monaco Telecom'},
3337
+ '3777':{'en': 'Monaco Telecom'},
3363
3338
  '37861':{'en': 'TELENET'},
3364
3339
  '37866':{'en': 'Telecom Italia San Marino'},
3365
3340
  '38039':{'en': 'Kyivstar', 'uk': u('\u041a\u0438\u0457\u0432\u0441\u0442\u0430\u0440')},
@@ -5291,10 +5266,10 @@ data = {
5291
5266
  '459381':{'en': 'tdc'},
5292
5267
  '459382':{'en': 'tdc'},
5293
5268
  '45939':{'en': '3'},
5294
- '459440':{'en': 'tdc'},
5295
- '459441':{'en': 'tdc'},
5296
- '459442':{'en': 'tdc'},
5297
- '459481':{'en': 'tdc'},
5269
+ '459440':{'en': 'Nuuday'},
5270
+ '459441':{'en': 'Nuuday'},
5271
+ '459442':{'en': 'Nuuday'},
5272
+ '459481':{'en': 'Nuuday'},
5298
5273
  '4596':{'en': 'telenor'},
5299
5274
  '45971':{'en': 'telenor'},
5300
5275
  '45972':{'en': 'telenor'},
@@ -6981,6 +6956,8 @@ data = {
6981
6956
  '5025919':{'en': 'Tigo'},
6982
6957
  '502599':{'en': 'Tigo'},
6983
6958
  '5028':{'en': 'Tigo'},
6959
+ '50350':{'en': 'Claro'},
6960
+ '50351':{'en': 'Tigo'},
6984
6961
  '503600':{'en': 'Tigo'},
6985
6962
  '503601':{'en': 'Tigo'},
6986
6963
  '503602':{'en': 'Tigo'},
@@ -10019,4 +9996,27 @@ data = {
10019
9996
  '553199784':{'en': 'Telemig Celular'},
10020
9997
  '553199785':{'en': 'Telemig Celular'},
10021
9998
  '553199786':{'en': 'Telemig Celular'},
9999
+ '553199787':{'en': 'Telemig Celular'},
10000
+ '553199788':{'en': 'Telemig Celular'},
10001
+ '553199789':{'en': 'Telemig Celular'},
10002
+ '553199791':{'en': 'Telemig Celular'},
10003
+ '553199792':{'en': 'Telemig Celular'},
10004
+ '553199793':{'en': 'Telemig Celular'},
10005
+ '553199794':{'en': 'Telemig Celular'},
10006
+ '553199795':{'en': 'Telemig Celular'},
10007
+ '553199796':{'en': 'Telemig Celular'},
10008
+ '553199797':{'en': 'Telemig Celular'},
10009
+ '553199798':{'en': 'Telemig Celular'},
10010
+ '553199799':{'en': 'Telemig Celular'},
10011
+ '5531998':{'en': 'Telemig Celular'},
10012
+ '553199800':{'en': 'TIM'},
10013
+ '553199810':{'en': 'TIM'},
10014
+ '553199820':{'en': 'TIM'},
10015
+ '553199830':{'en': 'TIM'},
10016
+ '553199840':{'en': 'TIM'},
10017
+ '553199850':{'en': 'TIM'},
10018
+ '553199860':{'en': 'TIM'},
10019
+ '553199870':{'en': 'TIM'},
10020
+ '553199880':{'en': 'TIM'},
10021
+ '553199890':{'en': 'TIM'},
10022
10022
  }
@@ -19,29 +19,6 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
- '553199787':{'en': 'Telemig Celular'},
23
- '553199788':{'en': 'Telemig Celular'},
24
- '553199789':{'en': 'Telemig Celular'},
25
- '553199791':{'en': 'Telemig Celular'},
26
- '553199792':{'en': 'Telemig Celular'},
27
- '553199793':{'en': 'Telemig Celular'},
28
- '553199794':{'en': 'Telemig Celular'},
29
- '553199795':{'en': 'Telemig Celular'},
30
- '553199796':{'en': 'Telemig Celular'},
31
- '553199797':{'en': 'Telemig Celular'},
32
- '553199798':{'en': 'Telemig Celular'},
33
- '553199799':{'en': 'Telemig Celular'},
34
- '5531998':{'en': 'Telemig Celular'},
35
- '553199800':{'en': 'TIM'},
36
- '553199810':{'en': 'TIM'},
37
- '553199820':{'en': 'TIM'},
38
- '553199830':{'en': 'TIM'},
39
- '553199840':{'en': 'TIM'},
40
- '553199850':{'en': 'TIM'},
41
- '553199860':{'en': 'TIM'},
42
- '553199870':{'en': 'TIM'},
43
- '553199880':{'en': 'TIM'},
44
- '553199890':{'en': 'TIM'},
45
22
  '553199901':{'en': 'Telemig Celular'},
46
23
  '553199902':{'en': 'Telemig Celular'},
47
24
  '553199903':{'en': 'Telemig Celular'},
@@ -10019,4 +9996,27 @@ data = {
10019
9996
  '5730591':{'en': 'Tigo'},
10020
9997
  '5730592':{'en': 'Tigo'},
10021
9998
  '5730593':{'en': 'Tigo'},
9999
+ '5730594':{'en': 'Tigo'},
10000
+ '5730595':{'en': 'Tigo'},
10001
+ '573102':{'en': 'Claro'},
10002
+ '573103':{'en': 'Claro'},
10003
+ '573104':{'en': 'Claro'},
10004
+ '573105':{'en': 'Claro'},
10005
+ '573106':{'en': 'Claro'},
10006
+ '573107':{'en': 'Claro'},
10007
+ '573108':{'en': 'Claro'},
10008
+ '5731091':{'en': 'Claro'},
10009
+ '5731092':{'en': 'Claro'},
10010
+ '5731093':{'en': 'Claro'},
10011
+ '57310990':{'en': 'Claro'},
10012
+ '57310991':{'en': 'Claro'},
10013
+ '573112':{'en': 'Claro'},
10014
+ '573113':{'en': 'Claro'},
10015
+ '573114':{'en': 'Claro'},
10016
+ '573115':{'en': 'Claro'},
10017
+ '573116':{'en': 'Claro'},
10018
+ '573117':{'en': 'Claro'},
10019
+ '573118':{'en': 'Claro'},
10020
+ '573122':{'en': 'Claro'},
10021
+ '573123':{'en': 'Claro'},
10022
10022
  }
@@ -19,29 +19,6 @@ from ..util import u
19
19
  # limitations under the License.
20
20
 
21
21
  data = {
22
- '5730594':{'en': 'Tigo'},
23
- '5730595':{'en': 'Tigo'},
24
- '573102':{'en': 'Claro'},
25
- '573103':{'en': 'Claro'},
26
- '573104':{'en': 'Claro'},
27
- '573105':{'en': 'Claro'},
28
- '573106':{'en': 'Claro'},
29
- '573107':{'en': 'Claro'},
30
- '573108':{'en': 'Claro'},
31
- '5731091':{'en': 'Claro'},
32
- '5731092':{'en': 'Claro'},
33
- '5731093':{'en': 'Claro'},
34
- '57310990':{'en': 'Claro'},
35
- '57310991':{'en': 'Claro'},
36
- '573112':{'en': 'Claro'},
37
- '573113':{'en': 'Claro'},
38
- '573114':{'en': 'Claro'},
39
- '573115':{'en': 'Claro'},
40
- '573116':{'en': 'Claro'},
41
- '573117':{'en': 'Claro'},
42
- '573118':{'en': 'Claro'},
43
- '573122':{'en': 'Claro'},
44
- '573123':{'en': 'Claro'},
45
22
  '573124':{'en': 'Claro'},
46
23
  '573125':{'en': 'Claro'},
47
24
  '573126':{'en': 'Claro'},
@@ -940,6 +917,7 @@ data = {
940
917
  '6148985':{'en': 'MessageBird'},
941
918
  '614899':{'en': 'Pivotel Satellite'},
942
919
  '6149':{'en': 'Telstra'},
920
+ '61495':{'en': 'Optus'},
943
921
  '62811':{'en': 'Telkomsel'},
944
922
  '62812':{'en': 'Telkomsel'},
945
923
  '62813':{'en': 'Telkomsel'},
@@ -1396,6 +1374,7 @@ data = {
1396
1374
  '658862':{'en': 'M1'},
1397
1375
  '658865':{'en': 'Simba'},
1398
1376
  '658866':{'en': 'M1'},
1377
+ '658867':{'en': 'M1'},
1399
1378
  '658868':{'en': 'M1'},
1400
1379
  '658869':{'en': 'SingTel'},
1401
1380
  '658876':{'en': 'SingTel'},
@@ -1472,6 +1451,8 @@ data = {
1472
1451
  '658986':{'en': 'Simba'},
1473
1452
  '658987':{'en': 'Simba'},
1474
1453
  '658988':{'en': 'Simba'},
1454
+ '658989':{'en': 'Simba'},
1455
+ '65899':{'en': 'SingTel'},
1475
1456
  '659001':{'en': 'StarHub'},
1476
1457
  '659002':{'en': 'StarHub'},
1477
1458
  '659003':{'en': 'StarHub'},
@@ -4952,6 +4933,7 @@ data = {
4952
4933
  '916391':{'en': 'Vodafone'},
4953
4934
  '916399':{'en': 'Idea'},
4954
4935
  '9167479':{'en': 'Idea'},
4936
+ '9168284':{'en': 'Vodafone'},
4955
4937
  '91690':{'en': 'Airtel'},
4956
4938
  '91691':{'en': 'Vodafone'},
4957
4939
  '91700':{'en': 'Reliance Jio'},
@@ -7671,6 +7653,7 @@ data = {
7671
7653
  '91918':{'en': 'BSNL MOBILE'},
7672
7654
  '919182':{'en': 'Reliance Jio'},
7673
7655
  '91919':{'en': 'BSNL MOBILE'},
7656
+ '919190':{'en': 'Reliance Jio'},
7674
7657
  '919198':{'en': 'Airtel'},
7675
7658
  '919199':{'en': 'Airtel'},
7676
7659
  '9192':{'en': 'Tata Docomo'},
@@ -8269,6 +8252,7 @@ data = {
8269
8252
  '961790':{'en': 'Touch'},
8270
8253
  '961791':{'en': 'Alfa'},
8271
8254
  '961793':{'en': 'Alfa'},
8255
+ '961794':{'en': 'Alfa'},
8272
8256
  '961810':{'en': 'Touch'},
8273
8257
  '961811':{'en': 'Alfa'},
8274
8258
  '961812':{'en': 'Alfa'},
@@ -8416,6 +8400,7 @@ data = {
8416
8400
  '97255442':{'en': 'Xphone'},
8417
8401
  '97255443':{'en': 'Yossi'},
8418
8402
  '9725545':{'en': 'Maskyoo'},
8403
+ '9725546':{'en': 'Xphone'},
8419
8404
  '9725550':{'en': 'Annatel'},
8420
8405
  '9725551':{'en': 'Annatel'},
8421
8406
  '9725552':{'en': 'Annatel'},
@@ -8541,18 +8526,21 @@ data = {
8541
8526
  '9892':{'en': 'Rightel', 'fa': u('\u0631\u0627\u06cc\u062a\u0644')},
8542
8527
  '9893':{'en': 'Irancell', 'fa': u('\u0627\u06cc\u0631\u0627\u0646\u0633\u0644')},
8543
8528
  '98931':{'en': 'MTCE', 'fa': u('\u0627\u0633\u067e\u0627\u062f\u0627\u0646')},
8544
- '98932':{'en': 'Taliya', 'fa': u('\u062a\u0627\u0644\u06cc\u0627')},
8529
+ '98932':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8545
8530
  '98934':{'en': 'TeleKish', 'fa': u('\u062a\u0644\u0647\u200c\u06a9\u06cc\u0634')},
8546
8531
  '98990':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8547
8532
  '98991':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8533
+ '98992':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8534
+ '98993':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8548
8535
  '98994':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8549
8536
  '989955':{'en': 'Irancell', 'fa': u('\u0627\u06cc\u0631\u0627\u0646\u0633\u0644')},
8550
8537
  '98996':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8551
8538
  '989981':{'en': 'Shatel Mobile', 'fa': u('\u0634\u0627\u062a\u0644 \u0645\u0648\u0628\u0627\u06cc\u0644')},
8552
8539
  '989982':{'en': 'Shatel Mobile', 'fa': u('\u0634\u0627\u062a\u0644 \u0645\u0648\u0628\u0627\u06cc\u0644')},
8553
- '9899900':{'en': 'LOTUSTEL', 'fa': u('\u0644\u0648\u062a\u0648\u0633\u200c\u062a\u0644')},
8554
- '9899902':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8540
+ '989990':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8555
8541
  '989991':{'en': 'Irancell', 'fa': u('\u0627\u06cc\u0631\u0627\u0646\u0633\u0644')},
8542
+ '989995':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8543
+ '989996':{'en': 'IR-MCI', 'fa': u('\u0647\u0645\u0631\u0627\u0647 \u0627\u0648\u0644')},
8556
8544
  '989998':{'en': 'Rightel', 'fa': u('\u0631\u0627\u06cc\u062a\u0644')},
8557
8545
  '9899996':{'en': 'Rightel', 'fa': u('\u0631\u0627\u06cc\u062a\u0644')},
8558
8546
  '9899997':{'en': 'Rightel', 'fa': u('\u0631\u0627\u06cc\u062a\u0644')},
@@ -8582,6 +8570,7 @@ data = {
8582
8570
  '992337':{'en': 'ZET-MOBILE'},
8583
8571
  '992338':{'en': 'ZET-MOBILE'},
8584
8572
  '992339':{'en': 'ZET-MOBILE'},
8573
+ '99238':{'en': 'ZET-MOBILE'},
8585
8574
  '99240':{'en': 'ZET-MOBILE'},
8586
8575
  '99241':{'en': 'Megafon'},
8587
8576
  '992440':{'en': 'ZET-MOBILE'},
@@ -8592,6 +8581,7 @@ data = {
8592
8581
  '992449':{'en': 'ZET-MOBILE'},
8593
8582
  '99250':{'en': 'Tcell'},
8594
8583
  '99255':{'en': 'Megafon'},
8584
+ '9926':{'en': 'ZET-MOBILE'},
8595
8585
  '99270':{'en': 'Tcell'},
8596
8586
  '99271':{'en': 'Babilon-M'},
8597
8587
  '99275':{'en': 'Babilon-M'},
@@ -8644,6 +8634,7 @@ data = {
8644
8634
  '99550010':{'en': 'Cellfie'},
8645
8635
  '99550011':{'en': 'Silknet'},
8646
8636
  '99550012':{'en': 'Silknet'},
8637
+ '99550019':{'en': 'Cellfie'},
8647
8638
  '9955002':{'en': 'Silknet'},
8648
8639
  '9955003':{'en': 'Unicell Mobile'},
8649
8640
  '99550033':{'en': 'Silknet'},
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_AU = PhoneMetadata(id='AU', country_code=61, international_prefix='001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}', possible_length=(5, 6, 7, 8, 9, 10, 12)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:(?:2(?:(?:[0-26-9]\\d|3[0-8]|5[0135-9])\\d|4(?:[02-9]\\d|10))|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90))|7(?:[013-57-9]\\d|2[0-8])\\d)\\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)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}', example_number='212345678', possible_length=(9,), possible_length_local_only=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='4(?:79[01]|83[0-36-9])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}', example_number='412345678', possible_length=(9,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:(?: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}', example_number='212345678', possible_length=(9,), possible_length_local_only=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='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}', example_number='412345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='180(?:0\\d{3}|2)\\d{3}', example_number='1800123456', possible_length=(7, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='190[0-26]\\d{6}', example_number='1900123456', possible_length=(10,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', example_number='1300123456', possible_length=(6, 8, 10, 12)),
@@ -2,11 +2,11 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_BJ = PhoneMetadata(id='BJ', country_code=229, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:01\\d|[24-689])\\d{7}', possible_length=(8, 10)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='2090\\d{4}|(?:012\\d\\d|2(?:02|1[037]|2[45]|3[68]|4\\d))\\d{5}', example_number='0120211234', possible_length=(8, 10)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:01(?:2[5-9]|[4-69]\\d)|4[0-8]|[56]\\d|9[013-9])\\d{6}', example_number='0195123456', possible_length=(8, 10)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:01\\d|8)\\d{7}', possible_length=(8, 10)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='012\\d{7}', example_number='0120211234', possible_length=(10,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='01(?:2[5-9]|[4-69]\\d)\\d{6}', example_number='0195123456', possible_length=(10,)),
8
8
  voip=PhoneNumberDesc(national_number_pattern='857[58]\\d{4}', example_number='85751234', possible_length=(8,)),
9
9
  uan=PhoneNumberDesc(national_number_pattern='81\\d{6}', example_number='81123456', possible_length=(8,)),
10
- number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[24-689]']),
10
+ number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['8']),
11
11
  NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['0'])],
12
12
  mobile_number_portable_region=True)
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_CC = PhoneMetadata(id='CC', country_code=61, international_prefix='001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}', possible_length=(6, 7, 8, 9, 10, 12)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='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}', example_number='891621234', possible_length=(9,), possible_length_local_only=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='4(?:79[01]|83[0-36-9])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}', example_number='412345678', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='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}', example_number='412345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='180(?:0\\d{3}|2)\\d{3}', example_number='1800123456', possible_length=(7, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='190[0-26]\\d{6}', example_number='1900123456', possible_length=(10,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', example_number='1300123456', possible_length=(6, 8, 10, 12)),
@@ -4,6 +4,6 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_CF = PhoneMetadata(id='CF', country_code=236, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[27]\\d{3}|8776)\\d{4}', possible_length=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2[12]\\d{6}', example_number='21612345', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='7[024-7]\\d{6}', example_number='70012345', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='7[02-7]\\d{6}', example_number='70012345', possible_length=(8,)),
8
8
  premium_rate=PhoneNumberDesc(national_number_pattern='8776\\d{4}', example_number='87761234', possible_length=(8,)),
9
9
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[278]'])])
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_CX = PhoneMetadata(id='CX', country_code=61, international_prefix='001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}', possible_length=(6, 7, 8, 9, 10, 12)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='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}', example_number='891641234', possible_length=(9,), possible_length_local_only=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='4(?:79[01]|83[0-36-9])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}', example_number='412345678', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='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}', example_number='412345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='180(?:0\\d{3}|2)\\d{3}', example_number='1800123456', possible_length=(7, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='190[0-26]\\d{6}', example_number='1900123456', possible_length=(10,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', example_number='1300123456', possible_length=(6, 8, 10, 12)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_EE = PhoneMetadata(id='EE', country_code=372, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}', possible_length=(7, 8, 10)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}', example_number='3212345', possible_length=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', example_number='51234567', possible_length=(7, 8)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[013-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', example_number='51234567', possible_length=(7, 8)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}', example_number='80012345', possible_length=(7, 8, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='(?:40\\d\\d|900)\\d{4}', example_number='9001234', possible_length=(7, 8)),
10
10
  personal_number=PhoneNumberDesc(national_number_pattern='70[0-2]\\d{5}', example_number='70012345', possible_length=(8,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_EH = PhoneMetadata(id='EH', country_code=212, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[5-8]\\d{8}', possible_length=(9,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='528[89]\\d{5}', example_number='528812345', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-8]|5[0-5]|8[0-7]))\\d{6}', example_number='650123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}', example_number='650123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-7]\\d{6}', example_number='801234567', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='89\\d{7}', example_number='891234567', possible_length=(9,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', example_number='592401234', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_ET = PhoneMetadata(id='ET', country_code=251, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:11|[2-579]\\d)\\d{7}', possible_length=(9,), possible_length_local_only=(7,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='11667[01]\\d{3}|(?:11(?:1(?:1[1-468]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8]|7\\d)|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', example_number='111112345', possible_length=(9,), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}', example_number='911234567', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|2[1-35-79]|3\\d|77|86|99)|9\\d\\d)\\d{6}', example_number='911234567', possible_length=(9,)),
8
8
  national_prefix='0',
9
9
  national_prefix_for_parsing='0',
10
10
  number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[1-579]'], national_prefix_formatting_rule='0\\1')])
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_GE = PhoneMetadata(id='GE', country_code=995, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:[3-57]\\d\\d|800)\\d{6}', possible_length=(9,), possible_length_local_only=(6, 7)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}', example_number='322123456', possible_length=(9,), possible_length_local_only=(6, 7)),
7
- mobile=PhoneNumberDesc(national_number_pattern='5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|1[12]|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-4])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200|333|444)|6[89]\\d\\d|7(?:(?:[0147-9]\\d|22)\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}', example_number='555123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0(?:1[09]|70)|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|1[12]|22|3[0-6]|44|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[2-6]|7[0-4])|4\\d\\d)|[23]555|4(?:4\\d\\d|555)|5(?:[0157-9]\\d\\d|200|333|444)|6[89]\\d\\d|7(?:(?:[0147-9]\\d|22)\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}', example_number='555123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)),
9
9
  voip=PhoneNumberDesc(national_number_pattern='70[67]\\d{6}', example_number='706123456', possible_length=(9,)),
10
10
  no_international_dialling=PhoneNumberDesc(national_number_pattern='70[67]\\d{6}', possible_length=(9,)),
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=972, international_prefix='0(?:0|1[2-9])',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}', possible_length=(7, 8, 9, 10, 11, 12)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}', example_number='21234567', possible_length=(8, 11, 12), possible_length_local_only=(7,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:0[01]|10|5[0-7])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', example_number='502345678', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='55(?:4(?:0[0-2]|[16]0|5[0-7])|57[0-289])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', example_number='502345678', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='1(?:255|80[019]\\d{3})\\d{3}', example_number='1800123456', possible_length=(7, 10)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}', example_number='1919123456', possible_length=(8, 10)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='1700\\d{6}', example_number='1700123456', possible_length=(10,)),
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}', possible_length=(8, 9, 10, 11, 12, 13), possible_length_local_only=(6, 7)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}', example_number='7410410123', possible_length=(10,), possible_length_local_only=(6, 7, 8)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|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]|881))[0189]\\d{5}', example_number='8123456789', possible_length=(10,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:2717(?:[2-7]\\d|95)|6828[235-7]\\d)\\d{4}|(?:170[24]|280[13468]|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:271[0-689]|682[0-79]|782[0-6])[2-7]\\d{5}|(?:2(?:[02][2-79]|90)|3(?:23|80)|683|79[1-7])\\d{7}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[14-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}', example_number='7410410123', possible_length=(10,), possible_length_local_only=(6, 7, 8)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:1279|828[01489])|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[235689]\\d|4[0189])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|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]|881))[0189]\\d{5}', example_number='8123456789', possible_length=(10,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', example_number='1800123456', possible_length=(8, 9, 10, 11, 12, 13)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='186[12]\\d{9}', example_number='1861123456789', possible_length=(13,)),
10
10
  shared_cost=PhoneNumberDesc(national_number_pattern='1860\\d{7}', example_number='18603451234', possible_length=(11,)),
@@ -18,7 +18,7 @@ PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix
18
18
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['140'], national_prefix_optional_when_formatting=True),
19
19
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['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])'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
20
20
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['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]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
21
- NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
21
+ NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['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]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
22
22
  NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[6-9]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
23
23
  NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6|8[06])', '1(?:6|8[06]0)'], national_prefix_optional_when_formatting=True),
24
24
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['0']),
@@ -28,7 +28,7 @@ PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix
28
28
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['140']),
29
29
  NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['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])']),
30
30
  NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['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]']),
31
- NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', '1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', '1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]']),
31
+ NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['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]']),
32
32
  NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['[6-9]']),
33
33
  NumberFormat(pattern='(\\d{4})(\\d{2,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:6|8[06])', '1(?:6|8[06]0)']),
34
34
  NumberFormat(pattern='(\\d{4})(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['18'])],
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_IR = PhoneMetadata(id='IR', country_code=98, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}', possible_length=(4, 5, 6, 7, 10), possible_length_local_only=(8,)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:121|[2689]0\\d)|4(?:111|40\\d))\\d{4}', example_number='2123456789', possible_length=(6, 7, 10), possible_length_local_only=(4, 5, 8)),
7
- mobile=PhoneNumberDesc(national_number_pattern='9(?:(?:0[0-5]|[13]\\d|2[0-3])\\d\\d|9(?:[0-46]\\d\\d|5(?:10|5\\d)|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}', example_number='9123456789', possible_length=(10,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='9(?:(?:0[0-5]|[13]\\d|2[0-3])\\d\\d|9(?:[0-46]\\d\\d|5(?:10|5\\d)|8(?:[12]\\d|88)|9(?:[0159]\\d|21|69|77|8[7-9])))\\d{5}', example_number='9123456789', possible_length=(10,)),
8
8
  uan=PhoneNumberDesc(national_number_pattern='96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])', example_number='9601', possible_length=(4, 5)),
9
9
  no_international_dialling=PhoneNumberDesc(national_number_pattern='9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))', possible_length=(4, 5, 10)),
10
10
  national_prefix='0',
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_LB = PhoneMetadata(id='LB', country_code=961, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[27-9]\\d{7}|[13-9]\\d{6}', possible_length=(7, 8)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='7(?:62|8[0-6]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}', example_number='1123456', possible_length=(7, 8)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[7-9]|9[0-3]))\\d{5}', example_number='71123456', possible_length=(7, 8)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[7-9]|9[0-4]))\\d{5}', example_number='71123456', possible_length=(7, 8)),
8
8
  premium_rate=PhoneNumberDesc(national_number_pattern='9[01]\\d{6}', example_number='90123456', possible_length=(8,)),
9
9
  shared_cost=PhoneNumberDesc(national_number_pattern='80\\d{6}', example_number='80123456', possible_length=(8,)),
10
10
  national_prefix='0',
@@ -3,15 +3,15 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_MA = PhoneMetadata(id='MA', country_code=212, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='[5-8]\\d{8}', possible_length=(9,)),
6
- fixed_line=PhoneNumberDesc(national_number_pattern='5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}', example_number='520123456', possible_length=(9,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-8]|5[0-5]|8[0-7]))\\d{6}', example_number='650123456', possible_length=(9,)),
6
+ fixed_line=PhoneNumberDesc(national_number_pattern='5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}', example_number='520123456', possible_length=(9,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}', example_number='650123456', possible_length=(9,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='80[0-7]\\d{6}', example_number='801234567', possible_length=(9,)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='89\\d{7}', example_number='891234567', possible_length=(9,)),
10
10
  voip=PhoneNumberDesc(national_number_pattern='(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}', example_number='592401234', possible_length=(9,)),
11
11
  national_prefix='0',
12
12
  national_prefix_for_parsing='0',
13
13
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['5[45]'], national_prefix_formatting_rule='0\\1'),
14
- NumberFormat(pattern='(\\d{4})(\\d{5})', format='\\1-\\2', leading_digits_pattern=['5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)'], national_prefix_formatting_rule='0\\1'),
14
+ NumberFormat(pattern='(\\d{4})(\\d{5})', format='\\1-\\2', leading_digits_pattern=['5(?:[19]|2[2-46-9]|3[3-9])|8(?:0[89]|92)'], national_prefix_formatting_rule='0\\1'),
15
15
  NumberFormat(pattern='(\\d{2})(\\d{7})', format='\\1-\\2', leading_digits_pattern=['8'], national_prefix_formatting_rule='0\\1'),
16
16
  NumberFormat(pattern='(\\d{3})(\\d{6})', format='\\1-\\2', leading_digits_pattern=['[5-7]'], national_prefix_formatting_rule='0\\1')],
17
17
  main_country_for_code=True,
@@ -2,9 +2,9 @@
2
2
  from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
3
3
 
4
4
  PHONE_METADATA_MC = PhoneMetadata(id='MC', country_code=377, international_prefix='00',
5
- general_desc=PhoneNumberDesc(national_number_pattern='(?:[3489]|6\\d)\\d{7}', possible_length=(8, 9)),
5
+ general_desc=PhoneNumberDesc(national_number_pattern='(?:[3489]|[67]\\d)\\d{7}', possible_length=(8, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='(?:870|9[2-47-9]\\d)\\d{5}', example_number='99123456', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='4(?:[469]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}', example_number='612345678', possible_length=(8, 9)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='4(?:[469]\\d|5[1-9])\\d{5}|(?:3|[67]\\d)\\d{7}', example_number='612345678', possible_length=(8, 9)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='(?:800|90\\d)\\d{5}', example_number='90123456', possible_length=(8,)),
9
9
  no_international_dialling=PhoneNumberDesc(national_number_pattern='8[07]0\\d{5}', possible_length=(8,)),
10
10
  national_prefix='0',
@@ -12,7 +12,7 @@ PHONE_METADATA_MC = PhoneMetadata(id='MC', country_code=377, international_prefi
12
12
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{2})', format='\\1 \\2 \\3', leading_digits_pattern=['87']),
13
13
  NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['4'], national_prefix_formatting_rule='0\\1'),
14
14
  NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[389]']),
15
- NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['6'], national_prefix_formatting_rule='0\\1')],
15
+ NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['[67]'], national_prefix_formatting_rule='0\\1')],
16
16
  intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['4']),
17
17
  NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[389]']),
18
- NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['6'])])
18
+ NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['[67]'])])
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
4
4
  PHONE_METADATA_OM = PhoneMetadata(id='OM', country_code=968, international_prefix='00',
5
5
  general_desc=PhoneNumberDesc(national_number_pattern='(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}', possible_length=(7, 8, 9)),
6
6
  fixed_line=PhoneNumberDesc(national_number_pattern='2[1-6]\\d{6}', example_number='23123456', possible_length=(8,)),
7
- mobile=PhoneNumberDesc(national_number_pattern='1505\\d{4}|(?:7(?:[125-9]\\d|41)|9(?:0[1-9]|[1-9]\\d))\\d{5}', example_number='92123456', possible_length=(8,)),
7
+ mobile=PhoneNumberDesc(national_number_pattern='(?:1505|90[1-9]\\d)\\d{4}|(?:7[124-9]|9[1-9])\\d{6}', example_number='92123456', possible_length=(8,)),
8
8
  toll_free=PhoneNumberDesc(national_number_pattern='8007\\d{4,5}|(?:500|800[05])\\d{4}', example_number='80071234', possible_length=(7, 8, 9)),
9
9
  premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{5}', example_number='90012345', possible_length=(8,)),
10
10
  number_format=[NumberFormat(pattern='(\\d{3})(\\d{4,6})', format='\\1 \\2', leading_digits_pattern=['[58]']),