summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Drysdale <drysdale@google.com>2016-10-27 07:07:50 +0100
committerDavid Drysdale <drysdale@google.com>2016-10-27 07:46:54 +0100
commit6a18f24b6a3b7a80e5f9f023a5ffa4a19270424f (patch)
treec5ba695af100a603996307592da1b91543a292b8
parente295f00f2019c12f7385d8c10a67c5907b0ddfa4 (diff)
Generated files for metadata
-rw-r--r--python/phonenumbers/carrierdata/data0.py32
-rw-r--r--python/phonenumbers/carrierdata/data1.py36
-rw-r--r--python/phonenumbers/data/region_882.py4
-rw-r--r--python/phonenumbers/data/region_AG.py2
-rw-r--r--python/phonenumbers/data/region_AI.py2
-rw-r--r--python/phonenumbers/data/region_AS.py2
-rw-r--r--python/phonenumbers/data/region_BB.py2
-rw-r--r--python/phonenumbers/data/region_BM.py2
-rw-r--r--python/phonenumbers/data/region_BR.py8
-rw-r--r--python/phonenumbers/data/region_BS.py2
-rw-r--r--python/phonenumbers/data/region_CA.py2
-rw-r--r--python/phonenumbers/data/region_DM.py2
-rw-r--r--python/phonenumbers/data/region_DO.py2
-rw-r--r--python/phonenumbers/data/region_GD.py2
-rw-r--r--python/phonenumbers/data/region_GU.py2
-rw-r--r--python/phonenumbers/data/region_HU.py12
-rw-r--r--python/phonenumbers/data/region_IN.py4
-rw-r--r--python/phonenumbers/data/region_JM.py4
-rw-r--r--python/phonenumbers/data/region_KN.py2
-rw-r--r--python/phonenumbers/data/region_KY.py2
-rw-r--r--python/phonenumbers/data/region_KZ.py2
-rw-r--r--python/phonenumbers/data/region_LC.py2
-rw-r--r--python/phonenumbers/data/region_MP.py2
-rw-r--r--python/phonenumbers/data/region_MS.py2
-rw-r--r--python/phonenumbers/data/region_PR.py2
-rw-r--r--python/phonenumbers/data/region_SX.py2
-rw-r--r--python/phonenumbers/data/region_TC.py2
-rw-r--r--python/phonenumbers/data/region_TR.py5
-rw-r--r--python/phonenumbers/data/region_TT.py2
-rw-r--r--python/phonenumbers/data/region_UG.py4
-rw-r--r--python/phonenumbers/data/region_US.py6
-rw-r--r--python/phonenumbers/data/region_VC.py2
-rw-r--r--python/phonenumbers/data/region_VG.py2
-rw-r--r--python/phonenumbers/data/region_VI.py2
-rw-r--r--python/phonenumbers/geodata/data1.py6
-rw-r--r--python/phonenumbers/geodata/data10.py10
-rw-r--r--python/phonenumbers/geodata/data11.py6
-rw-r--r--python/phonenumbers/geodata/data12.py4
-rw-r--r--python/phonenumbers/geodata/data13.py8
-rw-r--r--python/phonenumbers/geodata/data14.py8
-rw-r--r--python/phonenumbers/geodata/data15.py8
-rw-r--r--python/phonenumbers/geodata/data16.py4
-rw-r--r--python/phonenumbers/geodata/data17.py6
-rw-r--r--python/phonenumbers/geodata/data18.py4
-rw-r--r--python/phonenumbers/geodata/data19.py12
-rw-r--r--python/phonenumbers/geodata/data2.py6
-rw-r--r--python/phonenumbers/geodata/data20.py8
-rw-r--r--python/phonenumbers/geodata/data21.py4
-rw-r--r--python/phonenumbers/geodata/data22.py8
-rw-r--r--python/phonenumbers/geodata/data23.py4
-rw-r--r--python/phonenumbers/geodata/data3.py2
-rw-r--r--python/phonenumbers/geodata/data4.py112
-rw-r--r--python/phonenumbers/geodata/data5.py2
-rw-r--r--python/phonenumbers/geodata/data6.py2
-rw-r--r--python/phonenumbers/geodata/data7.py6
-rw-r--r--python/phonenumbers/geodata/data8.py8
-rw-r--r--python/phonenumbers/geodata/data9.py4
-rw-r--r--python/phonenumbers/shortdata/region_GA.py6
-rw-r--r--python/phonenumbers/shortdata/region_GB.py10
-rw-r--r--python/phonenumbers/shortdata/region_GD.py8
-rw-r--r--python/phonenumbers/shortdata/region_GE.py8
-rw-r--r--python/phonenumbers/shortdata/region_GF.py6
-rw-r--r--python/phonenumbers/shortdata/region_GG.py6
-rw-r--r--python/phonenumbers/shortdata/region_GH.py8
-rw-r--r--python/phonenumbers/shortdata/region_GI.py12
-rw-r--r--python/phonenumbers/shortdata/region_GL.py6
-rw-r--r--python/phonenumbers/shortdata/region_GM.py6
-rw-r--r--python/phonenumbers/shortdata/region_GN.py6
-rw-r--r--python/phonenumbers/shortdata/region_GP.py6
-rw-r--r--python/phonenumbers/shortdata/region_GR.py8
-rw-r--r--python/phonenumbers/shortdata/region_GT.py8
-rw-r--r--python/phonenumbers/shortdata/region_GU.py6
-rw-r--r--python/phonenumbers/shortdata/region_GW.py6
-rw-r--r--python/phonenumbers/shortdata/region_GY.py8
-rw-r--r--python/phonenumbers/shortdata/region_HK.py6
-rw-r--r--python/phonenumbers/shortdata/region_HN.py8
-rw-r--r--python/phonenumbers/shortdata/region_HR.py8
-rw-r--r--python/phonenumbers/shortdata/region_HT.py8
-rw-r--r--python/phonenumbers/shortdata/region_HU.py8
-rw-r--r--python/phonenumbers/shortdata/region_ID.py8
-rw-r--r--python/phonenumbers/shortdata/region_IE.py10
-rw-r--r--python/phonenumbers/shortdata/region_IL.py8
-rw-r--r--python/phonenumbers/shortdata/region_IM.py6
-rw-r--r--python/phonenumbers/shortdata/region_IN.py10
-rw-r--r--python/phonenumbers/shortdata/region_IQ.py8
-rw-r--r--python/phonenumbers/shortdata/region_IR.py6
-rw-r--r--python/phonenumbers/shortdata/region_IS.py12
-rw-r--r--python/phonenumbers/shortdata/region_IT.py10
-rw-r--r--python/phonenumbers/shortdata/region_JE.py6
-rw-r--r--python/phonenumbers/shortdata/region_JM.py8
-rw-r--r--python/phonenumbers/shortdata/region_JO.py8
-rw-r--r--python/phonenumbers/shortdata/region_JP.py6
-rw-r--r--python/phonenumbers/shortdata/region_KE.py12
-rw-r--r--python/phonenumbers/shortdata/region_KG.py8
-rw-r--r--python/phonenumbers/shortdata/region_KH.py8
-rw-r--r--python/phonenumbers/shortdata/region_KI.py8
-rw-r--r--python/phonenumbers/shortdata/region_KM.py6
-rw-r--r--python/phonenumbers/shortdata/region_KN.py6
-rw-r--r--python/phonenumbers/shortdata/region_KP.py6
-rw-r--r--python/phonenumbers/shortdata/region_KR.py10
-rw-r--r--python/phonenumbers/shortdata/region_KW.py8
-rw-r--r--python/phonenumbers/shortdata/region_KY.py6
-rw-r--r--python/phonenumbers/shortdata/region_KZ.py8
-rw-r--r--python/phonenumbers/shortdata/region_LA.py6
-rw-r--r--python/phonenumbers/shortdata/region_LB.py6
-rw-r--r--python/phonenumbers/shortdata/region_LC.py6
-rw-r--r--python/phonenumbers/shortdata/region_LI.py6
-rw-r--r--python/phonenumbers/shortdata/region_LK.py6
-rw-r--r--python/phonenumbers/shortdata/region_LR.py8
-rw-r--r--python/phonenumbers/shortdata/region_LS.py6
-rw-r--r--python/phonenumbers/shortdata/region_LT.py8
-rw-r--r--python/phonenumbers/shortdata/region_LU.py8
-rw-r--r--python/phonenumbers/shortdata/region_LV.py14
-rw-r--r--python/phonenumbers/shortdata/region_LY.py6
-rw-r--r--python/phonenumbers/shortdata/region_MA.py6
-rw-r--r--python/phonenumbers/shortdata/region_MC.py6
-rw-r--r--python/phonenumbers/shortdata/region_MD.py8
-rw-r--r--python/phonenumbers/shortdata/region_ME.py6
-rw-r--r--python/phonenumbers/shortdata/region_MF.py6
-rw-r--r--python/phonenumbers/shortdata/region_MG.py6
-rw-r--r--python/phonenumbers/shortdata/region_MH.py6
-rw-r--r--python/phonenumbers/shortdata/region_MK.py6
-rw-r--r--python/phonenumbers/shortdata/region_ML.py14
-rw-r--r--python/phonenumbers/shortdata/region_MM.py6
-rw-r--r--python/phonenumbers/shortdata/region_MN.py6
-rw-r--r--python/phonenumbers/shortdata/region_MO.py6
-rw-r--r--python/phonenumbers/shortdata/region_MP.py6
-rw-r--r--python/phonenumbers/shortdata/region_MQ.py6
-rw-r--r--python/phonenumbers/shortdata/region_MR.py6
-rw-r--r--python/phonenumbers/shortdata/region_MS.py6
-rw-r--r--python/phonenumbers/shortdata/region_MT.py8
-rw-r--r--python/phonenumbers/shortdata/region_MU.py6
-rw-r--r--python/phonenumbers/shortdata/region_MV.py6
-rw-r--r--python/phonenumbers/shortdata/region_MW.py8
-rw-r--r--python/phonenumbers/shortdata/region_MX.py8
-rw-r--r--python/phonenumbers/shortdata/region_MZ.py6
-rw-r--r--python/phonenumbers/shortdata/region_NA.py6
-rw-r--r--python/phonenumbers/shortdata/region_NC.py10
-rw-r--r--python/phonenumbers/shortdata/region_NE.py8
-rw-r--r--python/phonenumbers/shortdata/region_NF.py6
-rw-r--r--python/phonenumbers/shortdata/region_NG.py8
-rw-r--r--python/phonenumbers/shortdata/region_NI.py8
-rw-r--r--python/phonenumbers/shortdata/region_NL.py10
-rw-r--r--python/phonenumbers/shortdata/region_NO.py8
-rw-r--r--python/phonenumbers/shortdata/region_NP.py6
-rw-r--r--python/phonenumbers/shortdata/region_NR.py6
-rw-r--r--python/phonenumbers/shortdata/region_NU.py6
-rw-r--r--python/phonenumbers/shortdata/region_UY.py6
-rw-r--r--python/tests/testdata/__init__.py3
-rw-r--r--python/tests/testdata/region_AM.py18
150 files changed, 564 insertions, 532 deletions
diff --git a/python/phonenumbers/carrierdata/data0.py b/python/phonenumbers/carrierdata/data0.py
index 98462bf4..f158b085 100644
--- a/python/phonenumbers/carrierdata/data0.py
+++ b/python/phonenumbers/carrierdata/data0.py
@@ -1066,12 +1066,12 @@ data = {
'55658124':{'en': 'TIM'},
'55658125':{'en': 'TIM'},
'55339964':{'en': 'Telemig Celular'},
- '474001':{'en': 'NetCom'},
+ '552798144':{'en': 'TIM'},
'55339966':{'en': 'Telemig Celular'},
'55339967':{'en': 'Telemig Celular'},
'55339961':{'en': 'Telemig Celular'},
'55339962':{'en': 'Telemig Celular'},
- '474000':{'en': 'NetCom'},
+ '552798145':{'en': 'TIM'},
'55339968':{'en': 'Telemig Celular'},
'55339969':{'en': 'Telemig Celular'},
'55319193':{'en': 'TIM'},
@@ -1840,8 +1840,8 @@ data = {
'551599123':{'en': 'Claro BR'},
'551599128':{'en': 'Claro BR'},
'551599129':{'en': 'Claro BR'},
- '552798144':{'en': 'TIM'},
- '552798145':{'en': 'TIM'},
+ '474001':{'en': 'NetCom'},
+ '474000':{'en': 'NetCom'},
'552798146':{'en': 'TIM'},
'552798147':{'en': 'TIM'},
'552798141':{'en': 'TIM'},
@@ -2339,12 +2339,12 @@ data = {
'55349184':{'en': 'TIM'},
'55349187':{'en': 'TIM'},
'55349186':{'en': 'TIM'},
- '25679':{'en': 'Orange'},
+ '25679':{'en': 'Africell'},
'25678':{'en': 'MTN'},
'25671':{'en': 'UTL'},
- '25670':{'en': 'Warid'},
+ '25670':{'en': 'Airtel'},
'25677':{'en': 'MTN'},
- '25676':{'en': 'i-Tel'},
+ '55449141':{'en': 'Vivo'},
'25675':{'en': 'Airtel'},
'25674':{'en': 'Sure Telecom'},
'55319348':{'en': 'TIM'},
@@ -6338,7 +6338,6 @@ data = {
'552798173':{'en': 'TIM'},
'552798172':{'en': 'TIM'},
'212605':{'en': 'Inwi'},
- '55449141':{'en': 'Vivo'},
'212604':{'en': 'Inwi'},
'212607':{'en': 'Inwi'},
'474077':{'en': 'NetCom'},
@@ -6346,8 +6345,6 @@ data = {
'55559935':{'en': 'Vivo'},
'212603':{'en': 'Inwi'},
'212602':{'en': 'Inwi'},
- '55658409':{'en': 'Brasil Telecom GSM'},
- '55658408':{'en': 'Brasil Telecom GSM'},
'421919':{'en': 'Orange'},
'421918':{'en': 'Orange'},
'45615':{'en': 'TDC'},
@@ -6367,7 +6364,6 @@ data = {
'2345386':{'en': 'Starcomms'},
'2345387':{'en': 'Starcomms'},
'55619808':{'en': 'Vivo'},
- '55658405':{'en': 'Brasil Telecom GSM'},
'55658404':{'en': 'Brasil Telecom GSM'},
'551195780':{'en': 'Vivo'},
'55319689':{'en': 'Telemig Celular'},
@@ -7178,7 +7174,6 @@ data = {
'549299':{'en': 'Personal'},
'549298':{'en': 'Personal'},
'55489133':{'en': 'Vivo'},
- '55658412':{'en': 'Brasil Telecom GSM'},
'55439936':{'en': 'TIM'},
'55489132':{'en': 'Vivo'},
'1939717':{'en': 'CENTENNIAL'},
@@ -7192,7 +7187,6 @@ data = {
'55458403':{'en': 'Brasil Telecom GSM'},
'55458402':{'en': 'Brasil Telecom GSM'},
'55458401':{'en': 'Brasil Telecom GSM'},
- '55658411':{'en': 'Brasil Telecom GSM'},
'55619823':{'en': 'Vivo'},
'55449157':{'en': 'Vivo'},
'55389191':{'en': 'TIM'},
@@ -7456,6 +7450,14 @@ data = {
'55629927':{'en': 'Vivo'},
'55629924':{'en': 'Vivo'},
'55629925':{'en': 'Vivo'},
+ '1876528':{'en': 'Digicel'},
+ '1876529':{'en': 'Digicel'},
+ '1876524':{'en': 'Digicel'},
+ '1876526':{'en': 'Digicel'},
+ '1876527':{'en': 'Digicel'},
+ '1876520':{'en': 'Digicel'},
+ '1876521':{'en': 'Digicel'},
+ '1876522':{'en': 'Digicel'},
'55539935':{'en': 'Vivo'},
'55539934':{'en': 'Vivo'},
'55319739':{'en': 'Telemig Celular'},
@@ -7913,6 +7915,7 @@ data = {
'55549661':{'en': 'Vivo'},
'55549668':{'en': 'Vivo'},
'55549669':{'en': 'Vivo'},
+ '2567260':{'en': 'Tangerine'},
'1758488':{'en': 'Cable & Wireless'},
'1758489':{'en': 'Cable & Wireless'},
'55319742':{'en': 'Telemig Celular'},
@@ -8310,7 +8313,6 @@ data = {
'2223':{'en': 'Mattel'},
'55549602':{'en': 'Vivo'},
'55549603':{'en': 'Vivo'},
- '2562030':{'en': 'Afrimax'},
'1787389':{'en': 'Claro'},
'1787385':{'en': 'Claro'},
'1787384':{'en': 'Claro'},
@@ -9392,8 +9394,6 @@ data = {
'55658402':{'en': 'Brasil Telecom GSM'},
'459138':{'en': 'Telenor'},
'459139':{'en': 'Telenor'},
- '55658407':{'en': 'Brasil Telecom GSM'},
- '55658406':{'en': 'Brasil Telecom GSM'},
'40701':{'en': 'Lycamobile'},
'479297':{'en': 'NetCom'},
'55319678':{'en': 'Telemig Celular'},
diff --git a/python/phonenumbers/carrierdata/data1.py b/python/phonenumbers/carrierdata/data1.py
index 5aaec5db..a7714a73 100644
--- a/python/phonenumbers/carrierdata/data1.py
+++ b/python/phonenumbers/carrierdata/data1.py
@@ -322,7 +322,7 @@ data = {
'917639':{'en': 'Vodafone'},
'917631':{'en': 'Vodafone'},
'55659612':{'en': 'Vivo'},
- '6226391':{'en': 'Esia'},
+ '55659611':{'en': 'Vivo'},
'9175339':{'en': 'Idea'},
'9175338':{'en': 'Idea'},
'9175330':{'en': 'Aircel'},
@@ -670,7 +670,6 @@ data = {
'5591927':{'en': 'Vivo'},
'99440':{'en': 'FONEX'},
'5588961':{'en': 'TIM'},
- '8536328':{'en': 'CTM'},
'55969118':{'en': 'Vivo'},
'55969119':{'en': 'Vivo'},
'55969116':{'en': 'Vivo'},
@@ -1635,7 +1634,7 @@ data = {
'55659614':{'en': 'Vivo'},
'55659613':{'en': 'Vivo'},
'6226392':{'en': 'Esia'},
- '55659611':{'en': 'Vivo'},
+ '6226391':{'en': 'Esia'},
'6011201':{'en': 'Talk Focus'},
'6011200':{'en': 'Talk Focus'},
'6011203':{'en': 'Talk Focus'},
@@ -2402,6 +2401,7 @@ data = {
'55678151':{'en': 'TIM'},
'55678153':{'en': 'TIM'},
'55678152':{'en': 'TIM'},
+ '919195':{'en': 'Cellone'},
'55678159':{'en': 'TIM'},
'55678158':{'en': 'TIM'},
'62284910':{'en': 'Esia'},
@@ -2769,7 +2769,6 @@ data = {
'6221853':{'en': 'Esia'},
'963922':{'en': 'Syriatel'},
'6221854':{'en': 'Esia'},
- '55998123':{'en': 'TIM'},
'658738':{'en': 'M1'},
'62274984':{'en': 'Esia'},
'658736':{'en': 'SingTel'},
@@ -3295,7 +3294,7 @@ data = {
'9725571':{'en': 'Cellact'},
'558491':{'en': 'Claro BR'},
'558499':{'en': 'TIM'},
- '55669607':{'en': 'Vivo'},
+ '8536328':{'en': 'CTM'},
'8536329':{'en': 'CTM'},
'8536320':{'en': '3'},
'8536321':{'en': '3'},
@@ -4009,8 +4008,11 @@ data = {
'918932':{'en': 'Idea'},
'918933':{'en': 'Idea'},
'918934':{'en': 'Idea'},
+ '9174120':{'en': 'Vodafone'},
'918937':{'en': 'Idea'},
'918939':{'en': 'Vodafone'},
+ '9174129':{'en': 'Vodafone'},
+ '9174128':{'en': 'Vodafone'},
'85598':{'en': 'Smart'},
'55799116':{'en': 'TIM'},
'85590':{'en': 'Beeline'},
@@ -4031,7 +4033,9 @@ data = {
'55658417':{'en': 'Brasil Telecom GSM'},
'55658414':{'en': 'Brasil Telecom GSM'},
'55658415':{'en': 'Brasil Telecom GSM'},
+ '55658412':{'en': 'Brasil Telecom GSM'},
'55658413':{'en': 'Brasil Telecom GSM'},
+ '55658411':{'en': 'Brasil Telecom GSM'},
'62380404':{'en': 'Esia'},
'62380401':{'en': 'Esia'},
'62380400':{'en': 'Esia'},
@@ -4475,6 +4479,7 @@ data = {
'55938413':{'en': 'Claro BR'},
'55938412':{'en': 'Claro BR'},
'852958':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
+ '559887':{'en': 'Oi'},
'55968117':{'en': 'TIM'},
'99861':{'en': 'MTS'},
'62252913':{'en': 'Esia'},
@@ -4716,7 +4721,7 @@ data = {
'55939134':{'en': 'Vivo'},
'55939137':{'en': 'Vivo'},
'55939136':{'en': 'Vivo'},
- '659716':{'en': 'SingTel'},
+ '55669607':{'en': 'Vivo'},
'659714':{'en': 'SingTel'},
'659715':{'en': 'SingTel'},
'659712':{'en': 'SingTel'},
@@ -5217,7 +5222,7 @@ data = {
'55998126':{'en': 'TIM'},
'55998125':{'en': 'TIM'},
'55998124':{'en': 'TIM'},
- '559887':{'en': 'Oi'},
+ '55998123':{'en': 'TIM'},
'55998122':{'en': 'TIM'},
'55998121':{'en': 'TIM'},
'569759':{'en': 'Claro'},
@@ -5945,7 +5950,9 @@ data = {
'861347':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')},
'9181570':{'en': 'Idea'},
'918507':{'en': 'Dishnet'},
+ '919199':{'en': 'Airtel'},
'99298':{'en': 'Babilon-M'},
+ '919198':{'en': 'Airtel'},
'99293':{'en': 'Tcell'},
'99290':{'en': 'Megafon'},
'918506':{'en': 'Idea'},
@@ -7854,6 +7861,7 @@ data = {
'62411974':{'en': 'Esia'},
'919798':{'en': 'Reliance'},
'67778':{'en': 'Solomon Telekom'},
+ '918948':{'en': 'Vodafone'},
'55829317':{'en': 'Claro BR'},
'67773':{'en': 'Solomon Telekom'},
'67774':{'en': 'Solomon Telekom'},
@@ -8975,7 +8983,9 @@ data = {
'8536336':{'en': '3'},
'917742':{'en': 'Airtel'},
'919848':{'en': 'Idea'},
+ '919197':{'en': 'Cellone'},
'9177390':{'en': 'Airtel'},
+ '919196':{'en': 'Cellone'},
'5595840':{'en': 'Claro BR'},
'919845':{'en': 'Airtel'},
'55959146':{'en': 'Vivo'},
@@ -9018,18 +9028,18 @@ data = {
'55999970':{'en': 'Oi'},
'918643':{'en': 'Sistema'},
'919291':{'en': 'Tata Docomo'},
- '919199':{'en': 'Airtel'},
- '919198':{'en': 'Airtel'},
+ '55658409':{'en': 'Brasil Telecom GSM'},
+ '55658408':{'en': 'Brasil Telecom GSM'},
'5584960':{'en': 'TIM'},
'9647444':{'en': 'Mobitel'},
'919191':{'en': 'Cellone'},
'919190':{'en': 'Cellone'},
'919193':{'en': 'Cellone'},
'919192':{'en': 'Cellone'},
- '919195':{'en': 'Cellone'},
+ '55658405':{'en': 'Brasil Telecom GSM'},
'919194':{'en': 'Cellone'},
- '919197':{'en': 'Cellone'},
- '919196':{'en': 'Cellone'},
+ '55658407':{'en': 'Brasil Telecom GSM'},
+ '55658406':{'en': 'Brasil Telecom GSM'},
'919296':{'en': 'Tata Docomo'},
'9180010':{'en': 'Vodafone'},
'55759165':{'en': 'TIM'},
@@ -9312,7 +9322,7 @@ data = {
'9177518':{'en': 'Airtel'},
'918499':{'en': 'Idea'},
'918498':{'en': 'Idea'},
- '918948':{'en': 'Vodafone'},
+ '659716':{'en': 'SingTel'},
'918941':{'en': 'Idea'},
'918940':{'en': 'Vodafone'},
'918943':{'en': 'Vodafone'},
diff --git a/python/phonenumbers/data/region_882.py b/python/phonenumbers/data/region_882.py
index 6bde165e..cd3418db 100644
--- a/python/phonenumbers/data/region_882.py
+++ b/python/phonenumbers/data/region_882.py
@@ -9,7 +9,7 @@ PHONE_METADATA_882 = PhoneMetadata(id='001', country_code=882, international_pre
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- voip=PhoneNumberDesc(national_number_pattern='1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15678]|9[0689])\\d{4}|6\\d{5,10})|345\\d{7}', possible_number_pattern='\\d{7,12}', example_number='3451234567', possible_length=(7, 8, 9, 10, 11, 12)),
+ voip=PhoneNumberDesc(national_number_pattern='1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15678]|9[0689])\\d{4}|6\\d{5,10})|3(?:45|9\\d{3})\\d{7}', possible_number_pattern='\\d{7,12}', example_number='390123456789', possible_length=(7, 8, 9, 10, 11, 12)),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
voicemail=PhoneNumberDesc(national_number_pattern='348[57]\\d{7}', possible_number_pattern='\\d{11}', example_number='3451234567', possible_length=(11,)),
@@ -20,4 +20,4 @@ PHONE_METADATA_882 = PhoneMetadata(id='001', country_code=882, international_pre
NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['348']),
NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1']),
NumberFormat(pattern='(\\d{2})(\\d{3,4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['16']),
- NumberFormat(pattern='(\\d{2})(\\d{4,5})(\\d{5})', format='\\1 \\2 \\3', leading_digits_pattern=['16'])])
+ NumberFormat(pattern='(\\d{2})(\\d{4,5})(\\d{5})', format='\\1 \\2 \\3', leading_digits_pattern=['16|39'])])
diff --git a/python/phonenumbers/data/region_AG.py b/python/phonenumbers/data/region_AG.py
index 1079f508..68350639 100644
--- a/python/phonenumbers/data/region_AG.py
+++ b/python/phonenumbers/data/region_AG.py
@@ -8,7 +8,7 @@ PHONE_METADATA_AG = PhoneMetadata(id='AG', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='26848[01]\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2684801234', possible_length=(10,), possible_length_local_only=(7,)),
pager=PhoneNumberDesc(national_number_pattern='26840[69]\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2684061234', possible_length=(10,), possible_length_local_only=(7,)),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_AI.py b/python/phonenumbers/data/region_AI.py
index 9e784167..9c1a02cd 100644
--- a/python/phonenumbers/data/region_AI.py
+++ b/python/phonenumbers/data/region_AI.py
@@ -8,7 +8,7 @@ PHONE_METADATA_AI = PhoneMetadata(id='AI', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_AS.py b/python/phonenumbers/data/region_AS.py
index f7a988c6..12b1126f 100644
--- a/python/phonenumbers/data/region_AS.py
+++ b/python/phonenumbers/data/region_AS.py
@@ -8,7 +8,7 @@ PHONE_METADATA_AS = PhoneMetadata(id='AS', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_BB.py b/python/phonenumbers/data/region_BB.py
index 9a1b57ba..5000f674 100644
--- a/python/phonenumbers/data/region_BB.py
+++ b/python/phonenumbers/data/region_BB.py
@@ -8,7 +8,7 @@ PHONE_METADATA_BB = PhoneMetadata(id='BB', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{7}|246976\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='9002123456', possible_length=(10,), possible_length_local_only=(7,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='24631\\d{5}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2463101234', possible_length=(10,), possible_length_local_only=(7,)),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='246(?:292|41[7-9]|43[01])\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2464301234', possible_length=(10,), possible_length_local_only=(7,)),
diff --git a/python/phonenumbers/data/region_BM.py b/python/phonenumbers/data/region_BM.py
index 52340eb6..b696c9ce 100644
--- a/python/phonenumbers/data/region_BM.py
+++ b/python/phonenumbers/data/region_BM.py
@@ -8,7 +8,7 @@ PHONE_METADATA_BM = PhoneMetadata(id='BM', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_BR.py b/python/phonenumbers/data/region_BR.py
index 5150592a..91cc9ded 100644
--- a/python/phonenumbers/data/region_BR.py
+++ b/python/phonenumbers/data/region_BR.py
@@ -2,9 +2,9 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_BR = PhoneMetadata(id='BR', country_code=55, international_prefix='00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)',
- general_desc=PhoneNumberDesc(national_number_pattern='[1-46-9]\\d{7,10}|5\\d{8,9}', possible_number_pattern='\\d{8,11}', possible_length=(8, 9, 10, 11), possible_length_local_only=(8,)),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-46-9]\\d{7,10}|5(?:[0-4]\\d{7,9}|5(?:[2-8]\\d{7}|9\\d{7,8}))', possible_number_pattern='\\d{8,11}', possible_length=(8, 9, 10, 11), possible_length_local_only=(8,)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:[14689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])[2-5]\\d{7}', possible_number_pattern='\\d{8,11}', example_number='1123456789', possible_length=(10,), possible_length_local_only=(8,)),
- mobile=PhoneNumberDesc(national_number_pattern='1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|3[1-578]|[689][1-9]|7[13-579])(?:[6-8]|9\\d?)\\d{7}|(?:4[1-9]|5[1-5])[6-9]\\d{7}', possible_number_pattern='\\d{8,11}', example_number='11961234567', possible_length=(10, 11), possible_length_local_only=(8,)),
+ mobile=PhoneNumberDesc(national_number_pattern='1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|3[1-578]|[4689][1-9]|5[1-5]|7[13-579])(?:[6-8]|9\\d?)\\d{7}', possible_number_pattern='\\d{8,11}', example_number='11961234567', possible_length=(10, 11), possible_length_local_only=(8,)),
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6,7}', possible_number_pattern='\\d{8,11}', example_number='800123456', possible_length=(9, 10)),
premium_rate=PhoneNumberDesc(national_number_pattern='(?:300|[59]00\\d?)\\d{6}', possible_number_pattern='\\d{8,11}', example_number='300123456', possible_length=(9, 10)),
shared_cost=PhoneNumberDesc(national_number_pattern='(?:300\\d(?:\\d{2})?|40(?:0\\d|20))\\d{4}', possible_number_pattern='\\d{8,10}', example_number='40041234', possible_length=(8, 10)),
@@ -20,11 +20,11 @@ PHONE_METADATA_BR = PhoneMetadata(id='BR', country_code=55, international_prefix
number_format=[NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['[2-9](?:[1-9]|0[1-9])'], national_prefix_formatting_rule='\\1'),
NumberFormat(pattern='(\\d{5})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['9(?:[1-9]|0[1-9])'], national_prefix_formatting_rule='\\1'),
NumberFormat(pattern='(\\d{3,5})', format='\\1', leading_digits_pattern=['1[125689]'], national_prefix_formatting_rule='\\1'),
- NumberFormat(pattern='(\\d{2})(\\d{5})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['(?:[1689][1-9]|2[12478]|3[1-578]|7[13-579])9'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='0 $CC (\\1)'),
+ NumberFormat(pattern='(\\d{2})(\\d{5})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['(?:[14689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])9'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='0 $CC (\\1)'),
NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['[1-9][1-9]'], national_prefix_formatting_rule='(\\1)', domestic_carrier_code_formatting_rule='0 $CC (\\1)'),
NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['(?:300|40(?:0|20))']),
NumberFormat(pattern='([3589]00)(\\d{2,3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[3589]00'], national_prefix_formatting_rule='0\\1')],
- intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{5})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['(?:[1689][1-9]|2[12478]|3[1-578]|7[13-579])9']),
+ intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{5})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['(?:[14689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])9']),
NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2-\\3', leading_digits_pattern=['[1-9][1-9]']),
NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1-\\2', leading_digits_pattern=['(?:300|40(?:0|20))']),
NumberFormat(pattern='([3589]00)(\\d{2,3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[3589]00'])],
diff --git a/python/phonenumbers/data/region_BS.py b/python/phonenumbers/data/region_BS.py
index ee9dcc5d..78fbc3a7 100644
--- a/python/phonenumbers/data/region_BS.py
+++ b/python/phonenumbers/data/region_BS.py
@@ -8,7 +8,7 @@ PHONE_METADATA_BS = PhoneMetadata(id='BS', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='242300\\d{4}|8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='8002123456', possible_length=(10,), possible_length_local_only=(7,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_CA.py b/python/phonenumbers/data/region_CA.py
index c6a2f9f0..a1c07d7b 100644
--- a/python/phonenumbers/data/region_CA.py
+++ b/python/phonenumbers/data/region_CA.py
@@ -8,7 +8,7 @@ PHONE_METADATA_CA = PhoneMetadata(id='CA', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}|310\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='8002123456', possible_length=(7, 10)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_DM.py b/python/phonenumbers/data/region_DM.py
index b1240787..7a0beb49 100644
--- a/python/phonenumbers/data/region_DM.py
+++ b/python/phonenumbers/data/region_DM.py
@@ -8,7 +8,7 @@ PHONE_METADATA_DM = PhoneMetadata(id='DM', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_DO.py b/python/phonenumbers/data/region_DO.py
index 0f704552..59638c6f 100644
--- a/python/phonenumbers/data/region_DO.py
+++ b/python/phonenumbers/data/region_DO.py
@@ -8,7 +8,7 @@ PHONE_METADATA_DO = PhoneMetadata(id='DO', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_GD.py b/python/phonenumbers/data/region_GD.py
index 93f77a26..3b5dfd5d 100644
--- a/python/phonenumbers/data/region_GD.py
+++ b/python/phonenumbers/data/region_GD.py
@@ -8,7 +8,7 @@ PHONE_METADATA_GD = PhoneMetadata(id='GD', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_GU.py b/python/phonenumbers/data/region_GU.py
index 9260095d..d8b42079 100644
--- a/python/phonenumbers/data/region_GU.py
+++ b/python/phonenumbers/data/region_GU.py
@@ -8,7 +8,7 @@ PHONE_METADATA_GU = PhoneMetadata(id='GU', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_HU.py b/python/phonenumbers/data/region_HU.py
index 10da4e4a..42a54602 100644
--- a/python/phonenumbers/data/region_HU.py
+++ b/python/phonenumbers/data/region_HU.py
@@ -2,16 +2,16 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HU = PhoneMetadata(id='HU', country_code=36, international_prefix='00',
- general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7,8}', possible_number_pattern='\\d{6,9}', possible_length=(8, 9), possible_length_local_only=(6, 7)),
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:1\\d|2(?:1\\d|[2-9])|3(?:[2-7]|8\\d)|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}', possible_number_pattern='\\d{6,9}', example_number='12345678', possible_length=(8, 9), possible_length_local_only=(6, 7)),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7,8}', possible_number_pattern='\\d{6,9}', possible_length=(8, 9), possible_length_local_only=(6,)),
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:1\\d|2[2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|7[2-9]|8[2-57-9]|9[2-69])\\d{6}', possible_number_pattern='\\d{6,8}', example_number='12345678', possible_length=(8,), possible_length_local_only=(6,)),
mobile=PhoneNumberDesc(national_number_pattern='(?:[257]0|3[01])\\d{7}', possible_number_pattern='\\d{9}', example_number='201234567', possible_length=(9,)),
- toll_free=PhoneNumberDesc(national_number_pattern='80\\d{6}', possible_number_pattern='\\d{8}', example_number='80123456', possible_length=(8,)),
+ toll_free=PhoneNumberDesc(national_number_pattern='[48]0\\d{6}', possible_number_pattern='\\d{8}', example_number='80123456', possible_length=(8,)),
premium_rate=PhoneNumberDesc(national_number_pattern='9[01]\\d{6}', possible_number_pattern='\\d{8}', example_number='90123456', possible_length=(8,)),
- shared_cost=PhoneNumberDesc(national_number_pattern='40\\d{6}', possible_number_pattern='\\d{8}', example_number='40123456', possible_length=(8,)),
+ shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ voip=PhoneNumberDesc(national_number_pattern='21\\d{7}', possible_number_pattern='\\d{9}', example_number='211234567', possible_length=(9,)),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ uan=PhoneNumberDesc(national_number_pattern='38\\d{7}', possible_number_pattern='\\d{6,9}', example_number='381234567', possible_length=(9,)),
voicemail=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
no_international_dialling=PhoneNumberDesc(national_number_pattern='[48]0\\d{6}', possible_number_pattern='\\d{8}', example_number='80123456', possible_length=(8,)),
national_prefix='06',
diff --git a/python/phonenumbers/data/region_IN.py b/python/phonenumbers/data/region_IN.py
index a0d51732..bf91e5ff 100644
--- a/python/phonenumbers/data/region_IN.py
+++ b/python/phonenumbers/data/region_IN.py
@@ -4,7 +4,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix='00',
general_desc=PhoneNumberDesc(national_number_pattern='008\\d{9}|1\\d{7,12}|[2-9]\\d{9,10}', possible_number_pattern='\\d{6,13}', possible_length=(8, 9, 10, 11, 12, 13), possible_length_local_only=(6, 7, 8)),
fixed_line=PhoneNumberDesc(national_number_pattern='(?:11|2[02]|33|4[04]|79)[2-7]\\d{7}|80[2-467]\\d{7}|(?: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[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]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|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[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|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]|[57][2-689]|6[24-578]|8[1-6])|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|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}', possible_number_pattern='\\d{6,10}', example_number='1123456789', possible_length=(10,), possible_length_local_only=(6, 7, 8)),
- mobile=PhoneNumberDesc(national_number_pattern='(?:7(?:0\\d{3}|2(?:[0235679]\\d{2}|[14][017-9]\\d|8(?:[0-59]\\d|6[089]|78)|9[389]\\d)|3(?:[05-8]\\d{2}|1(?:[089]\\d|7[5-8])|2(?:[5-8]\\d|[01][089])|3(?:07|[17-9]\\d)|4(?:[07-9]\\d|11)|9(?:[01689]\\d|59|70))|4(?:0[1-9]\\d|1(?:[015-9]\\d|4[08])|2(?:09|[1-7][089]|[89]\\d)|3(?:[0-8][089]|9\\d)|4(?:[089]\\d|11|7[02-8])|5(?:0[089]|[59]9)|7(?:0[3-9]|11|7[02-8]|[89]\\d)|8(?:[0-24-7][089]|[389]\\d)|9(?:[0-6][089]|7[08]|[89]\\d))|5(?:[034678]\\d|2[03-9]|5[017-9]|9[7-9])\\d|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9]\\d)\\d|7(?:0[2-9]|[1-79]\\d|8[1-9])\\d|8(?:[0-79]\\d{2}|88[01])|99[4-9]\\d)|8(?:0(?:[01589]\\d|6[67])|1(?:[02-57-9]\\d|1[0135-9])|2(?:[236-9]\\d|5[1-9])|3(?:[0357-9]\\d|4[1-9])|[45]\\d{2}|6[02457-9]\\d|7(?:07|[1-69]\\d)|8(?:[0-26-9]\\d|44|5[2-9])|9(?:[035-9]\\d|2[2-9]|4[0-8]))\\d|9\\d{4})\\d{5}', possible_number_pattern='\\d{10}', example_number='9987654321', possible_length=(10,)),
+ mobile=PhoneNumberDesc(national_number_pattern='(?:7(?:0\\d{3}|2(?:[0235679]\\d{2}|[14][017-9]\\d|8(?:[0-59]\\d|6[089]|78)|9[389]\\d)|3(?:[05-8]\\d{2}|1(?:[089]\\d|7[5-8])|2(?:[5-8]\\d|[01][089])|3(?:07|[17-9]\\d)|4(?:[07-9]\\d|11)|9(?:[01689]\\d|59|70))|4(?:0[1-9]\\d|1(?:[015-9]\\d|2[089]|4[08])|2(?:09|[1-7][089]|[89]\\d)|3(?:[0-8][089]|9\\d)|4(?:[089]\\d|11|7[02-8])|5(?:0[089]|[59]9)|7(?:0[3-9]|11|7[02-8]|[89]\\d)|8(?:[0-24-7][089]|[389]\\d)|9(?:[0-6][089]|7[08]|[89]\\d))|5(?:[034678]\\d|2[03-9]|5[017-9]|9[7-9])\\d|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9]\\d)\\d|7(?:0[2-9]|[1-79]\\d|8[1-9])\\d|8(?:[0-79]\\d{2}|88[01])|99[4-9]\\d)|8(?:0(?:[01589]\\d|6[67])|1(?:[02-57-9]\\d|1[0135-9])|2(?:[236-9]\\d|5[1-9])|3(?:[0357-9]\\d|4[1-9])|[45]\\d{2}|6[02457-9]\\d|7(?:07|[1-69]\\d)|8(?:[0-26-9]\\d|44|5[2-9])|9(?:[035-9]\\d|2[2-9]|4[0-8]))\\d|9\\d{4})\\d{5}', possible_number_pattern='\\d{10}', example_number='9987654321', possible_length=(10,)),
toll_free=PhoneNumberDesc(national_number_pattern='00800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', possible_number_pattern='\\d{8,13}', example_number='1800123456', possible_length=(8, 9, 10, 11, 12, 13)),
premium_rate=PhoneNumberDesc(national_number_pattern='186[12]\\d{9}', possible_number_pattern='\\d{13}', example_number='1861123456789', possible_length=(13,)),
shared_cost=PhoneNumberDesc(national_number_pattern='1860\\d{7}', possible_number_pattern='\\d{11}', example_number='18603451234', possible_length=(11,)),
@@ -16,7 +16,7 @@ PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=91, international_prefix
no_international_dialling=PhoneNumberDesc(national_number_pattern='00800\\d{7}|1(?:600\\d{6}|8(?:0(?:0\\d{4,9}|3\\d{9})|6(?:0\\d{7}|[12]\\d{9})))', possible_number_pattern='\\d{8,13}', example_number='1800123456', possible_length=(8, 9, 10, 11, 12, 13)),
national_prefix='0',
national_prefix_for_parsing='0',
- number_format=[NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['7(?:[023578]|4[0-57-9]|6[0-35-9]|99)|8(?:0[015689]|1[0-57-9]|2[2356-9]|3[0-57-9]|[45]|6[02457-9]|7[01-69]|8[0-24-9]|9[02-9])|9', '7(?:[08]|2(?:[0235679]|[14][017-9]|8[0-79]|9[389])|3(?:[05-8]|1[07-9]|2[015-8]|[34][017-9]|9[015-9])|4(?:0[1-9]|1[014-9]|[2389]|[47][017-9]|5[059])|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9', '7(?:0|2(?:[0235679]|[14][017-9]|8(?:[0-569]|78)|9[389])|3(?:[05-8]|1(?:[089]|7[5-9])|2(?:[5-8]|[01][089])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|59|70))|4(?:0[1-9]|1(?:[015-9]|4[08])|2(?:09|[1-7][089]|[89])|3(?:[0-8][089]|9)|4(?:[089]|11|7[02-8])|5(?:0[089]|[59]9)|7(?:0[3-9]|11|7[02-8]|[89])|8(?:[0-24-7][089]|[389])|9(?:[0-6][089]|7[08]|[89]))|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|8(?:[0-79]|88[01])|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
+ number_format=[NumberFormat(pattern='(\\d{5})(\\d{5})', format='\\1 \\2', leading_digits_pattern=['7(?:[023578]|4[0-57-9]|6[0-35-9]|99)|8(?:0[015689]|1[0-57-9]|2[2356-9]|3[0-57-9]|[45]|6[02457-9]|7[01-69]|8[0-24-9]|9[02-9])|9', '7(?:[08]|2(?:[0235679]|[14][017-9]|8[0-79]|9[389])|3(?:[05-8]|1[07-9]|2[015-8]|[34][017-9]|9[015-9])|4(?:0[1-9]|1[0-24-9]|[2389]|[47][017-9]|5[059])|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9', '7(?:0|2(?:[0235679]|[14][017-9]|8(?:[0-569]|78)|9[389])|3(?:[05-8]|1(?:[089]|7[5-9])|2(?:[5-8]|[01][089])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|59|70))|4(?:0[1-9]|1(?:[015-9]|2[089]|4[08])|2(?:09|[1-7][089]|[89])|3(?:[0-8][089]|9)|4(?:[089]|11|7[02-8])|5(?:0[089]|[59]9)|7(?:0[3-9]|11|7[02-8]|[89])|8(?:[0-24-7][089]|[389])|9(?:[0-6][089]|7[08]|[89]))|5(?:[034678]|2[03-9]|5[017-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589]|[6-9])|7(?:0[2-9]|[1-79]|8[1-9])|8(?:[0-79]|88[01])|99[4-9])|8(?:0(?:[01589]|6[67])|1(?:[02-57-9]|1[0135-9])|2(?:[236-9]|5[1-9])|3(?:[0357-9]|4[1-9])|[45]|6[02457-9]|7(?:07|[1-69])|8(?:[0-26-9]|44|5[2-9])|9(?:[035-9]|2[2-9]|4[0-8]))|9'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['11|2[02]|33|4[04]|79|80[2-46]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|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]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)', '7(?:12|2[14]|3[134]|4[47]|5(?:1|5[2-6])|[67]1|88)'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
diff --git a/python/phonenumbers/data/region_JM.py b/python/phonenumbers/data/region_JM.py
index a7418305..cd167f1d 100644
--- a/python/phonenumbers/data/region_JM.py
+++ b/python/phonenumbers/data/region_JM.py
@@ -4,11 +4,11 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_JM = PhoneMetadata(id='JM', country_code=1, international_prefix='011',
general_desc=PhoneNumberDesc(national_number_pattern='[589]\\d{9}', possible_number_pattern='\\d{7}(?:\\d{3})?', possible_length=(10,), possible_length_local_only=(7,)),
fixed_line=PhoneNumberDesc(national_number_pattern='876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[027-9]|[23]\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='8765123456', possible_length=(10,), possible_length_local_only=(7,)),
- mobile=PhoneNumberDesc(national_number_pattern='876(?:2(?:[16-9]\\d|58)|[348]\\d{2}|5(?:0[3-9]|27|6[0-24-9]|[3-578]\\d)|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='8762101234', possible_length=(10,), possible_length_local_only=(7,)),
+ mobile=PhoneNumberDesc(national_number_pattern='876(?:2(?:[16-9]\\d|58)|[348]\\d{2}|5(?:0[3-9]|2[0-246-9]|6[0-24-9]|[3-578]\\d)|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='8762101234', possible_length=(10,), possible_length_local_only=(7,)),
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_KN.py b/python/phonenumbers/data/region_KN.py
index 2e3a06a0..bcf4bd9d 100644
--- a/python/phonenumbers/data/region_KN.py
+++ b/python/phonenumbers/data/region_KN.py
@@ -8,7 +8,7 @@ PHONE_METADATA_KN = PhoneMetadata(id='KN', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_KY.py b/python/phonenumbers/data/region_KY.py
index 43ce83ae..f3c69779 100644
--- a/python/phonenumbers/data/region_KY.py
+++ b/python/phonenumbers/data/region_KY.py
@@ -8,7 +8,7 @@ PHONE_METADATA_KY = PhoneMetadata(id='KY', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}|345976\\d{4}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='345849\\d{4}', possible_number_pattern='\\d{10}', example_number='3458491234', possible_length=(10,), possible_length_local_only=(7,)),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_KZ.py b/python/phonenumbers/data/region_KZ.py
index 32637886..3a699f87 100644
--- a/python/phonenumbers/data/region_KZ.py
+++ b/python/phonenumbers/data/region_KZ.py
@@ -3,7 +3,7 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KZ = PhoneMetadata(id='KZ', country_code=7, international_prefix='810',
general_desc=PhoneNumberDesc(national_number_pattern='(?:33\\d|7\\d{2}|80[09])\\d{7}', possible_number_pattern='\\d{10}', possible_length=(10,)),
- fixed_line=PhoneNumberDesc(national_number_pattern='33622\\d{5}|7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-79]|4[0-35-9]|59)|4(?:2\\d|3[013-79]|4[0-8]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:[234]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[234]\\d|5[139])|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[237]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}', possible_number_pattern='\\d{10}', example_number='7123456789', possible_length=(10,)),
+ fixed_line=PhoneNumberDesc(national_number_pattern='33622\\d{5}|7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-79]|4[0-35-9]|59)|4(?:2\\d|3[013-79]|4[0-8]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:[234]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[234]\\d|5[139])|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}', possible_number_pattern='\\d{10}', example_number='7123456789', possible_length=(10,)),
mobile=PhoneNumberDesc(national_number_pattern='7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\d{7}', possible_number_pattern='\\d{10}', example_number='7710009998', possible_length=(10,)),
toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7}', possible_number_pattern='\\d{10}', example_number='8001234567', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='809\\d{7}', possible_number_pattern='\\d{10}', example_number='8091234567', possible_length=(10,)),
diff --git a/python/phonenumbers/data/region_LC.py b/python/phonenumbers/data/region_LC.py
index 6629e21a..2d66f1c1 100644
--- a/python/phonenumbers/data/region_LC.py
+++ b/python/phonenumbers/data/region_LC.py
@@ -8,7 +8,7 @@ PHONE_METADATA_LC = PhoneMetadata(id='LC', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_MP.py b/python/phonenumbers/data/region_MP.py
index 77bd8060..dcaaa9b8 100644
--- a/python/phonenumbers/data/region_MP.py
+++ b/python/phonenumbers/data/region_MP.py
@@ -8,7 +8,7 @@ PHONE_METADATA_MP = PhoneMetadata(id='MP', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_MS.py b/python/phonenumbers/data/region_MS.py
index 7f0caabf..213b6e5f 100644
--- a/python/phonenumbers/data/region_MS.py
+++ b/python/phonenumbers/data/region_MS.py
@@ -8,7 +8,7 @@ PHONE_METADATA_MS = PhoneMetadata(id='MS', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_PR.py b/python/phonenumbers/data/region_PR.py
index 8acb39ba..515e4249 100644
--- a/python/phonenumbers/data/region_PR.py
+++ b/python/phonenumbers/data/region_PR.py
@@ -8,7 +8,7 @@ PHONE_METADATA_PR = PhoneMetadata(id='PR', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_SX.py b/python/phonenumbers/data/region_SX.py
index 0d8d3ea2..2029240f 100644
--- a/python/phonenumbers/data/region_SX.py
+++ b/python/phonenumbers/data/region_SX.py
@@ -8,7 +8,7 @@ PHONE_METADATA_SX = PhoneMetadata(id='SX', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002123456', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002123456', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_TC.py b/python/phonenumbers/data/region_TC.py
index 28668aab..ccab7993 100644
--- a/python/phonenumbers/data/region_TC.py
+++ b/python/phonenumbers/data/region_TC.py
@@ -8,7 +8,7 @@ PHONE_METADATA_TC = PhoneMetadata(id='TC', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='64971[01]\\d{4}', possible_number_pattern='\\d{10}', example_number='6497101234', possible_length=(10,), possible_length_local_only=(7,)),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_TR.py b/python/phonenumbers/data/region_TR.py
index 7b352ff0..42d2e0f9 100644
--- a/python/phonenumbers/data/region_TR.py
+++ b/python/phonenumbers/data/region_TR.py
@@ -16,7 +16,8 @@ PHONE_METADATA_TR = PhoneMetadata(id='TR', country_code=90, international_prefix
no_international_dialling=PhoneNumberDesc(national_number_pattern='444\\d{4}', possible_number_pattern='\\d{7}', example_number='4441444', possible_length=(7,)),
national_prefix='0',
national_prefix_for_parsing='0',
- number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[23]|4(?:[0-35-9]|4[0-35-9])'], national_prefix_formatting_rule='(0\\1)', national_prefix_optional_when_formatting=True),
- NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[589]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
+ number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[23]|4(?:[0-35-9]|4[0-35-9])'], national_prefix_formatting_rule='(0\\1)', national_prefix_optional_when_formatting=True),
+ NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['5[02-69]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
+ NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['51|[89]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True),
NumberFormat(pattern='(444)(\\d{1})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['444'])],
mobile_number_portable_region=True)
diff --git a/python/phonenumbers/data/region_TT.py b/python/phonenumbers/data/region_TT.py
index 81aa1fe2..f8ab6cb2 100644
--- a/python/phonenumbers/data/region_TT.py
+++ b/python/phonenumbers/data/region_TT.py
@@ -8,7 +8,7 @@ PHONE_METADATA_TT = PhoneMetadata(id='TT', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_UG.py b/python/phonenumbers/data/region_UG.py
index d6a78be8..6a27274c 100644
--- a/python/phonenumbers/data/region_UG.py
+++ b/python/phonenumbers/data/region_UG.py
@@ -3,8 +3,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_UG = PhoneMetadata(id='UG', country_code=256, international_prefix='00[057]',
general_desc=PhoneNumberDesc(national_number_pattern='\\d{9}', possible_number_pattern='\\d{5,9}', possible_length=(9,), possible_length_local_only=(5, 6, 7)),
- fixed_line=PhoneNumberDesc(national_number_pattern='20(?:[0147]\\d{2}|2(?:40|[5-9]\\d)|3[23]\\d|5[0-4]\\d|6[03]\\d|8[0-2]\\d)\\d{4}|[34]\\d{8}', possible_number_pattern='\\d{5,9}', example_number='312345678', possible_length=(9,), possible_length_local_only=(5, 6, 7)),
- mobile=PhoneNumberDesc(national_number_pattern='2030\\d{5}|7(?:0[0-7]|[15789]\\d|2[03]|30|[46][0-4])\\d{6}', possible_number_pattern='\\d{9}', example_number='712345678', possible_length=(9,)),
+ fixed_line=PhoneNumberDesc(national_number_pattern='20(?:[0147]\\d{2}|2(?:40|[5-9]\\d)|3(?:0[0-4]|[23]\\d)|5[0-4]\\d|6[035-9]\\d|8[0-2]\\d)\\d{4}|[34]\\d{8}', possible_number_pattern='\\d{5,9}', example_number='312345678', possible_length=(9,), possible_length_local_only=(5, 6, 7)),
+ mobile=PhoneNumberDesc(national_number_pattern='7(?:(?:0[0-7]|[15789]\\d|30|4[0-4])\\d|2(?:[03]\\d|60))\\d{5}', possible_number_pattern='\\d{9}', example_number='712345678', possible_length=(9,)),
toll_free=PhoneNumberDesc(national_number_pattern='800[123]\\d{5}', possible_number_pattern='\\d{9}', example_number='800123456', possible_length=(9,)),
premium_rate=PhoneNumberDesc(national_number_pattern='90[123]\\d{6}', possible_number_pattern='\\d{9}', example_number='901123456', possible_length=(9,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_US.py b/python/phonenumbers/data/region_US.py
index f33a3665..8ad14fcb 100644
--- a/python/phonenumbers/data/region_US.py
+++ b/python/phonenumbers/data/region_US.py
@@ -3,12 +3,12 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_US = PhoneMetadata(id='US', country_code=1, international_prefix='011',
general_desc=PhoneNumberDesc(national_number_pattern='[2-9]\\d{9}', possible_number_pattern='\\d{7}(?:\\d{3})?', possible_length=(10,), possible_length_local_only=(7,)),
- fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
- mobile=PhoneNumberDesc(national_number_pattern='(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
+ fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
+ mobile=PhoneNumberDesc(national_number_pattern='(?:2(?:0[1-35-9]|1[02-9]|2[04589]|3[149]|4[08]|5[1-46]|6[0279]|7[026]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[16]|5[017]|6[0-279]|78|8[12])|7(?:0[1-46-8]|1[02-9]|2[0457]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-3589]|8[0459]))[2-9]\\d{6}', possible_number_pattern='\\d{7}(?:\\d{3})?', example_number='2015550123', possible_length=(10,), possible_length_local_only=(7,)),
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_VC.py b/python/phonenumbers/data/region_VC.py
index 979937d6..016a83cd 100644
--- a/python/phonenumbers/data/region_VC.py
+++ b/python/phonenumbers/data/region_VC.py
@@ -8,7 +8,7 @@ PHONE_METADATA_VC = PhoneMetadata(id='VC', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_VG.py b/python/phonenumbers/data/region_VG.py
index c6b7d768..c763d8db 100644
--- a/python/phonenumbers/data/region_VG.py
+++ b/python/phonenumbers/data/region_VG.py
@@ -8,7 +8,7 @@ PHONE_METADATA_VG = PhoneMetadata(id='VG', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/data/region_VI.py b/python/phonenumbers/data/region_VI.py
index a484061a..613dcf8e 100644
--- a/python/phonenumbers/data/region_VI.py
+++ b/python/phonenumbers/data/region_VI.py
@@ -8,7 +8,7 @@ PHONE_METADATA_VI = PhoneMetadata(id='VI', country_code=1, international_prefix=
toll_free=PhoneNumberDesc(national_number_pattern='8(?:00|44|55|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='8002345678', possible_length=(10,)),
premium_rate=PhoneNumberDesc(national_number_pattern='900[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='9002345678', possible_length=(10,)),
shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
+ personal_number=PhoneNumberDesc(national_number_pattern='5(?:00|22|33|44|66|77|88)[2-9]\\d{6}', possible_number_pattern='\\d{10}', example_number='5002345678', possible_length=(10,)),
voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
diff --git a/python/phonenumbers/geodata/data1.py b/python/phonenumbers/geodata/data1.py
index b03b603c..99619ff1 100644
--- a/python/phonenumbers/geodata/data1.py
+++ b/python/phonenumbers/geodata/data1.py
@@ -502,7 +502,6 @@ data = {
'1580286':{'en': 'Idabel, OK'},
'1617484':{'en': 'Belmont, MA'},
'1617482':{'en': 'Boston, MA'},
- '1617489':{'en': 'Belmont, MA'},
'1505217':{'en': 'Albuquerque, NM'},
'1505216':{'en': 'Santa Fe, NM'},
'1517647':{'en': 'Portland, MI'},
@@ -1571,6 +1570,7 @@ data = {
'1469':{'en': 'Texas'},
'1614418':{'en': 'Columbus, OH'},
'1409813':{'en': 'Beaumont, TX'},
+ '1463':{'en': 'Indiana'},
'1559294':{'en': 'Fresno, CA'},
'1541752':{'en': 'Corvallis, OR'},
'1505319':{'en': 'Albuquerque, NM'},
@@ -3760,7 +3760,7 @@ data = {
'1519268':{'en': 'Dorchester, ON'},
'1514642':{'en': 'Pointe-aux-Trembles, QC'},
'1423878':{'en': 'Bristol, TN'},
- '1512418':{'en': 'Austin, TX'},
+ '1519271':{'en': 'Stratford, ON'},
'1530547':{'en': 'Palo Cedro, CA'},
'1530546':{'en': 'Kings Beach, CA'},
'1530544':{'en': 'South Lake Tahoe, CA'},
@@ -8993,7 +8993,7 @@ data = {
'1604583':{'en': 'Surrey, BC'},
'1604582':{'en': 'Surrey, BC'},
'1512419':{'en': 'Austin, TX'},
- '1519271':{'en': 'Stratford, ON'},
+ '1512418':{'en': 'Austin, TX'},
'1519272':{'en': 'Stratford, ON'},
'1519273':{'en': 'Stratford, ON'},
'1423702':{'en': 'Chattanooga, TN'},
diff --git a/python/phonenumbers/geodata/data10.py b/python/phonenumbers/geodata/data10.py
index ae96ee0f..4d6be216 100644
--- a/python/phonenumbers/geodata/data10.py
+++ b/python/phonenumbers/geodata/data10.py
@@ -1422,7 +1422,6 @@ data = {
'861340004':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
'86135230':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
'861351768':{'en': 'Nanning, Guangxi', 'zh': u('\u5e7f\u897f\u5357\u5b81\u5e02')},
- '861361352':{'en': 'Datong, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5927\u540c\u5e02')},
'861361350':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')},
'861351769':{'en': 'Yulin, Guangxi', 'zh': u('\u5e7f\u897f\u7389\u6797\u5e02')},
'86135436':{'en': 'Foshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
@@ -2755,6 +2754,7 @@ data = {
'861341991':{'en': 'Nanyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
'861339292':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
'861339293':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
+ '861339290':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
'861339291':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
'861339296':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
'861339297':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
@@ -4647,7 +4647,7 @@ data = {
'861339432':{'en': 'Jilin, Jilin', 'zh': u('\u5409\u6797\u7701\u5409\u6797\u5e02')},
'861339433':{'en': 'Yanbian, Jilin', 'zh': u('\u5409\u6797\u7701\u5ef6\u8fb9\u671d\u9c9c\u65cf\u81ea\u6cbb\u5dde')},
'861339430':{'en': 'Changchun, Jilin', 'zh': u('\u5409\u6797\u7701\u957f\u6625\u5e02')},
- '861339465':{'en': 'Daqing, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02')},
+ '861339397':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
'861339464':{'en': 'Daqing, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02')},
'861339467':{'en': 'Jixi, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9e21\u897f\u5e02')},
'861339466':{'en': 'Daqing, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02')},
@@ -7739,7 +7739,7 @@ data = {
'861360640':{'en': 'Jinan, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5357\u5e02')},
'861360599':{'en': 'Sanming, Fujian', 'zh': u('\u798f\u5efa\u7701\u4e09\u660e\u5e02')},
'861360598':{'en': 'Sanming, Fujian', 'zh': u('\u798f\u5efa\u7701\u4e09\u660e\u5e02')},
- '861339397':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
+ '861339465':{'en': 'Daqing, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02')},
'861360647':{'en': 'Weifang, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6f4d\u574a\u5e02')},
'861339396':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
'861339395':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
@@ -8050,7 +8050,7 @@ data = {
'86135387':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
'861347659':{'en': 'Huanggang, Hubei', 'zh': u('\u6e56\u5317\u7701\u9ec4\u5188\u5e02')},
'861347658':{'en': 'Huanggang, Hubei', 'zh': u('\u6e56\u5317\u7701\u9ec4\u5188\u5e02')},
- '861345875':{'en': 'Meishan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u7709\u5c71\u5e02')},
+ '86133928':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861345874':{'en': 'Yibin, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5b9c\u5bbe\u5e02')},
'861345877':{'en': 'Liangshan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
'861345876':{'en': 'Meishan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u7709\u5c71\u5e02')},
@@ -8471,6 +8471,7 @@ data = {
'8613521':{'en': 'Beijing', 'zh': u('\u5317\u4eac\u5e02')},
'86135384':{'en': 'Dongguan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
'86135385':{'en': 'Dongguan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e1c\u839e\u5e02')},
+ '861345875':{'en': 'Meishan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u7709\u5c71\u5e02')},
'861360376':{'en': 'Xinyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u4fe1\u9633\u5e02')},
'861354051':{'en': 'Panzhihua, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6500\u679d\u82b1\u5e02')},
'861354050':{'en': 'Panzhihua, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6500\u679d\u82b1\u5e02')},
@@ -10017,6 +10018,5 @@ data = {
'861342979':{'en': 'Yulin, Shaanxi', 'zh': u('\u9655\u897f\u7701\u6986\u6797\u5e02')},
'861342978':{'en': 'Baoji, Shaanxi', 'zh': u('\u9655\u897f\u7701\u5b9d\u9e21\u5e02')},
'861360578':{'en': 'Ningbo, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u5b81\u6ce2\u5e02')},
- '861361351':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861357950':{'en': 'Karamay, Xinjiang', 'zh': u('\u65b0\u7586\u514b\u62c9\u739b\u4f9d\u5e02')},
}
diff --git a/python/phonenumbers/geodata/data11.py b/python/phonenumbers/geodata/data11.py
index 7591c0df..d6d95ddc 100644
--- a/python/phonenumbers/geodata/data11.py
+++ b/python/phonenumbers/geodata/data11.py
@@ -1409,8 +1409,9 @@ data = {
'861361357':{'en': 'Linfen, Shanxi', 'zh': u('\u5c71\u897f\u7701\u4e34\u6c7e\u5e02')},
'861361354':{'en': 'Jinzhong, Shanxi', 'zh': u('\u5c71\u897f\u7701\u664b\u4e2d\u5e02')},
'861361355':{'en': 'Changzhi, Shanxi', 'zh': u('\u5c71\u897f\u7701\u957f\u6cbb\u5e02')},
- '861370789':{'en': 'Beihai, Guangxi', 'zh': u('\u5e7f\u897f\u5317\u6d77\u5e02')},
+ '861361352':{'en': 'Datong, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5927\u540c\u5e02')},
'861361353':{'en': 'Yangquan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u9633\u6cc9\u5e02')},
+ '861361351':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861361358':{'en': u('L\u00fcliang, Shanxi'), 'zh': u('\u5c71\u897f\u7701\u5415\u6881\u5e02')},
'861361359':{'en': 'Yuncheng, Shanxi', 'zh': u('\u5c71\u897f\u7701\u8fd0\u57ce\u5e02')},
'861365631':{'en': 'Weihai, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u5a01\u6d77\u5e02')},
@@ -7592,6 +7593,7 @@ data = {
'861373438':{'en': 'Linyi, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u4e34\u6c82\u5e02')},
'861373439':{'en': 'Linyi, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u4e34\u6c82\u5e02')},
'86137501':{'en': 'Qingyuan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e05\u8fdc\u5e02')},
+ '861370789':{'en': 'Beihai, Guangxi', 'zh': u('\u5e7f\u897f\u5317\u6d77\u5e02')},
'861365921':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
'861365920':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
'861365923':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
@@ -8908,8 +8910,6 @@ data = {
'86137472':{'en': 'Baotou, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u5305\u5934\u5e02')},
'86137470':{'en': 'Hulun, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u547c\u4f26\u8d1d\u5c14\u5e02')},
'86137471':{'en': 'Hohhot, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u547c\u548c\u6d69\u7279\u5e02')},
- '861380393':{'en': 'Puyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6fee\u9633\u5e02')},
- '861380392':{'en': 'Hebi, Henan', 'zh': u('\u6cb3\u5357\u7701\u9e64\u58c1\u5e02')},
'861380391':{'en': 'Jiaozuo, Henan', 'zh': u('\u6cb3\u5357\u7701\u7126\u4f5c\u5e02')},
'861380390':{'en': 'Pingdingshan, Henan', 'zh': u('\u6cb3\u5357\u7701\u5e73\u9876\u5c71\u5e02')},
'861373478':{'en': 'Chifeng, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u8d64\u5cf0\u5e02')},
diff --git a/python/phonenumbers/geodata/data12.py b/python/phonenumbers/geodata/data12.py
index b05a4e69..4b7a9776 100644
--- a/python/phonenumbers/geodata/data12.py
+++ b/python/phonenumbers/geodata/data12.py
@@ -598,7 +598,6 @@ data = {
'86138350':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')},
'861453857':{'en': 'Pingliang, Gansu', 'zh': u('\u7518\u8083\u7701\u5e73\u51c9\u5e02')},
'861453856':{'en': 'Pingliang, Gansu', 'zh': u('\u7518\u8083\u7701\u5e73\u51c9\u5e02')},
- '861470463':{'en': 'Mudanjiang, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u7261\u4e39\u6c5f\u5e02')},
'861470462':{'en': 'Qiqihar, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9f50\u9f50\u54c8\u5c14\u5e02')},
'861470461':{'en': 'Harbin, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u54c8\u5c14\u6ee8\u5e02')},
'861470460':{'en': 'Harbin, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u54c8\u5c14\u6ee8\u5e02')},
@@ -3324,7 +3323,6 @@ data = {
'861459148':{'en': 'Qinzhou, Guangxi', 'zh': u('\u5e7f\u897f\u94a6\u5dde\u5e02')},
'86145892':{'en': 'Jiangmen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c5f\u95e8\u5e02')},
'86145897':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
- '861470464':{'en': 'Qitaihe, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u4e03\u53f0\u6cb3\u5e02')},
'861383349':{'en': 'Baoding, Hebei', 'zh': u('\u6cb3\u5317\u7701\u4fdd\u5b9a\u5e02')},
'861383348':{'en': 'Baoding, Hebei', 'zh': u('\u6cb3\u5317\u7701\u4fdd\u5b9a\u5e02')},
'861383345':{'en': 'Shijiazhuang, Hebei', 'zh': u('\u6cb3\u5317\u7701\u77f3\u5bb6\u5e84\u5e02')},
@@ -8852,6 +8850,8 @@ data = {
'861459175':{'en': 'Baotou, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u5305\u5934\u5e02')},
'861459176':{'en': 'Ordos, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u9102\u5c14\u591a\u65af\u5e02')},
'861459177':{'en': 'Ordos, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u9102\u5c14\u591a\u65af\u5e02')},
+ '861380393':{'en': 'Puyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6fee\u9633\u5e02')},
+ '861380392':{'en': 'Hebi, Henan', 'zh': u('\u6cb3\u5357\u7701\u9e64\u58c1\u5e02')},
'861380397':{'en': 'Shangqiu, Henan', 'zh': u('\u6cb3\u5357\u7701\u5546\u4e18\u5e02')},
'861380396':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
'861380395':{'en': 'Luohe, Henan', 'zh': u('\u6cb3\u5357\u7701\u6f2f\u6cb3\u5e02')},
diff --git a/python/phonenumbers/geodata/data13.py b/python/phonenumbers/geodata/data13.py
index 941fe55a..7b16195d 100644
--- a/python/phonenumbers/geodata/data13.py
+++ b/python/phonenumbers/geodata/data13.py
@@ -542,8 +542,8 @@ data = {
'861470467':{'en': 'Jixi, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9e21\u897f\u5e02')},
'861470466':{'en': 'Hegang, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9e64\u5c97\u5e02')},
'861470465':{'en': 'Qiqihar, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9f50\u9f50\u54c8\u5c14\u5e02')},
- '861475104':{'en': 'Changzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
- '861475103':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
+ '861470464':{'en': 'Qitaihe, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u4e03\u53f0\u6cb3\u5e02')},
+ '861470463':{'en': 'Mudanjiang, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u7261\u4e39\u6c5f\u5e02')},
'861475102':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
'861475101':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
'861475100':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
@@ -3294,6 +3294,8 @@ data = {
'861475107':{'en': 'Nanjing, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u4eac\u5e02')},
'861475106':{'en': 'Nanjing, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u4eac\u5e02')},
'861475105':{'en': 'Changzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
+ '861475104':{'en': 'Changzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5e38\u5dde\u5e02')},
+ '861475103':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
'861471590':{'en': 'Maoming, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
'861471591':{'en': 'Meizhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6885\u5dde\u5e02')},
'861471592':{'en': 'Qingyuan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e05\u8fdc\u5e02')},
@@ -5288,8 +5290,6 @@ data = {
'861478840':{'en': 'Luoyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
'861478843':{'en': 'Luoyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
'861478842':{'en': 'Luoyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u6d1b\u9633\u5e02')},
- '861515876':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
- '861515877':{'en': 'Quzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u8862\u5dde\u5e02')},
'861515874':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
'861515875':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
'861515872':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
diff --git a/python/phonenumbers/geodata/data14.py b/python/phonenumbers/geodata/data14.py
index 22a5840d..ea31481d 100644
--- a/python/phonenumbers/geodata/data14.py
+++ b/python/phonenumbers/geodata/data14.py
@@ -2687,7 +2687,6 @@ data = {
'861533565':{'en': 'Chifeng, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u8d64\u5cf0\u5e02')},
'861533566':{'en': 'Chifeng, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u8d64\u5cf0\u5e02')},
'861533567':{'en': 'Ordos, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u9102\u5c14\u591a\u65af\u5e02')},
- '861535971':{'en': 'Ningde, Fujian', 'zh': u('\u798f\u5efa\u7701\u5b81\u5fb7\u5e02')},
'861535970':{'en': 'Ningde, Fujian', 'zh': u('\u798f\u5efa\u7701\u5b81\u5fb7\u5e02')},
'861521958':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
'861521959':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
@@ -4104,7 +4103,7 @@ data = {
'86152225':{'en': 'Tianjin', 'zh': u('\u5929\u6d25\u5e02')},
'86152730':{'en': 'Yueyang, Hunan', 'zh': u('\u6e56\u5357\u7701\u5cb3\u9633\u5e02')},
'861525728':{'en': 'Jiaxing, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u5609\u5174\u5e02')},
- '86152732':{'en': 'Xiangtan, Hunan', 'zh': u('\u6e56\u5357\u7701\u6e58\u6f6d\u5e02')},
+ '86152220':{'en': 'Tianjin', 'zh': u('\u5929\u6d25\u5e02')},
'86152221':{'en': 'Tianjin', 'zh': u('\u5929\u6d25\u5e02')},
'861521488':{'en': 'Ili, Xinjiang', 'zh': u('\u65b0\u7586\u4f0a\u7281\u54c8\u8428\u514b\u81ea\u6cbb\u5dde')},
'861521489':{'en': 'Ili, Xinjiang', 'zh': u('\u65b0\u7586\u4f0a\u7281\u54c8\u8428\u514b\u81ea\u6cbb\u5dde')},
@@ -5346,6 +5345,8 @@ data = {
'861529379':{'en': 'Jiuquan, Gansu', 'zh': u('\u7518\u8083\u7701\u9152\u6cc9\u5e02')},
'861515878':{'en': 'Quzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u8862\u5dde\u5e02')},
'861515879':{'en': 'Quzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u8862\u5dde\u5e02')},
+ '861515876':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
+ '861515877':{'en': 'Quzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u8862\u5dde\u5e02')},
'861522988':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
'861522989':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
'861522980':{'en': 'Xianyang, Shaanxi', 'zh': u('\u9655\u897f\u7701\u54b8\u9633\u5e02')},
@@ -7308,7 +7309,7 @@ data = {
'86152737':{'en': 'Yiyang, Hunan', 'zh': u('\u6e56\u5357\u7701\u76ca\u9633\u5e02')},
'861525729':{'en': 'Jiaxing, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u5609\u5174\u5e02')},
'86152731':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
- '86152220':{'en': 'Tianjin', 'zh': u('\u5929\u6d25\u5e02')},
+ '86152732':{'en': 'Xiangtan, Hunan', 'zh': u('\u6e56\u5357\u7701\u6e58\u6f6d\u5e02')},
'86152733':{'en': 'Zhuzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u682a\u6d32\u5e02')},
'861525725':{'en': 'Huzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
'861525724':{'en': 'Huzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
@@ -8358,7 +8359,6 @@ data = {
'86153089':{'en': 'Haikou, Hainan', 'zh': u('\u6d77\u5357\u7701\u6d77\u53e3\u5e02')},
'861535402':{'en': 'Baoding, Hebei', 'zh': u('\u6cb3\u5317\u7701\u4fdd\u5b9a\u5e02')},
'861533589':{'en': 'Wuhan, Hubei', 'zh': u('\u6e56\u5317\u7701\u6b66\u6c49\u5e02')},
- '861535972':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861535133':{'en': 'GuangAn, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5e7f\u5b89\u5e02')},
'861535633':{'en': 'Taizhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u53f0\u5dde\u5e02')},
'861534259':{'en': 'Ezhou, Hubei', 'zh': u('\u6e56\u5317\u7701\u9102\u5dde\u5e02')},
diff --git a/python/phonenumbers/geodata/data15.py b/python/phonenumbers/geodata/data15.py
index a458efdd..32f38bbf 100644
--- a/python/phonenumbers/geodata/data15.py
+++ b/python/phonenumbers/geodata/data15.py
@@ -2576,7 +2576,9 @@ data = {
'861535974':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861535977':{'en': 'Putian, Fujian', 'zh': u('\u798f\u5efa\u7701\u8386\u7530\u5e02')},
'861535976':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
+ '861535971':{'en': 'Ningde, Fujian', 'zh': u('\u798f\u5efa\u7701\u5b81\u5fb7\u5e02')},
'861535973':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
+ '861535972':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861564942':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
'861564943':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
'861564940':{'en': 'Kaifeng, Henan', 'zh': u('\u6cb3\u5357\u7701\u5f00\u5c01\u5e02')},
@@ -5935,7 +5937,6 @@ data = {
'861559998':{'en': 'Kashi, Xinjiang', 'zh': u('\u65b0\u7586\u5580\u4ec0\u5730\u533a')},
'861555379':{'en': 'Laiwu, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u83b1\u829c\u5e02')},
'861555378':{'en': 'Zaozhuang, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u67a3\u5e84\u5e02')},
- '861565972':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861555375':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
'861555374':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
'861555377':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
@@ -6711,9 +6712,8 @@ data = {
'861539978':{'en': 'Changde, Hunan', 'zh': u('\u6e56\u5357\u7701\u5e38\u5fb7\u5e02')},
'86153797':{'en': 'Zhangye, Gansu', 'zh': u('\u7518\u8083\u7701\u5f20\u6396\u5e02')},
'861559855':{'en': 'Chifeng, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u8d64\u5cf0\u5e02')},
- '86153822':{'en': 'Dalian, Liaoning', 'zh': u('\u8fbd\u5b81\u7701\u5927\u8fde\u5e02')},
+ '86153790':{'en': 'Lanzhou, Gansu', 'zh': u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861538323':{'en': 'Shijiazhuang, Hebei', 'zh': u('\u6cb3\u5317\u7701\u77f3\u5bb6\u5e84\u5e02')},
- '861565971':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861559853':{'en': 'Hinggan, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u5174\u5b89\u76df')},
'861559775':{'en': 'Zunyi, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
'861559774':{'en': 'Zunyi, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
@@ -9500,7 +9500,7 @@ data = {
'86153826':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
'86153825':{'en': 'Wenzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02')},
'86153823':{'en': 'Hangzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u676d\u5dde\u5e02')},
- '86153790':{'en': 'Lanzhou, Gansu', 'zh': u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
+ '86153822':{'en': 'Dalian, Liaoning', 'zh': u('\u8fbd\u5b81\u7701\u5927\u8fde\u5e02')},
'86155829':{'en': 'Yuncheng, Shanxi', 'zh': u('\u5c71\u897f\u7701\u8fd0\u57ce\u5e02')},
'861560946':{'en': 'Qingyang, Gansu', 'zh': u('\u7518\u8083\u7701\u5e86\u9633\u5e02')},
'861557020':{'en': 'Jiujiang, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u4e5d\u6c5f\u5e02')},
diff --git a/python/phonenumbers/geodata/data16.py b/python/phonenumbers/geodata/data16.py
index 6fa6d252..f679da13 100644
--- a/python/phonenumbers/geodata/data16.py
+++ b/python/phonenumbers/geodata/data16.py
@@ -6058,6 +6058,8 @@ data = {
'861565975':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861565976':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861565977':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
+ '861565971':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
+ '861565972':{'en': 'Quanzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6cc9\u5dde\u5e02')},
'861565973':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
'861586982':{'en': 'Chenzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u90f4\u5dde\u5e02')},
'861565978':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
@@ -7944,9 +7946,7 @@ data = {
'861568013':{'en': 'Mianyang, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u7ef5\u9633\u5e02')},
'86156606':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
'86156607':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
- '861588926':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588924':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
- '861588925':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588922':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588923':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588920':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
diff --git a/python/phonenumbers/geodata/data17.py b/python/phonenumbers/geodata/data17.py
index a88fb00f..9bddfde2 100644
--- a/python/phonenumbers/geodata/data17.py
+++ b/python/phonenumbers/geodata/data17.py
@@ -590,7 +590,6 @@ data = {
'861595558':{'en': 'Fuyang, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
'861700478':{'en': 'Hohhot, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u547c\u548c\u6d69\u7279\u5e02')},
'861700479':{'en': 'Hohhot, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u547c\u548c\u6d69\u7279\u5e02')},
- '86177083':{'en': 'Chongqing', 'zh': u('\u91cd\u5e86\u5e02')},
'86177081':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'86177080':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861700731':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
@@ -1314,8 +1313,9 @@ data = {
'861760837':{'en': 'Aba, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u963f\u575d\u85cf\u65cf\u7f8c\u65cf\u81ea\u6cbb\u5dde')},
'861588928':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588929':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
+ '861588926':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861588927':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
- '861707724':{'en': 'Ganzhou, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u8d63\u5dde\u5e02')},
+ '861588925':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861760383':{'en': 'Xinxiang, Henan', 'zh': u('\u6cb3\u5357\u7701\u65b0\u4e61\u5e02')},
'861590679':{'en': 'Jinhua, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u91d1\u534e\u5e02')},
'861590678':{'en': 'Lishui, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u4e3d\u6c34\u5e02')},
@@ -2302,7 +2302,6 @@ data = {
'861705262':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
'861705263':{'en': 'Changchun, Jilin', 'zh': u('\u5409\u6797\u7701\u957f\u6625\u5e02')},
'861596960':{'en': 'Liaocheng, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u804a\u57ce\u5e02')},
- '861770840':{'en': 'Chenzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u90f4\u5dde\u5e02')},
'861769622':{'en': 'Yuncheng, Shanxi', 'zh': u('\u5c71\u897f\u7701\u8fd0\u57ce\u5e02')},
'861708313':{'en': 'Tangshan, Hebei', 'zh': u('\u6cb3\u5317\u7701\u5510\u5c71\u5e02')},
'861769623':{'en': 'Xinzhou, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5ffb\u5dde\u5e02')},
@@ -4979,6 +4978,7 @@ data = {
'861596410':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
'861596413':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
'861596412':{'en': 'Jining, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5b81\u5e02')},
+ '861707724':{'en': 'Ganzhou, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u8d63\u5dde\u5e02')},
'861707639':{'en': 'Weifang, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6f4d\u574a\u5e02')},
'861707638':{'en': 'Weifang, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6f4d\u574a\u5e02')},
'861707635':{'en': 'Weifang, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6f4d\u574a\u5e02')},
diff --git a/python/phonenumbers/geodata/data18.py b/python/phonenumbers/geodata/data18.py
index 2b8c69f2..55c93d5d 100644
--- a/python/phonenumbers/geodata/data18.py
+++ b/python/phonenumbers/geodata/data18.py
@@ -560,6 +560,7 @@ data = {
'86177086':{'en': 'Foshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
'861781789':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
'861781788':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
+ '86177083':{'en': 'Chongqing', 'zh': u('\u91cd\u5e86\u5e02')},
'861781783':{'en': 'Maoming, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8302\u540d\u5e02')},
'861781782':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
'861781781':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
@@ -2446,6 +2447,7 @@ data = {
'861771351':{'en': 'Neijiang, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5185\u6c5f\u5e02')},
'861770848':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
'861770849':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
+ '861770840':{'en': 'Chenzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u90f4\u5dde\u5e02')},
'861770841':{'en': 'Chenzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u90f4\u5dde\u5e02')},
'861770842':{'en': 'Chenzhou, Hunan', 'zh': u('\u6e56\u5357\u7701\u90f4\u5dde\u5e02')},
'861770843':{'en': 'Changsha, Hunan', 'zh': u('\u6e56\u5357\u7701\u957f\u6c99\u5e02')},
@@ -8087,7 +8089,6 @@ data = {
'861806572':{'en': 'Zhangzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6f33\u5dde\u5e02')},
'861806573':{'en': 'Zhangzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6f33\u5dde\u5e02')},
'861804641':{'en': 'Fuzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u798f\u5dde\u5e02')},
- '861809535':{'en': 'Wuzhong, Ningxia', 'zh': u('\u5b81\u590f\u5434\u5fe0\u5e02')},
'861804038':{'en': 'Zigong, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u81ea\u8d21\u5e02')},
'861809484':{'en': 'Changji, Xinjiang', 'zh': u('\u65b0\u7586\u660c\u5409\u56de\u65cf\u81ea\u6cbb\u5dde')},
'861802347':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
@@ -8594,7 +8595,6 @@ data = {
'861800069':{'en': 'Qinhuangdao, Hebei', 'zh': u('\u6cb3\u5317\u7701\u79e6\u7687\u5c9b\u5e02')},
'861802160':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
'861804746':{'en': 'Ulanqab, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u4e4c\u5170\u5bdf\u5e03\u5e02')},
- '861809534':{'en': 'Wuzhong, Ningxia', 'zh': u('\u5b81\u590f\u5434\u5fe0\u5e02')},
'861804741':{'en': 'Ulanqab, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u4e4c\u5170\u5bdf\u5e03\u5e02')},
'861803449':{'en': 'Xingtai, Hebei', 'zh': u('\u6cb3\u5317\u7701\u90a2\u53f0\u5e02')},
'861803448':{'en': 'Hengshui, Hebei', 'zh': u('\u6cb3\u5317\u7701\u8861\u6c34\u5e02')},
diff --git a/python/phonenumbers/geodata/data19.py b/python/phonenumbers/geodata/data19.py
index e5ae5662..e2601b93 100644
--- a/python/phonenumbers/geodata/data19.py
+++ b/python/phonenumbers/geodata/data19.py
@@ -2087,7 +2087,6 @@ data = {
'86182830':{'en': 'Luzhou, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6cf8\u5dde\u5e02')},
'86182831':{'en': 'Yibin, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5b9c\u5bbe\u5e02')},
'861825020':{'en': 'Zhangzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6f33\u5dde\u5e02')},
- '861829716':{'en': 'Yushu, Qinghai', 'zh': u('\u9752\u6d77\u7701\u7389\u6811\u85cf\u65cf\u81ea\u6cbb\u5dde')},
'861822611':{'en': 'Bozhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
'861822610':{'en': 'Bozhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u4eb3\u5dde\u5e02')},
'861822617':{'en': 'Hefei, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5408\u80a5\u5e02')},
@@ -2398,6 +2397,8 @@ data = {
'861813461':{'en': 'Suzhou, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5bbf\u5dde\u5e02')},
'861813462':{'en': 'Fuyang, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
'861813463':{'en': 'Fuyang, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
+ '861809535':{'en': 'Wuzhong, Ningxia', 'zh': u('\u5b81\u590f\u5434\u5fe0\u5e02')},
+ '861809534':{'en': 'Wuzhong, Ningxia', 'zh': u('\u5b81\u590f\u5434\u5fe0\u5e02')},
'861809537':{'en': 'Guyuan, Ningxia', 'zh': u('\u5b81\u590f\u56fa\u539f\u5e02')},
'861809536':{'en': 'Guyuan, Ningxia', 'zh': u('\u5b81\u590f\u56fa\u539f\u5e02')},
'861816148':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
@@ -2596,7 +2597,6 @@ data = {
'861819668':{'en': 'Fuyang, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
'861819669':{'en': 'Fuyang, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u961c\u9633\u5e02')},
'861829258':{'en': 'Shangluo, Shaanxi', 'zh': u('\u9655\u897f\u7701\u5546\u6d1b\u5e02')},
- '861829717':{'en': 'Xining, Qinghai', 'zh': u('\u9752\u6d77\u7701\u897f\u5b81\u5e02')},
'861820808':{'en': 'Qamdo, Tibet', 'zh': u('\u897f\u85cf\u660c\u90fd\u5730\u533a')},
'861820809':{'en': 'Xigaze, Tibet', 'zh': u('\u897f\u85cf\u65e5\u5580\u5219\u5730\u533a')},
'861829259':{'en': 'Tongchuan, Shaanxi', 'zh': u('\u9655\u897f\u7701\u94dc\u5ddd\u5e02')},
@@ -6415,8 +6415,8 @@ data = {
'861818412':{'en': 'Zunyi, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9075\u4e49\u5e02')},
'861815133':{'en': 'Nantong, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u901a\u5e02')},
'861818414':{'en': 'Qiannan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
- '861818415':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
- '861818416':{'en': 'Tongren, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u94dc\u4ec1\u5730\u533a')},
+ '861815135':{'en': 'Xuzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02')},
+ '861815136':{'en': 'Suqian, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5bbf\u8fc1\u5e02')},
'861815137':{'en': 'Suqian, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5bbf\u8fc1\u5e02')},
'861815138':{'en': 'Yancheng, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u76d0\u57ce\u5e02')},
'861815139':{'en': 'Yancheng, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u76d0\u57ce\u5e02')},
@@ -8799,8 +8799,8 @@ data = {
'861815132':{'en': 'Nantong, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u901a\u5e02')},
'861818413':{'en': 'Anshun, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u5b89\u987a\u5e02')},
'861815134':{'en': 'Nantong, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u901a\u5e02')},
- '861815135':{'en': 'Xuzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02')},
- '861815136':{'en': 'Suqian, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5bbf\u8fc1\u5e02')},
+ '861818415':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
+ '861818416':{'en': 'Tongren, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u94dc\u4ec1\u5730\u533a')},
'861818417':{'en': 'Bijie, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u6bd5\u8282\u5730\u533a')},
'861819868':{'en': 'Qiannan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
'861818418':{'en': 'Liupanshui, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u516d\u76d8\u6c34\u5e02')},
diff --git a/python/phonenumbers/geodata/data2.py b/python/phonenumbers/geodata/data2.py
index 464d380e..be876d3a 100644
--- a/python/phonenumbers/geodata/data2.py
+++ b/python/phonenumbers/geodata/data2.py
@@ -2269,6 +2269,7 @@ data = {
'1817921':{'en': 'Fort Worth, TX'},
'1678445':{'en': 'Woodstock, GA'},
'1678442':{'en': 'Lawrenceville, GA'},
+ '1630293':{'en': 'West Chicago, IL'},
'1828497':{'en': 'Cherokee, NC'},
'1817923':{'en': 'Fort Worth, TX'},
'1828495':{'en': 'Hickory, NC'},
@@ -3101,7 +3102,6 @@ data = {
'1828689':{'en': 'Mars Hill, NC'},
'1705368':{'en': 'Little Current, ON'},
'1831751':{'en': 'Salinas, CA'},
- '1850244':{'en': 'Fort Walton Bch, FL'},
'1847837':{'en': 'Mundelein, IL'},
'1850243':{'en': 'Fort Walton Bch, FL'},
'1708216':{'en': 'Maywood, IL'},
@@ -3160,6 +3160,7 @@ data = {
'1651480':{'en': 'Hastings, MN'},
'1847473':{'en': 'North Chicago, IL'},
'1830755':{'en': 'Boerne, TX'},
+ '1617489':{'en': 'Belmont, MA'},
'1650578':{'en': 'San Mateo, CA'},
'1660947':{'en': 'Unionville, MO'},
'1650571':{'en': 'San Mateo, CA'},
@@ -5017,7 +5018,7 @@ data = {
'1845632':{'en': 'Wappingers Falls, NY'},
'1641672':{'en': 'Oskaloosa, IA'},
'1641673':{'en': 'Oskaloosa, IA'},
- '1630293':{'en': 'West Chicago, IL'},
+ '1641932':{'en': 'Albia, IA'},
'1705799':{'en': 'Omemee, ON'},
'1705792':{'en': 'Barrie, ON'},
'1705797':{'en': 'Barrie, ON'},
@@ -8975,7 +8976,6 @@ data = {
'1778475':{'en': 'Vernon, BC'},
'1845331':{'en': 'Kingston, NY'},
'1778476':{'en': 'Penticton, BC'},
- '1641932':{'en': 'Albia, IA'},
'1651385':{'en': 'Red Wing, MN'},
'1651439':{'en': 'Stillwater, MN'},
'1651438':{'en': 'Hastings, MN'},
diff --git a/python/phonenumbers/geodata/data20.py b/python/phonenumbers/geodata/data20.py
index b5f6414a..d2504890 100644
--- a/python/phonenumbers/geodata/data20.py
+++ b/python/phonenumbers/geodata/data20.py
@@ -362,7 +362,8 @@ data = {
'861850728':{'en': 'Shiyan, Hubei', 'zh': u('\u6e56\u5317\u7701\u5341\u5830\u5e02')},
'861829719':{'en': 'Xining, Qinghai', 'zh': u('\u9752\u6d77\u7701\u897f\u5b81\u5e02')},
'861829718':{'en': 'Xining, Qinghai', 'zh': u('\u9752\u6d77\u7701\u897f\u5b81\u5e02')},
- '861853868':{'en': 'Zhoukou, Henan', 'zh': u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
+ '861829717':{'en': 'Xining, Qinghai', 'zh': u('\u9752\u6d77\u7701\u897f\u5b81\u5e02')},
+ '861829716':{'en': 'Yushu, Qinghai', 'zh': u('\u9752\u6d77\u7701\u7389\u6811\u85cf\u65cf\u81ea\u6cbb\u5dde')},
'861853869':{'en': 'Pingdingshan, Henan', 'zh': u('\u6cb3\u5357\u7701\u5e73\u9876\u5c71\u5e02')},
'86183619':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
'86183611':{'en': 'Yancheng, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u76d0\u57ce\u5e02')},
@@ -4583,9 +4584,7 @@ data = {
'861847622':{'en': 'Heyuan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6cb3\u6e90\u5e02')},
'86184344':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861847620':{'en': 'Guangzhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02')},
- '861858195':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861858194':{'en': 'Zigong, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u81ea\u8d21\u5e02')},
- '861858196':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861858191':{'en': 'Zigong, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u81ea\u8d21\u5e02')},
'861858190':{'en': 'Zigong, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u81ea\u8d21\u5e02')},
'861847629':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
@@ -6424,7 +6423,7 @@ data = {
'861857562':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
'861857565':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
'861857564':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
- '861857567':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
+ '861853868':{'en': 'Zhoukou, Henan', 'zh': u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
'861857566':{'en': 'Zhuhai, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u73e0\u6d77\u5e02')},
'861856728':{'en': 'Nanyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
'861856729':{'en': 'Nanyang, Henan', 'zh': u('\u6cb3\u5357\u7701\u5357\u9633\u5e02')},
@@ -9503,6 +9502,7 @@ data = {
'861839142':{'en': 'Yulin, Shaanxi', 'zh': u('\u9655\u897f\u7701\u6986\u6797\u5e02')},
'861839141':{'en': 'YanAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u5ef6\u5b89\u5e02')},
'861839140':{'en': 'Xianyang, Shaanxi', 'zh': u('\u9655\u897f\u7701\u54b8\u9633\u5e02')},
+ '861857567':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861854542':{'en': 'Jiamusi, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u4f73\u6728\u65af\u5e02')},
'861854543':{'en': 'Jiamusi, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u4f73\u6728\u65af\u5e02')},
'861854540':{'en': 'Jiamusi, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u4f73\u6728\u65af\u5e02')},
diff --git a/python/phonenumbers/geodata/data21.py b/python/phonenumbers/geodata/data21.py
index 54075605..574c0a78 100644
--- a/python/phonenumbers/geodata/data21.py
+++ b/python/phonenumbers/geodata/data21.py
@@ -1545,7 +1545,6 @@ data = {
'86187271':{'en': 'Xiangfan, Hubei', 'zh': u('\u6e56\u5317\u7701\u8944\u6a0a\u5e02')},
'86187270':{'en': 'Xiangfan, Hubei', 'zh': u('\u6e56\u5317\u7701\u8944\u6a0a\u5e02')},
'86187552':{'en': 'Bengbu, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u868c\u57e0\u5e02')},
- '861880450':{'en': 'Harbin, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u54c8\u5c14\u6ee8\u5e02')},
'861860387':{'en': 'Zhoukou, Henan', 'zh': u('\u6cb3\u5357\u7701\u5468\u53e3\u5e02')},
'861860386':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
'861860385':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
@@ -3872,7 +3871,6 @@ data = {
'861877178':{'en': 'Yichang, Hubei', 'zh': u('\u6e56\u5317\u7701\u5b9c\u660c\u5e02')},
'861877179':{'en': 'Yichang, Hubei', 'zh': u('\u6e56\u5317\u7701\u5b9c\u660c\u5e02')},
'861871533':{'en': 'Wuhu, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u829c\u6e56\u5e02')},
- '86188044':{'en': 'Songyuan, Jilin', 'zh': u('\u5409\u6797\u7701\u677e\u539f\u5e02')},
'861863995':{'en': 'Zhumadian, Henan', 'zh': u('\u6cb3\u5357\u7701\u9a7b\u9a6c\u5e97\u5e02')},
'861866576':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
'861866577':{'en': 'Zhanjiang, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02')},
@@ -4422,6 +4420,7 @@ data = {
'861868801':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861858199':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861868774':{'en': 'Yuxi, Yunnan', 'zh': u('\u4e91\u5357\u7701\u7389\u6eaa\u5e02')},
+ '861858195':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861858197':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861868775':{'en': 'Yuxi, Yunnan', 'zh': u('\u4e91\u5357\u7701\u7389\u6eaa\u5e02')},
'861872979':{'en': 'Tongchuan, Shaanxi', 'zh': u('\u9655\u897f\u7701\u94dc\u5ddd\u5e02')},
@@ -6752,6 +6751,7 @@ data = {
'861874486':{'en': 'Tongren, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u94dc\u4ec1\u5730\u533a')},
'861874481':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
'861874480':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
+ '861858196':{'en': 'Chengdu, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u6210\u90fd\u5e02')},
'861874483':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
'861874482':{'en': 'Qiandongnan, Guizhou', 'zh': u('\u8d35\u5dde\u7701\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde')},
'861879907':{'en': 'Shihezi, Xinjiang', 'zh': u('\u65b0\u7586\u77f3\u6cb3\u5b50\u5e02')},
diff --git a/python/phonenumbers/geodata/data22.py b/python/phonenumbers/geodata/data22.py
index d58210e9..fd4d80e7 100644
--- a/python/phonenumbers/geodata/data22.py
+++ b/python/phonenumbers/geodata/data22.py
@@ -795,6 +795,7 @@ data = {
'861889213':{'en': 'Weinan, Shaanxi', 'zh': u('\u9655\u897f\u7701\u6e2d\u5357\u5e02')},
'86874':{'en': 'Qujing, Yunnan', 'zh': u('\u4e91\u5357\u7701\u66f2\u9756\u5e02')},
'913756':{'en': 'Sadiya, Assam'},
+ '86188044':{'en': 'Songyuan, Jilin', 'zh': u('\u5409\u6797\u7701\u677e\u539f\u5e02')},
'861895249':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
'861898708':{'en': 'Dali, Yunnan', 'zh': u('\u4e91\u5357\u7701\u5927\u7406\u767d\u65cf\u81ea\u6cbb\u5dde')},
'861898709':{'en': 'Kunming, Yunnan', 'zh': u('\u4e91\u5357\u7701\u6606\u660e\u5e02')},
@@ -2144,7 +2145,6 @@ data = {
'861894698':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'861894699':{'en': 'Shantou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6c55\u5934\u5e02')},
'913788':{'en': 'Kolaring, Arunachal Pradesh'},
- '913789':{'en': 'Huri, Arunachal Pradesh'},
'913786':{'en': 'Khonsa, Arunachal Pradesh'},
'913787':{'en': 'Seppa, Arunachal Pradesh'},
'913784':{'en': 'Nefra, Arunachal Pradesh'},
@@ -2402,7 +2402,7 @@ data = {
'861890345':{'en': 'Changzhi, Shanxi', 'zh': u('\u5c71\u897f\u7701\u957f\u6cbb\u5e02')},
'861890346':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861890347':{'en': 'Linfen, Shanxi', 'zh': u('\u5c71\u897f\u7701\u4e34\u6c7e\u5e02')},
- '861890340':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
+ '861890436':{'en': 'Baicheng, Jilin', 'zh': u('\u5409\u6797\u7701\u767d\u57ce\u5e02')},
'861890341':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861890342':{'en': 'Datong, Shanxi', 'zh': u('\u5c71\u897f\u7701\u5927\u540c\u5e02')},
'861890343':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
@@ -5114,7 +5114,7 @@ data = {
'861890430':{'en': 'Changchun, Jilin', 'zh': u('\u5409\u6797\u7701\u957f\u6625\u5e02')},
'861890431':{'en': 'Changchun, Jilin', 'zh': u('\u5409\u6797\u7701\u957f\u6625\u5e02')},
'861894485':{'en': 'Suqian, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5bbf\u8fc1\u5e02')},
- '861890436':{'en': 'Baicheng, Jilin', 'zh': u('\u5409\u6797\u7701\u767d\u57ce\u5e02')},
+ '861890340':{'en': 'Taiyuan, Shanxi', 'zh': u('\u5c71\u897f\u7701\u592a\u539f\u5e02')},
'861890437':{'en': 'Liaoyuan, Jilin', 'zh': u('\u5409\u6797\u7701\u8fbd\u6e90\u5e02')},
'861899777':{'en': 'Bortala, Xinjiang', 'zh': u('\u65b0\u7586\u535a\u5c14\u5854\u62c9\u8499\u53e4\u81ea\u6cbb\u5dde')},
'861890434':{'en': 'Siping, Jilin', 'zh': u('\u5409\u6797\u7701\u56db\u5e73\u5e02')},
@@ -5134,6 +5134,7 @@ data = {
'861892263':{'en': 'Zhaoqing, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02')},
'861892262':{'en': 'Zhaoqing, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02')},
'861880451':{'en': 'Harbin, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u54c8\u5c14\u6ee8\u5e02')},
+ '861880450':{'en': 'Harbin, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u54c8\u5c14\u6ee8\u5e02')},
'861880453':{'en': 'Mudanjiang, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u7261\u4e39\u6c5f\u5e02')},
'861880452':{'en': 'Qiqihar, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u9f50\u9f50\u54c8\u5c14\u5e02')},
'861880455':{'en': 'Suihua, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u7ee5\u5316\u5e02')},
@@ -7285,7 +7286,6 @@ data = {
'861899179':{'en': 'YanAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u5ef6\u5b89\u5e02')},
'861897562':{'en': 'Changde, Hunan', 'zh': u('\u6e56\u5357\u7701\u5e38\u5fb7\u5e02')},
'861893296':{'en': 'Xingtai, Hebei', 'zh': u('\u6cb3\u5317\u7701\u90a2\u53f0\u5e02')},
- '913790':{'en': 'Tali, Arunachal Pradesh'},
'861893298':{'en': 'Tangshan, Hebei', 'zh': u('\u6cb3\u5317\u7701\u5510\u5c71\u5e02')},
'86188779':{'en': 'Beihai, Guangxi', 'zh': u('\u5e7f\u897f\u5317\u6d77\u5e02')},
'86188778':{'en': 'Hechi, Guangxi', 'zh': u('\u5e7f\u897f\u6cb3\u6c60\u5e02')},
diff --git a/python/phonenumbers/geodata/data23.py b/python/phonenumbers/geodata/data23.py
index c3ec9ed7..180bfba3 100644
--- a/python/phonenumbers/geodata/data23.py
+++ b/python/phonenumbers/geodata/data23.py
@@ -37,7 +37,7 @@ data = {
'913797':{'en': 'Pangin, Arunachal Pradesh'},
'916324':{'en': 'Nawada, Bihar'},
'913791':{'en': 'Taliha, Arunachal Pradesh'},
- '916322':{'en': 'Wazirganj, Bihar'},
+ '913790':{'en': 'Tali, Arunachal Pradesh'},
'913793':{'en': 'Mechuka, Arunachal Pradesh'},
'913792':{'en': 'Daporizo, Arunachal Pradesh'},
'918813':{'en': 'Eluru Kovvur/Nidadavolu, Andhra Pradesh'},
@@ -72,6 +72,7 @@ data = {
'9942425':{'en': 'Gakh'},
'9942424':{'en': 'Shaki'},
'9942427':{'en': 'Mingachevir'},
+ '916322':{'en': 'Wazirganj, Bihar'},
'962324':{'en': 'Aqaba'},
'962325':{'en': 'Maan'},
'962327':{'en': 'Karak'},
@@ -1230,6 +1231,7 @@ data = {
'917801':{'en': 'Deosar, Madhya Pradesh'},
'917803':{'en': 'Majholi, Madhya Pradesh'},
'917431':{'en': 'Aklera, Rajasthan'},
+ '913789':{'en': 'Huri, Arunachal Pradesh'},
'915172':{'en': 'Mehraun, Uttar Pradesh'},
'915171':{'en': 'Garauth, Uttar Pradesh'},
'915170':{'en': 'Chirgaon/Moth, Uttar Pradesh'},
diff --git a/python/phonenumbers/geodata/data3.py b/python/phonenumbers/geodata/data3.py
index df6cf2b7..7e4d83c8 100644
--- a/python/phonenumbers/geodata/data3.py
+++ b/python/phonenumbers/geodata/data3.py
@@ -3062,6 +3062,7 @@ data = {
'264625731':{'en': 'Nina'},
'264625733':{'en': 'Nouas'},
'3314170':{'en': 'Montfermeil', 'fr': 'Montfermeil'},
+ '1850244':{'en': 'Fort Walton Bch, FL'},
'1904394':{'en': 'Jacksonville, FL'},
'1904396':{'en': 'Jacksonville, FL'},
'1904399':{'en': 'Jacksonville, FL'},
@@ -7345,7 +7346,6 @@ data = {
'1928763':{'en': 'Bullhead City, AZ'},
'1913596':{'en': 'Kansas City, KS'},
'1928764':{'en': 'Lake Havasu City, AZ'},
- '3315360':{'en': 'Paris', 'fr': 'Paris'},
'3314604':{'en': 'Boulogne-Billancourt', 'fr': 'Boulogne-Billancourt'},
'1913621':{'en': 'Kansas City, KS'},
'1937454':{'en': 'Dayton, OH'},
diff --git a/python/phonenumbers/geodata/data4.py b/python/phonenumbers/geodata/data4.py
index b3bc9cc2..368b38a3 100644
--- a/python/phonenumbers/geodata/data4.py
+++ b/python/phonenumbers/geodata/data4.py
@@ -2408,16 +2408,16 @@ data = {
'35993212':{'bg': u('\u041a\u0430\u0440\u0431\u0438\u043d\u0446\u0438'), 'en': 'Karbintsi'},
'435272':{'de': 'Steinach am Brenner', 'en': 'Steinach am Brenner'},
'3359094':{'en': 'Petit Bourg', 'fr': 'Petit Bourg'},
- '35827':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35827':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'3359097':{'en': 'Grand-Bourg', 'fr': 'Grand-Bourg'},
'3359090':{'en': u('Pointe-\u00e0-Pitre'), 'fr': u('Pointe-\u00e0-Pitre')},
'3359091':{'en': 'Les Abymes', 'fr': 'Les Abymes'},
'3359092':{'en': 'Trois Rivieres', 'fr': 'Trois Rivieres'},
- '35826':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35826':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'3359098':{'en': 'Vieux Habitants', 'fr': 'Vieux Habitants'},
'3359099':{'en': 'Basse Terre', 'fr': 'Basse Terre'},
- '35824':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
- '35823':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35824':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35823':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'3344295':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
'437448':{'de': 'Kematen an der Ybbs', 'en': 'Kematen an der Ybbs'},
'3344296':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
@@ -3034,14 +3034,14 @@ data = {
'3598149':{'bg': u('\u041a\u0430\u0446\u0435\u043b\u043e\u0432\u043e'), 'en': 'Katselovo'},
'3598148':{'bg': u('\u0413\u043e\u0440\u043d\u043e \u0410\u0431\u043b\u0430\u043d\u043e\u0432\u043e'), 'en': 'Gorno Ablanovo'},
'3599117':{'bg': u('\u041a\u0440\u0438\u0432\u043e\u0434\u043e\u043b'), 'en': 'Krivodol'},
- '35863':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35862':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35861':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35867':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35866':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35865':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35864':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
- '35868':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa'},
+ '35863':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35862':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35861':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35867':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35866':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35865':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35864':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
+ '35868':{'en': 'Vaasa', 'fi': 'Vaasa', 'se': 'Vasa', 'sv': 'Vasa'},
'3336978':{'en': 'Strasbourg', 'fr': 'Strasbourg'},
'3347702':{'en': u('Andr\u00e9zieux-Bouth\u00e9on'), 'fr': u('Andr\u00e9zieux-Bouth\u00e9on')},
'3347701':{'en': u('Saint-\u00c9tienne'), 'fr': u('Saint-\u00c9tienne')},
@@ -3770,16 +3770,16 @@ data = {
'3597439':{'bg': u('\u041f\u043b\u043e\u0441\u043a\u0438'), 'en': 'Ploski'},
'3344290':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
'3344291':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
- '35825':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35825':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'3344293':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
'3344294':{'en': 'Bouc-Bel-air', 'fr': 'Bouc-Bel-air'},
- '35822':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
- '35821':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35822':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35821':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'3344297':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
'3344298':{'en': 'La Ciotat', 'fr': 'La Ciotat'},
'3344299':{'en': 'Aix-en-Provence', 'fr': 'Aix-en-Provence'},
'3324000':{'en': 'Saint-Nazaire', 'fr': 'Saint-Nazaire'},
- '35828':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg')},
+ '35828':{'en': 'Turku/Pori', 'fi': 'Turku/Pori', 'se': u('\u00c5bo/Bj\u00f6rneborg'), 'sv': u('\u00c5bo/Bj\u00f6rneborg')},
'4413872':{'en': 'Dumfries'},
'435418':{'de': u('Sch\u00f6nwies'), 'en': u('Sch\u00f6nwies')},
'4413870':{'en': 'Dumfries'},
@@ -4768,16 +4768,16 @@ data = {
'3324728':{'en': u('Chambray-l\u00e8s-Tours'), 'fr': u('Chambray-l\u00e8s-Tours')},
'3324016':{'en': 'Nantes', 'fr': 'Nantes'},
'435214':{'de': 'Leutasch', 'en': 'Leutasch'},
- '35881':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
+ '35881':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
'3356199':{'en': 'Toulouse', 'fr': 'Toulouse'},
- '35883':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
- '35882':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
- '35885':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
- '35884':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
- '35887':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
- '35886':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
+ '35883':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
+ '35882':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
+ '35885':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
+ '35884':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
+ '35887':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
+ '35886':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
'3315595':{'en': 'Issy-les-Moulineaux', 'fr': 'Issy-les-Moulineaux'},
- '35888':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg')},
+ '35888':{'en': 'Oulu', 'fi': 'Oulu', 'se': u('Ule\u00e5borg'), 'sv': u('Ule\u00e5borg')},
'3356192':{'en': 'Cugnaux', 'fr': 'Cugnaux'},
'3315596':{'en': u('Saint-Maur-des-Foss\u00e9s'), 'fr': u('Saint-Maur-des-Foss\u00e9s')},
'3356195':{'en': 'Saint-Gaudens', 'fr': 'Saint-Gaudens'},
@@ -5033,6 +5033,7 @@ data = {
'373216':{'en': 'Camenca', 'ro': 'Camenca', 'ru': u('\u041a\u0430\u043c\u0435\u043d\u043a\u0430')},
'3315362':{'en': 'Paris', 'fr': 'Paris'},
'3315363':{'en': 'Paris', 'fr': 'Paris'},
+ '3315360':{'en': 'Paris', 'fr': 'Paris'},
'3315361':{'en': 'Paris', 'fr': 'Paris'},
'3315366':{'en': 'Vincennes', 'fr': 'Vincennes'},
'3315367':{'en': 'Paris', 'fr': 'Paris'},
@@ -7167,14 +7168,14 @@ data = {
'3597192':{'bg': u('\u0413\u0438\u043d\u0446\u0438'), 'en': 'Gintsi'},
'390924':{'en': 'Trapani', 'it': 'Alcamo'},
'3595114':{'bg': u('\u0415\u0437\u0435\u0440\u043e\u0432\u043e, \u0412\u0430\u0440\u043d\u0430'), 'en': 'Ezerovo, Varna'},
- '35857':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
- '35854':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
- '35855':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
+ '35857':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
+ '35854':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
+ '35855':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
'35984774':{'bg': u('\u0413\u043e\u043b\u044f\u043c \u0438\u0437\u0432\u043e\u0440, \u0420\u0430\u0437\u0433\u0440\u0430\u0434'), 'en': 'Golyam izvor, Razgrad'},
'35984776':{'bg': u('\u0425\u044a\u0440\u0441\u043e\u0432\u043e, \u0420\u0430\u0437\u0433\u0440\u0430\u0434'), 'en': 'Harsovo, Razgrad'},
'35984779':{'bg': u('\u0417\u0434\u0440\u0430\u0432\u0435\u0446, \u0420\u0430\u0437\u0433\u0440\u0430\u0434'), 'en': 'Zdravets, Razgrad'},
- '35852':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
- '35853':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
+ '35852':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
+ '35853':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
'3329705':{'en': u('Qu\u00e9ven'), 'fr': u('Qu\u00e9ven')},
'3329702':{'en': 'Guidel', 'fr': 'Guidel'},
'3354569':{'en': 'Champniers', 'fr': 'Champniers'},
@@ -7440,7 +7441,6 @@ data = {
'3594777':{'bg': u('\u0422\u0435\u043d\u0435\u0432\u043e'), 'en': 'Tenevo'},
'3594778':{'bg': u('\u041f\u043e\u0431\u0435\u0434\u0430, \u042f\u043c\u0431\u043e\u043b'), 'en': 'Pobeda, Yambol'},
'3594779':{'bg': u('\u0425\u0430\u043d\u043e\u0432\u043e'), 'en': 'Hanovo'},
- '4418513':{'en': 'Stornoway'},
'432143':{'de': 'Kittsee', 'en': 'Kittsee'},
'3348695':{'en': 'Marseille', 'fr': 'Marseille'},
'3355558':{'en': 'Nexon', 'fr': 'Nexon'},
@@ -7837,19 +7837,19 @@ data = {
'4413392':{'en': 'Aboyne'},
'4413391':{'en': 'Aboyne/Ballater'},
'4413390':{'en': 'Aboyne/Ballater'},
- '35856':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
+ '35856':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
'35321':{'en': 'Cork/Kinsale/Coachford'},
'35322':{'en': 'Mallow'},
'35323':{'en': 'Bandon'},
'35324':{'en': 'Youghal'},
'35325':{'en': 'Fermoy'},
'35326':{'en': 'Macroom'},
- '35851':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
+ '35851':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
'3315546':{'en': 'Clichy', 'fr': 'Clichy'},
'35329':{'en': 'Kanturk'},
'3315542':{'en': 'Paris', 'fr': 'Paris'},
'3315543':{'en': 'Paris', 'fr': 'Paris'},
- '35858':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene'},
+ '35858':{'en': 'Kymi', 'fi': 'Kymi', 'se': 'Kymmene', 'sv': 'Kymmene'},
'361':{'en': 'Budapest', 'hu': 'Budapest'},
'436432':{'de': 'Bad Hofgastein', 'en': 'Bad Hofgastein'},
'436433':{'de': 'Dorfgastein', 'en': 'Dorfgastein'},
@@ -8553,13 +8553,13 @@ data = {
'3344289':{'en': 'Vitrolles', 'fr': 'Vitrolles'},
'3344288':{'en': 'Marignane', 'fr': 'Marignane'},
'3347224':{'en': 'Givors', 'fr': 'Givors'},
- '35818':{'en': u('\u00c5land Islands'), 'fi': 'Ahvenanmaa', 'se': u('\u00c5land')},
- '35819':{'en': 'Nylandia', 'fi': 'Uusimaa', 'se': 'Nyland'},
- '35813':{'en': 'North Karelia', 'fi': 'Pohjois-Karjala', 'se': 'Norra Karelen'},
- '35816':{'en': 'Lapland', 'fi': 'Lappi', 'se': 'Lappland'},
- '35817':{'en': 'Kuopio', 'fi': 'Kuopio', 'se': 'Kuopio'},
- '35814':{'en': 'Central Finland', 'fi': 'Keski-Suomi', 'se': 'Mellersta Finland'},
- '35815':{'en': 'Mikkeli', 'fi': 'Mikkeli', 'se': 'St Michel'},
+ '35818':{'en': u('\u00c5land Islands'), 'fi': 'Ahvenanmaa', 'se': u('\u00c5land'), 'sv': u('\u00c5land')},
+ '35819':{'en': 'Nylandia', 'fi': 'Uusimaa', 'se': 'Nyland', 'sv': 'Nyland'},
+ '35813':{'en': 'North Karelia', 'fi': 'Pohjois-Karjala', 'se': 'Norra Karelen', 'sv': 'Norra Karelen'},
+ '35816':{'en': 'Lapland', 'fi': 'Lappi', 'se': 'Lappland', 'sv': 'Lappland'},
+ '35817':{'en': 'Kuopio', 'fi': 'Kuopio', 'se': 'Kuopio', 'sv': 'Kuopio'},
+ '35814':{'en': 'Central Finland', 'fi': 'Keski-Suomi', 'se': 'Mellersta Finland', 'sv': 'Mellersta Finland'},
+ '35815':{'en': 'Mikkeli', 'fi': 'Mikkeli', 'se': 'St Michel', 'sv': 'St Michel'},
'3347220':{'en': 'Lyon', 'fr': 'Lyon'},
'3347593':{'en': 'Aubenas', 'fr': 'Aubenas'},
'331820':{'en': 'Paris', 'fr': 'Paris'},
@@ -8906,14 +8906,14 @@ data = {
'3338252':{'en': 'Audun-le-Tiche', 'fr': 'Audun-le-Tiche'},
'3338251':{'en': 'Thionville', 'fr': 'Thionville'},
'3598117':{'bg': u('\u041c\u0430\u0440\u0442\u0435\u043d'), 'en': 'Marten'},
- '35831':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35832':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35833':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35834':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35835':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35836':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35837':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
- '35838':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland'},
+ '35831':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35832':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35833':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35834':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35835':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35836':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35837':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
+ '35838':{'en': 'Tavastia', 'fi': u('H\u00e4me'), 'se': 'Tavastland', 'sv': 'Tavastland'},
'3597152':{'bg': u('\u0413\u043e\u0440\u043d\u0430 \u041c\u0430\u043b\u0438\u043d\u0430'), 'en': 'Gorna Malina'},
'35954':{'bg': u('\u0428\u0443\u043c\u0435\u043d'), 'en': 'Shumen'},
'35984469':{'bg': u('\u0411\u043e\u0436\u0443\u0440\u043e\u0432\u043e, \u0420\u0430\u0437\u0433\u0440\u0430\u0434'), 'en': 'Bozhurovo, Razgrad'},
@@ -9991,14 +9991,14 @@ data = {
'3338239':{'en': 'Longuyon', 'fr': 'Longuyon'},
'3338234':{'en': 'Thionville', 'fr': 'Thionville'},
'3338233':{'en': 'Jarny', 'fr': 'Jarny'},
- '35892':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35893':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35891':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35896':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35897':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35894':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35895':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
- '35898':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors'},
+ '35892':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35893':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35891':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35896':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35897':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35894':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35895':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
+ '35898':{'en': 'Helsinki', 'fi': 'Helsinki', 'se': 'Helsingfors', 'sv': 'Helsingfors'},
'3315586':{'en': 'Montreuil', 'fr': 'Montreuil'},
'3315587':{'en': 'Saint-Denis', 'fr': 'Saint-Denis'},
'3315585':{'en': 'Noisy-le-Grand', 'fr': 'Noisy-le-Grand'},
diff --git a/python/phonenumbers/geodata/data5.py b/python/phonenumbers/geodata/data5.py
index 5fa8360e..763d0e17 100644
--- a/python/phonenumbers/geodata/data5.py
+++ b/python/phonenumbers/geodata/data5.py
@@ -1303,6 +1303,7 @@ data = {
'4418518':{'en': 'Stornoway'},
'4418519':{'en': 'Great Bernera'},
'4856':{'en': u('Toru\u0144'), 'pl': u('Toru\u0144')},
+ '4418513':{'en': 'Stornoway'},
'4418514':{'en': 'Great Bernera'},
'4418515':{'en': 'Stornoway'},
'4418516':{'en': 'Great Bernera'},
@@ -1527,7 +1528,6 @@ data = {
'542982':{'en': 'Claromeco, Buenos Aires', 'es': 'Claromeco, Buenos Aires'},
'55173346':{'en': 'Bebedouro - SP', 'pt': 'Bebedouro - SP'},
'55173347':{'en': 'Jaborandi - SP', 'pt': 'Jaborandi - SP'},
- '55193731':{'en': 'Campinas - SP', 'pt': 'Campinas - SP'},
'55113603':{'en': 'Osasco - SP', 'pt': 'Osasco - SP'},
'55113602':{'en': 'Osasco - SP', 'pt': 'Osasco - SP'},
'55113601':{'en': 'Osasco - SP', 'pt': 'Osasco - SP'},
diff --git a/python/phonenumbers/geodata/data6.py b/python/phonenumbers/geodata/data6.py
index c4165cf1..767400d5 100644
--- a/python/phonenumbers/geodata/data6.py
+++ b/python/phonenumbers/geodata/data6.py
@@ -1557,6 +1557,7 @@ data = {
'55193734':{'en': 'Campinas - SP', 'pt': 'Campinas - SP'},
'55193733':{'en': 'Campinas - SP', 'pt': 'Campinas - SP'},
'55193732':{'en': 'Campinas - SP', 'pt': 'Campinas - SP'},
+ '55193731':{'en': 'Campinas - SP', 'pt': 'Campinas - SP'},
'55833421':{'en': 'Patos - PB', 'pt': 'Patos - PB'},
'55833426':{'en': 'Emas - PB', 'pt': 'Emas - PB'},
'55223723':{'en': u('Maca\u00e9 - RJ'), 'pt': u('Maca\u00e9 - RJ')},
@@ -8601,7 +8602,6 @@ data = {
'55753439':{'en': 'Ribeira do Amparo - BA', 'pt': 'Ribeira do Amparo - BA'},
'55863343':{'en': 'Piracuruca - PI', 'pt': 'Piracuruca - PI'},
'55863340':{'en': u('Matias Ol\u00edmpio - PI'), 'pt': u('Matias Ol\u00edmpio - PI')},
- '55863346':{'en': u('S\u00e3o Jos\u00e9 do Divino - PI'), 'pt': u('S\u00e3o Jos\u00e9 do Divino - PI')},
'55863345':{'en': u('S\u00e3o Jo\u00e3o da Fronteira - PI'), 'pt': u('S\u00e3o Jo\u00e3o da Fronteira - PI')},
'55773682':{'en': u('Iui\u00fa - BA'), 'pt': u('Iui\u00fa - BA')},
'55833447':{'en': u('Bel\u00e9m do Brejo do Cruz - PB'), 'pt': u('Bel\u00e9m do Brejo do Cruz - PB')},
diff --git a/python/phonenumbers/geodata/data7.py b/python/phonenumbers/geodata/data7.py
index 5f29b9c1..172c2fac 100644
--- a/python/phonenumbers/geodata/data7.py
+++ b/python/phonenumbers/geodata/data7.py
@@ -2463,6 +2463,7 @@ data = {
'861303644':{'en': 'Meishan, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u7709\u5c71\u5e02')},
'7385':{'en': 'Altai Territory'},
'861309285':{'en': 'Dazhou, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u8fbe\u5dde\u5e02')},
+ '861304609':{'en': 'Zibo, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02')},
'815392':{'en': 'Hamamatsu, Shizuoka', 'ja': u('\u6d5c\u677e')},
'815393':{'en': 'Hamamatsu, Shizuoka', 'ja': u('\u6d5c\u677e')},
'815394':{'en': 'Hamamatsu, Shizuoka', 'ja': u('\u6d5c\u677e')},
@@ -6499,7 +6500,7 @@ data = {
'77273':{'en': 'Almaty', 'ru': u('\u0410\u043b\u043c\u0430-\u0410\u0442\u0430')},
'861308673':{'en': 'Guilin, Guangxi', 'zh': u('\u5e7f\u897f\u6842\u6797\u5e02')},
'861305545':{'en': 'Zhangzhou, Fujian', 'zh': u('\u798f\u5efa\u7701\u6f33\u5dde\u5e02')},
- '861304609':{'en': 'Zibo, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02')},
+ '77279':{'en': 'Almaty', 'ru': u('\u0410\u043b\u043c\u0430\u0442\u044b')},
'861300935':{'en': 'Jinzhou, Liaoning', 'zh': u('\u8fbd\u5b81\u7701\u9526\u5dde\u5e02')},
'861305949':{'en': 'Zhaoqing, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02')},
'5587':{'en': 'Pernambuco', 'pt': 'Pernambuco'},
@@ -8242,10 +8243,8 @@ data = {
'8467':{'en': 'Dong Thap province', 'vi': u('\u0110\u1ed3ng Th\u00e1p')},
'8464':{'en': 'Ba Ria-Vung Tau province', 'vi': u('B\u00e0 R\u1ecba-V\u0169ng T\u00e0u')},
'8468':{'en': 'Ninh Thuan province', 'vi': u('Ninh Thu\u1eadn')},
- '861309776':{'en': 'Baise, Guangxi', 'zh': u('\u5e7f\u897f\u767e\u8272\u5e02')},
'861309585':{'en': 'Huzhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02')},
'861309774':{'en': 'Wuzhou, Guangxi', 'zh': u('\u5e7f\u897f\u68a7\u5dde\u5e02')},
- '861309775':{'en': 'Yulin, Guangxi', 'zh': u('\u5e7f\u897f\u7389\u6797\u5e02')},
'861309772':{'en': 'Liuzhou, Guangxi', 'zh': u('\u5e7f\u897f\u67f3\u5dde\u5e02')},
'861309773':{'en': 'Guilin, Guangxi', 'zh': u('\u5e7f\u897f\u6842\u6797\u5e02')},
'861309770':{'en': 'Fangchenggang, Guangxi', 'zh': u('\u5e7f\u897f\u9632\u57ce\u6e2f\u5e02')},
@@ -8614,6 +8613,7 @@ data = {
'861300288':{'en': 'Yibin, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5b9c\u5bbe\u5e02')},
'861304678':{'en': 'Nantong, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u901a\u5e02')},
'861309174':{'en': 'Da Hinggan Ling, Heilongjiang', 'zh': u('\u9ed1\u9f99\u6c5f\u7701\u5927\u5174\u5b89\u5cad\u5730\u533a')},
+ '55863346':{'en': u('S\u00e3o Jos\u00e9 do Divino - PI'), 'pt': u('S\u00e3o Jos\u00e9 do Divino - PI')},
'55863347':{'en': 'Batalha - PI', 'pt': 'Batalha - PI'},
'861304679':{'en': 'Suqian, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5bbf\u8fc1\u5e02')},
'55893591':{'en': 'Jurema - PI', 'pt': 'Jurema - PI'},
diff --git a/python/phonenumbers/geodata/data8.py b/python/phonenumbers/geodata/data8.py
index 5e7be69b..83201bc7 100644
--- a/python/phonenumbers/geodata/data8.py
+++ b/python/phonenumbers/geodata/data8.py
@@ -4071,8 +4071,6 @@ data = {
'861319536':{'en': 'Xuancheng, Anhui', 'zh': u('\u5b89\u5fbd\u7701\u5ba3\u57ce\u5e02')},
'861324535':{'en': 'Yantai, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u70df\u53f0\u5e02')},
'861324534':{'en': 'Liaocheng, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u804a\u57ce\u5e02')},
- '861324537':{'en': 'Liaocheng, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u804a\u57ce\u5e02')},
- '861324536':{'en': 'Rizhao, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u65e5\u7167\u5e02')},
'861324531':{'en': 'Jinan, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5357\u5e02')},
'861324530':{'en': 'Jinan, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5357\u5e02')},
'861324533':{'en': 'Zibo, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02')},
@@ -7820,6 +7818,7 @@ data = {
'861322306':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
'861322307':{'en': 'Zhengzhou, Henan', 'zh': u('\u6cb3\u5357\u7701\u90d1\u5dde\u5e02')},
'861311936':{'en': 'Zhangye, Gansu', 'zh': u('\u7518\u8083\u7701\u5f20\u6396\u5e02')},
+ '861321184':{'en': 'Zhaotong, Yunnan', 'zh': u('\u4e91\u5357\u7701\u662d\u901a\u5e02')},
'861311931':{'en': 'Lanzhou, Gansu', 'zh': u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861311930':{'en': 'Lanzhou, Gansu', 'zh': u('\u7518\u8083\u7701\u5170\u5dde\u5e02')},
'861316017':{'en': 'Yancheng, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u76d0\u57ce\u5e02')},
@@ -8259,10 +8258,10 @@ data = {
'861316922':{'en': 'Meizhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6885\u5dde\u5e02')},
'861316921':{'en': 'Meizhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6885\u5dde\u5e02')},
'861316920':{'en': 'Meizhou, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6885\u5dde\u5e02')},
- '861321187':{'en': 'Qujing, Yunnan', 'zh': u('\u4e91\u5357\u7701\u66f2\u9756\u5e02')},
+ '861309776':{'en': 'Baise, Guangxi', 'zh': u('\u5e7f\u897f\u767e\u8272\u5e02')},
'861309777':{'en': 'Qinzhou, Guangxi', 'zh': u('\u5e7f\u897f\u94a6\u5dde\u5e02')},
'861321185':{'en': 'Zhaotong, Yunnan', 'zh': u('\u4e91\u5357\u7701\u662d\u901a\u5e02')},
- '861321184':{'en': 'Zhaotong, Yunnan', 'zh': u('\u4e91\u5357\u7701\u662d\u901a\u5e02')},
+ '861309775':{'en': 'Yulin, Guangxi', 'zh': u('\u5e7f\u897f\u7389\u6797\u5e02')},
'861321183':{'en': 'Xishuangbanna, Yunnan', 'zh': u('\u4e91\u5357\u7701\u897f\u53cc\u7248\u7eb3\u50a3\u65cf\u81ea\u6cbb\u5dde')},
'861321182':{'en': 'Chuxiong, Yunnan', 'zh': u('\u4e91\u5357\u7701\u695a\u96c4\u5f5d\u65cf\u81ea\u6cbb\u5dde')},
'861321181':{'en': 'Wenshan, Yunnan', 'zh': u('\u4e91\u5357\u7701\u6587\u5c71\u58ee\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
@@ -9313,6 +9312,7 @@ data = {
'861322297':{'en': 'Suzhou, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02')},
'861322294':{'en': 'Wuxi, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u65e0\u9521\u5e02')},
'861319888':{'en': 'Deyang, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u5fb7\u9633\u5e02')},
+ '861321187':{'en': 'Qujing, Yunnan', 'zh': u('\u4e91\u5357\u7701\u66f2\u9756\u5e02')},
'861321186':{'en': 'Zhaotong, Yunnan', 'zh': u('\u4e91\u5357\u7701\u662d\u901a\u5e02')},
'861317588':{'en': 'Taizhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u53f0\u5dde\u5e02')},
'861317589':{'en': 'Taizhou, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u53f0\u5dde\u5e02')},
diff --git a/python/phonenumbers/geodata/data9.py b/python/phonenumbers/geodata/data9.py
index 9a7493fc..61e02ee9 100644
--- a/python/phonenumbers/geodata/data9.py
+++ b/python/phonenumbers/geodata/data9.py
@@ -2791,7 +2791,6 @@ data = {
'861335062':{'en': 'Suining, Sichuan', 'zh': u('\u56db\u5ddd\u7701\u9042\u5b81\u5e02')},
'861324788':{'en': 'Jingdezhen, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u666f\u5fb7\u9547\u5e02')},
'861324789':{'en': 'Ganzhou, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u8d63\u5dde\u5e02')},
- '861339290':{'en': 'Zhongshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4e2d\u5c71\u5e02')},
'861325640':{'en': 'Jinan, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5357\u5e02')},
'861325641':{'en': 'Jinan, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6d4e\u5357\u5e02')},
'861325642':{'en': 'Liaocheng, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u804a\u57ce\u5e02')},
@@ -3989,6 +3988,8 @@ data = {
'861338864':{'en': 'Jiaxing, Zhejiang', 'zh': u('\u6d59\u6c5f\u7701\u5609\u5174\u5e02')},
'861339099':{'en': 'Nantong, Jiangsu', 'zh': u('\u6c5f\u82cf\u7701\u5357\u901a\u5e02')},
'861335474':{'en': 'Hinggan, Inner Mongolia', 'zh': u('\u5185\u8499\u53e4\u5174\u5b89\u76df')},
+ '861324537':{'en': 'Liaocheng, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u804a\u57ce\u5e02')},
+ '861324536':{'en': 'Rizhao, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u65e5\u7167\u5e02')},
'861336170':{'en': 'Xinyu, Jiangxi', 'zh': u('\u6c5f\u897f\u7701\u65b0\u4f59\u5e02')},
'861324539':{'en': 'Linyi, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u4e34\u6c82\u5e02')},
'861324538':{'en': 'TaiAn, Shandong', 'zh': u('\u5c71\u4e1c\u7701\u6cf0\u5b89\u5e02')},
@@ -8237,7 +8238,6 @@ data = {
'861331055':{'en': 'Enshi, Hubei', 'zh': u('\u6e56\u5317\u7701\u6069\u65bd\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde')},
'861331056':{'en': 'Yichang, Hubei', 'zh': u('\u6e56\u5317\u7701\u5b9c\u660c\u5e02')},
'861331057':{'en': 'Yichang, Hubei', 'zh': u('\u6e56\u5317\u7701\u5b9c\u660c\u5e02')},
- '86133928':{'en': 'Shenzhen, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u6df1\u5733\u5e02')},
'861330918':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
'86133922':{'en': 'Foshan, Guangdong', 'zh': u('\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02')},
'86132599':{'en': 'XiAn, Shaanxi', 'zh': u('\u9655\u897f\u7701\u897f\u5b89\u5e02')},
diff --git a/python/phonenumbers/shortdata/region_GA.py b/python/phonenumbers/shortdata/region_GA.py
index e506ca5c..59475bda 100644
--- a/python/phonenumbers/shortdata/region_GA.py
+++ b/python/phonenumbers/shortdata/region_GA.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GA = PhoneMetadata(id='GA', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,3}', possible_number_pattern='\\d{2,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,3}', possible_number_pattern='\\d{2,4}', possible_length=(2, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:730|8|3\\d{2})', possible_number_pattern='\\d{2,4}', example_number='1730'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:730|8|3\\d{2})', possible_number_pattern='\\d{2,4}', example_number='1730'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:730|8|3\\d{2})', possible_number_pattern='\\d{2,4}', example_number='1730', possible_length=(2, 4)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:730|8|3\\d{2})', possible_number_pattern='\\d{2,4}', example_number='1730', possible_length=(2, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GB.py b/python/phonenumbers/shortdata/region_GB.py
index 313366f4..7f4ea384 100644
--- a/python/phonenumbers/shortdata/region_GB.py
+++ b/python/phonenumbers/shortdata/region_GB.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GB = PhoneMetadata(id='GB', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[1-467-9]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='1(?:16\\d{3}|7[56]0|8000)|2(?:202|48)|4444', possible_number_pattern='\\d{3,6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-467-9]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='1(?:16\\d{3}|7[56]0|8000)|2(?:202|48)|4444', possible_number_pattern='\\d{3,6}', example_number='116000', possible_length=(3, 4, 5, 6)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[123]|50)|33|4(?:1|7\\d)|5(?:\\d|71)|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:02(?:02)?|1300|2(?:02|11|2)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|6(?:50|\\d{4})|7(?:0\\d{3}|8(?:9|\\d{3})|9\\d{3})|8\\d{4}|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[123]|50)|33|4(?:1|7\\d)|5(?:\\d|71)|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:02(?:02)?|1300|2(?:02|11|2)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|6(?:50|\\d{4})|7(?:0\\d{3}|8(?:9|\\d{3})|9\\d{3})|8\\d{4}|9(?:01|99)', possible_number_pattern='\\d{3,6}', example_number='150', possible_length=(3, 4, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:250|571|7[56]0)|2(?:02(?:02)?|1300|3336|48)|4444|901', possible_number_pattern='\\d{3,5}', example_number='1571'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:250|571|7[56]0)|2(?:02(?:02)?|1300|3336|48)|4444|901', possible_number_pattern='\\d{3,5}', example_number='1571', possible_length=(3, 4, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GD.py b/python/phonenumbers/shortdata/region_GD.py
index e69c0bdb..13fe2e55 100644
--- a/python/phonenumbers/shortdata/region_GD.py
+++ b/python/phonenumbers/shortdata/region_GD.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GD = PhoneMetadata(id='GD', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='176', possible_number_pattern='\\d{3}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='176', possible_number_pattern='\\d{3}', possible_length=(3,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GE.py b/python/phonenumbers/shortdata/region_GE.py
index 1f1496f7..f8d32746 100644
--- a/python/phonenumbers/shortdata/region_GE.py
+++ b/python/phonenumbers/shortdata/region_GE.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GE = PhoneMetadata(id='GE', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[041]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[041]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='0(?:11|22|33)|1(?:1[123]|22)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='0(?:11|22|33)|1(?:1[123]|22)|40404', possible_number_pattern='\\d{3,5}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='0(?:11|22|33)|1(?:1[123]|22)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='0(?:11|22|33)|1(?:1[123]|22)|40404', possible_number_pattern='\\d{3,5}', example_number='112', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GF.py b/python/phonenumbers/shortdata/region_GF.py
index 449051e3..cea7d2db 100644
--- a/python/phonenumbers/shortdata/region_GF.py
+++ b/python/phonenumbers/shortdata/region_GF.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GF = PhoneMetadata(id='GF', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}', possible_length=(2,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='15'),
- short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='15'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='15', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='15', possible_length=(2,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GG.py b/python/phonenumbers/shortdata/region_GG.py
index 41b86137..8dfd293d 100644
--- a/python/phonenumbers/shortdata/region_GG.py
+++ b/python/phonenumbers/shortdata/region_GG.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GG = PhoneMetadata(id='GG', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 5, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|[68]\\d{3})|23|4(?:1|7\\d)|55|800\\d|95)|999', possible_number_pattern='\\d{3,6}', example_number='155'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1(?:[12]|[68]\\d{3})|23|4(?:1|7\\d)|55|800\\d|95)|999', possible_number_pattern='\\d{3,6}', example_number='155', possible_length=(3, 4, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GH.py b/python/phonenumbers/shortdata/region_GH.py
index 9b2e017c..1a3a2af2 100644
--- a/python/phonenumbers/shortdata/region_GH.py
+++ b/python/phonenumbers/shortdata/region_GH.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GH = PhoneMetadata(id='GH', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14589]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14589]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='19[123]|999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='19[123]|40404|(?:54|83)00|999', possible_number_pattern='\\d{3,5}', example_number='999'),
+ emergency=PhoneNumberDesc(national_number_pattern='19[123]|999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='19[123]|40404|(?:54|83)00|999', possible_number_pattern='\\d{3,5}', example_number='999', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404|(?:54|83)00', possible_number_pattern='\\d{4,5}', example_number='5400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404|(?:54|83)00', possible_number_pattern='\\d{4,5}', example_number='5400', possible_length=(4, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GI.py b/python/phonenumbers/shortdata/region_GI.py
index 96db0777..0c6ff850 100644
--- a/python/phonenumbers/shortdata/region_GI.py
+++ b/python/phonenumbers/shortdata/region_GI.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GI = PhoneMetadata(id='GI', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[158]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='1(?:00|16\\d{3}|23|47\\d|5[15]|9[2-4])|555', possible_number_pattern='\\d{3,6}', example_number='100'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[158]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='1(?:00|16\\d{3}|23|47\\d|5[15]|9[2-4])|555', possible_number_pattern='\\d{3,6}', example_number='100', possible_length=(3, 4, 6)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[09])', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d{2})|23|4(?:1|7[014])|5[015]|9[02349])|555|8(?:008?|4[0-2]|88)', possible_number_pattern='\\d{3,6}', example_number='116000'),
- standard_rate=PhoneNumberDesc(national_number_pattern='150', possible_number_pattern='\\d{3}', example_number='150'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:18\\d{2}|23|51|9[2-4])|555|8(?:00|88)', possible_number_pattern='\\d{3,5}', example_number='123'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[09])', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d{2})|23|4(?:1|7[014])|5[015]|9[02349])|555|8(?:008?|4[0-2]|88)', possible_number_pattern='\\d{3,6}', example_number='116000', possible_length=(3, 4, 5, 6)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='150', possible_number_pattern='\\d{3}', example_number='150', possible_length=(3,)),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:18\\d{2}|23|51|9[2-4])|555|8(?:00|88)', possible_number_pattern='\\d{3,5}', example_number='123', possible_length=(3, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GL.py b/python/phonenumbers/shortdata/region_GL.py
index 77834092..1e6c4a33 100644
--- a/python/phonenumbers/shortdata/region_GL.py
+++ b/python/phonenumbers/shortdata/region_GL.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GL = PhoneMetadata(id='GL', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GM.py b/python/phonenumbers/shortdata/region_GM.py
index 67eebfce..8a3391a1 100644
--- a/python/phonenumbers/shortdata/region_GM.py
+++ b/python/phonenumbers/shortdata/region_GM.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GM = PhoneMetadata(id='GM', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}', possible_length=(2, 3)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1?1[678]', possible_number_pattern='\\d{2,3}', example_number='117'),
- short_code=PhoneNumberDesc(national_number_pattern='1?1[678]', possible_number_pattern='\\d{2,3}', example_number='117'),
+ emergency=PhoneNumberDesc(national_number_pattern='1?1[678]', possible_number_pattern='\\d{2,3}', example_number='117', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='1?1[678]', possible_number_pattern='\\d{2,3}', example_number='117', possible_length=(2, 3)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GN.py b/python/phonenumbers/shortdata/region_GN.py
index 732c6926..bc22ce51 100644
--- a/python/phonenumbers/shortdata/region_GN.py
+++ b/python/phonenumbers/shortdata/region_GN.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GN = PhoneMetadata(id='GN', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='4\\d{4}', possible_number_pattern='\\d{5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='4\\d{4}', possible_number_pattern='\\d{5}', possible_length=(5,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
emergency=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- short_code=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', example_number='40404'),
+ short_code=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', example_number='40404', possible_length=(5,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GP.py b/python/phonenumbers/shortdata/region_GP.py
index 641e52fa..b42ad7de 100644
--- a/python/phonenumbers/shortdata/region_GP.py
+++ b/python/phonenumbers/shortdata/region_GP.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GP = PhoneMetadata(id='GP', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}', possible_length=(2,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18'),
- short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18', possible_length=(2,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GR.py b/python/phonenumbers/shortdata/region_GR.py
index 7f093ba8..3360188d 100644
--- a/python/phonenumbers/shortdata/region_GR.py
+++ b/python/phonenumbers/shortdata/region_GR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GR = PhoneMetadata(id='GR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:00|12|66|99)', possible_number_pattern='\\d{3,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|6(?:000|1(?:11|23)))|66|99)', possible_number_pattern='\\d{3,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:00|12|66|99)', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|6(?:000|1(?:11|23)))|66|99)', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GT.py b/python/phonenumbers/shortdata/region_GT.py
index 00158bed..d576df61 100644
--- a/python/phonenumbers/shortdata/region_GT.py
+++ b/python/phonenumbers/shortdata/region_GT.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GT = PhoneMetadata(id='GT', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:10|2[03])', possible_number_pattern='\\d{3}', example_number='110'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:10|2\\d|[57]\\d{2})|40404', possible_number_pattern='\\d{3,5}', example_number='123'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:10|2[03])', possible_number_pattern='\\d{3}', example_number='110', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:10|2\\d|[57]\\d{2})|40404', possible_number_pattern='\\d{3,5}', example_number='123', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GU.py b/python/phonenumbers/shortdata/region_GU.py
index c2d96492..40852e9c 100644
--- a/python/phonenumbers/shortdata/region_GU.py
+++ b/python/phonenumbers/shortdata/region_GU.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GU = PhoneMetadata(id='GU', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GW.py b/python/phonenumbers/shortdata/region_GW.py
index 1e43d949..e9162f30 100644
--- a/python/phonenumbers/shortdata/region_GW.py
+++ b/python/phonenumbers/shortdata/region_GW.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GW = PhoneMetadata(id='GW', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[378]', possible_number_pattern='\\d{3}', example_number='113'),
- short_code=PhoneNumberDesc(national_number_pattern='11[378]', possible_number_pattern='\\d{3}', example_number='113'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[378]', possible_number_pattern='\\d{3}', example_number='113', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[378]', possible_number_pattern='\\d{3}', example_number='113', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_GY.py b/python/phonenumbers/shortdata/region_GY.py
index 09509d07..231f9624 100644
--- a/python/phonenumbers/shortdata/region_GY.py
+++ b/python/phonenumbers/shortdata/region_GY.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_GY = PhoneMetadata(id='GY', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[019]\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[019]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='91[123]', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='0(?:02|171|444|7(?:[67]7|9)|801|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[123]', possible_number_pattern='\\d{3,4}', example_number='0801'),
+ emergency=PhoneNumberDesc(national_number_pattern='91[123]', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='0(?:02|171|444|7(?:[67]7|9)|801|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[123]', possible_number_pattern='\\d{3,4}', example_number='0801', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1443', possible_number_pattern='\\d{4}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1443', possible_number_pattern='\\d{4}', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_HK.py b/python/phonenumbers/shortdata/region_HK.py
index 838e06d7..767ee489 100644
--- a/python/phonenumbers/shortdata/region_HK.py
+++ b/python/phonenumbers/shortdata/region_HK.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HK = PhoneMetadata(id='HK', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|99[29]', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='11[0-9]|99[29]', possible_number_pattern='\\d{3}', example_number='999'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|99[29]', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[0-9]|99[29]', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_HN.py b/python/phonenumbers/shortdata/region_HN.py
index 661f160e..67341c68 100644
--- a/python/phonenumbers/shortdata/region_HN.py
+++ b/python/phonenumbers/shortdata/region_HN.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HN = PhoneMetadata(id='HN', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199'),
- short_code=PhoneNumberDesc(national_number_pattern='199|40404', possible_number_pattern='\\d{3,5}', example_number='199'),
+ emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='199|40404', possible_number_pattern='\\d{3,5}', example_number='199', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_HR.py b/python/phonenumbers/shortdata/region_HR.py
index c50cde5a..06ee1ad9 100644
--- a/python/phonenumbers/shortdata/region_HR.py
+++ b/python/phonenumbers/shortdata/region_HR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HR = PhoneMetadata(id='HR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{1,5}', possible_number_pattern='\\d{2,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:00[06]|111)', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{1,5}', possible_number_pattern='\\d{2,6}', possible_length=(2, 3, 4, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[2-4])|9[34]', possible_number_pattern='\\d{2,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[28]|16\\d{3}|987|9[2-5])|9[34]', possible_number_pattern='\\d{2,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[2-4])|9[34]', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[28]|16(?:00[06]|1(?:1[17]|23))|987|9[2-5])|9[34]', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3, 4, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_HT.py b/python/phonenumbers/shortdata/region_HT.py
index 9926de83..02233d10 100644
--- a/python/phonenumbers/shortdata/region_HT.py
+++ b/python/phonenumbers/shortdata/region_HT.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HT = PhoneMetadata(id='HT', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[48]', possible_number_pattern='\\d{3}', example_number='118'),
- short_code=PhoneNumberDesc(national_number_pattern='11[48]|40404', possible_number_pattern='\\d{3,5}', example_number='114'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[48]', possible_number_pattern='\\d{3}', example_number='118', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[48]|40404', possible_number_pattern='\\d{3,5}', example_number='114', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_HU.py b/python/phonenumbers/shortdata/region_HU.py
index 42e5e552..a2591a75 100644
--- a/python/phonenumbers/shortdata/region_HU.py
+++ b/python/phonenumbers/shortdata/region_HU.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_HU = PhoneMetadata(id='HU', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[457]|12)', possible_number_pattern='\\d{3,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[457]|1(?:2|6(?:000|1(?:11|23))))', possible_number_pattern='\\d{3,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[457]|12)', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[457]|1(?:2|6(?:000|1(?:11|23))))', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_ID.py b/python/phonenumbers/shortdata/region_ID.py
index 621773e3..8f580ef6 100644
--- a/python/phonenumbers/shortdata/region_ID.py
+++ b/python/phonenumbers/shortdata/region_ID.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_ID = PhoneMetadata(id='ID', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[178]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[178]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[02389]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[02389]|40\\d{2})|71400|89887', possible_number_pattern='\\d{3,5}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[02389]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[02389]|40\\d{2})|71400|89887', possible_number_pattern='\\d{3,5}', example_number='112', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='71400|89887', possible_number_pattern='\\d{5}', example_number='71400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='71400|89887', possible_number_pattern='\\d{5}', example_number='71400', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IE.py b/python/phonenumbers/shortdata/region_IE.py
index e6e95188..15e75302 100644
--- a/python/phonenumbers/shortdata/region_IE.py
+++ b/python/phonenumbers/shortdata/region_IE.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IE = PhoneMetadata(id='IE', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[159]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:00[06]|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[159]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='11(?:2|6(?:00[06]|1(?:11|23)))|51210|999', possible_number_pattern='\\d{3,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11(?:2|6(?:00[06]|1(?:11|23)))|51210|999', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='51210', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='51210', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IL.py b/python/phonenumbers/shortdata/region_IL.py
index 3c54605a..a2c33494 100644
--- a/python/phonenumbers/shortdata/region_IL.py
+++ b/python/phonenumbers/shortdata/region_IL.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IL = PhoneMetadata(id='IL', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[012]|12)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:[012]|400)|1(?:[013-9]\\d|2)|[2-9]\\d{2})', possible_number_pattern='\\d{3,5}', example_number='1455'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[012]|12)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:[012]|400)|1(?:[013-9]\\d|2)|[2-9]\\d{2})', possible_number_pattern='\\d{3,5}', example_number='1455', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='10400', possible_number_pattern='\\d{5}', example_number='10400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='10400', possible_number_pattern='\\d{5}', example_number='10400', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IM.py b/python/phonenumbers/shortdata/region_IM.py
index 15b8db08..67edb3e9 100644
--- a/python/phonenumbers/shortdata/region_IM.py
+++ b/python/phonenumbers/shortdata/region_IM.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IM = PhoneMetadata(id='IM', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 5, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='1\\d{2}(?:\\d{3})?|8(?:6444|9887)|999', possible_number_pattern='\\d{3,6}', example_number='150'),
+ emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1\\d{2}(?:\\d{3})?|8(?:6444|9887)|999', possible_number_pattern='\\d{3,6}', example_number='150', possible_length=(3, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IN.py b/python/phonenumbers/shortdata/region_IN.py
index 34f8883f..a702199e 100644
--- a/python/phonenumbers/shortdata/region_IN.py
+++ b/python/phonenumbers/shortdata/region_IN.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IN = PhoneMetadata(id='IN', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[125]\\d{2,6}', possible_number_pattern='\\d{3,7}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[125]\\d{2,6}', possible_number_pattern='\\d{3,7}', possible_length=(3, 4, 5, 7)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[0128]|12|298)|2611', possible_number_pattern='\\d{3,4}', example_number='108'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[0128]|12|298)|2611|5(?:14(?:2[5-9]|[34]\\d)|3000|757555)', possible_number_pattern='\\d{3,7}', example_number='108'),
- standard_rate=PhoneNumberDesc(national_number_pattern='5(?:14(?:2[5-9]|[34]\\d)|757555)', possible_number_pattern='\\d{5,7}', example_number='5757555'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='53000', possible_number_pattern='\\d{5}'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[0128]|12|298)|2611', possible_number_pattern='\\d{3,4}', example_number='108', possible_length=(3, 4)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[0128]|12|298)|2611|5(?:14(?:2[5-9]|[34]\\d)|3000|757555)', possible_number_pattern='\\d{3,7}', example_number='108', possible_length=(3, 4, 5, 7)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='5(?:14(?:2[5-9]|[34]\\d)|757555)', possible_number_pattern='\\d{5,7}', example_number='5757555', possible_length=(5, 7)),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='53000', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IQ.py b/python/phonenumbers/shortdata/region_IQ.py
index fd90cdf8..0a6aafe8 100644
--- a/python/phonenumbers/shortdata/region_IQ.py
+++ b/python/phonenumbers/shortdata/region_IQ.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IQ = PhoneMetadata(id='IQ', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[1479]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1479]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[04]|15|22)', possible_number_pattern='\\d{3}', example_number='122'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[04]|15|22)|4432|71117|9988', possible_number_pattern='\\d{3,5}', example_number='4432'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[04]|15|22)', possible_number_pattern='\\d{3}', example_number='122', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[04]|15|22)|4432|71117|9988', possible_number_pattern='\\d{3,5}', example_number='4432', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='4432|71117|9988', possible_number_pattern='\\d{3,5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='4432|71117|9988', possible_number_pattern='\\d{3,5}', possible_length=(4, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IR.py b/python/phonenumbers/shortdata/region_IR.py
index d48bc21b..8d8d4188 100644
--- a/python/phonenumbers/shortdata/region_IR.py
+++ b/python/phonenumbers/shortdata/region_IR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IR = PhoneMetadata(id='IR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:1[025]|25)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[025]|25)', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:1[025]|25)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[025]|25)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IS.py b/python/phonenumbers/shortdata/region_IS.py
index 57cac5d9..4890abbb 100644
--- a/python/phonenumbers/shortdata/region_IS.py
+++ b/python/phonenumbers/shortdata/region_IS.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IS = PhoneMetadata(id='IS', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='1717', possible_number_pattern='\\d{4}', example_number='1717'),
- premium_rate=PhoneNumberDesc(national_number_pattern='1848', possible_number_pattern='\\d{4}', example_number='1848'),
- emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[28]|6(?:1(?:23|16)))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:0[08]|1[016-9]|20|48|8[018])|900)', possible_number_pattern='\\d{3,6}', example_number='112'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='1717', possible_number_pattern='\\d{4}', example_number='1717', possible_length=(4,)),
+ premium_rate=PhoneNumberDesc(national_number_pattern='1848', possible_number_pattern='\\d{4}', example_number='1848', possible_length=(4,)),
+ emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[28]|6(?:1(?:23|16)))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:0[08]|1[016-9]|20|48|8[018])|900)', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 4, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1441', possible_number_pattern='\\d{4}', example_number='1441'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1441', possible_number_pattern='\\d{4}', example_number='1441', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_IT.py b/python/phonenumbers/shortdata/region_IT.py
index 68353753..4a8a2b89 100644
--- a/python/phonenumbers/shortdata/region_IT.py
+++ b/python/phonenumbers/shortdata/region_IT.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_IT = PhoneMetadata(id='IT', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,6}', possible_number_pattern='\\d{3,7}'),
- toll_free=PhoneNumberDesc(national_number_pattern='1(?:16\\d{3}|87)', possible_number_pattern='\\d{3,6}', example_number='187'),
- premium_rate=PhoneNumberDesc(national_number_pattern='(?:12|4(?:[478]\\d{3,5}|55))\\d{2}', possible_number_pattern='\\d{4,7}', example_number='1254'),
- emergency=PhoneNumberDesc(national_number_pattern='11[2358]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0\\d{2,3}|1(?:[2-5789]|6(?:000|111))|2\\d{2}|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2(?:[01]\\d{2}|[2-9])|4\\d|696))|4(?:2323|3(?:[01]|[45]\\d{2})\\d{2}|[478](?:[0-4]|[5-9]\\d{2})\\d{2}|5(?:045|5\\d{2}))', possible_number_pattern='\\d{3,7}', example_number='114'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,6}', possible_number_pattern='\\d{3,7}', possible_length=(3, 4, 5, 6, 7)),
+ toll_free=PhoneNumberDesc(national_number_pattern='1(?:16\\d{3}|87)', possible_number_pattern='\\d{3,6}', example_number='187', possible_length=(3, 6)),
+ premium_rate=PhoneNumberDesc(national_number_pattern='(?:12|4(?:[478]\\d{1,3}|55))\\d{2}', possible_number_pattern='\\d{4,7}', example_number='1254', possible_length=(4, 5, 6, 7)),
+ emergency=PhoneNumberDesc(national_number_pattern='11[2358]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0\\d{2,3}|1(?:[2-5789]|6(?:000|111))|2\\d{2}|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2(?:[01]\\d{2}|[2-9])|4\\d|696))|4(?:2323|3(?:[01]|[45]\\d{2})\\d{2}|[478](?:[0-4]|[5-9]\\d{2})\\d{2}|5(?:045|5\\d{2}))', possible_number_pattern='\\d{3,7}', example_number='114', possible_length=(3, 4, 5, 6, 7)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_JE.py b/python/phonenumbers/shortdata/region_JE.py
index c15e5bef..89086724 100644
--- a/python/phonenumbers/shortdata/region_JE.py
+++ b/python/phonenumbers/shortdata/region_JE.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_JE = PhoneMetadata(id='JE', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[129]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[129]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[135])|23[234]|999', possible_number_pattern='\\d{3,6}', example_number='150'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[135])|23[234]|999', possible_number_pattern='\\d{3,6}', example_number='150', possible_length=(3, 4, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_JM.py b/python/phonenumbers/shortdata/region_JM.py
index 4748bb0c..6dbcd3a4 100644
--- a/python/phonenumbers/shortdata/region_JM.py
+++ b/python/phonenumbers/shortdata/region_JM.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_JM = PhoneMetadata(id='JM', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[029]|911', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[029]|76)|911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[029]|911', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[029]|76)|911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='176', possible_number_pattern='\\d{3}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='176', possible_number_pattern='\\d{3}', possible_length=(3,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_JO.py b/python/phonenumbers/shortdata/region_JO.py
index 22d14159..de4db790 100644
--- a/python/phonenumbers/shortdata/region_JO.py
+++ b/python/phonenumbers/shortdata/region_JO.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_JO = PhoneMetadata(id='JO', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[127])|911', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:09|1[0-2]|9[0-24-79])|9(?:0903|11|8788)', possible_number_pattern='\\d{3,5}', example_number='111'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[127])|911', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:09|1[0-2]|9[0-24-79])|9(?:0903|11|8788)', possible_number_pattern='\\d{3,5}', example_number='111', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='9(?:0903|8788)', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='9(?:0903|8788)', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_JP.py b/python/phonenumbers/shortdata/region_JP.py
index 453c2afd..bd9d612e 100644
--- a/python/phonenumbers/shortdata/region_JP.py
+++ b/python/phonenumbers/shortdata/region_JP.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_JP = PhoneMetadata(id='JP', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[09]', possible_number_pattern='\\d{3}', example_number='110'),
- short_code=PhoneNumberDesc(national_number_pattern='11[09]', possible_number_pattern='\\d{3}', example_number='110'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[09]', possible_number_pattern='\\d{3}', example_number='110', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[09]', possible_number_pattern='\\d{3}', example_number='110', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KE.py b/python/phonenumbers/shortdata/region_KE.py
index 72e48660..02135caf 100644
--- a/python/phonenumbers/shortdata/region_KE.py
+++ b/python/phonenumbers/shortdata/region_KE.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KE = PhoneMetadata(id='KE', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
- toll_free=PhoneNumberDesc(national_number_pattern='15(?:01|2[127]|6(?:29|6[67]))', possible_number_pattern='\\d{4,5}', example_number='1501'),
- premium_rate=PhoneNumberDesc(national_number_pattern='909\\d{2}', possible_number_pattern='\\d{5}'),
- emergency=PhoneNumberDesc(national_number_pattern='112|114|999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:[079]|1[12]|400)|1(?:[2456]|9[0-2459])|2[123]|3[01]|5(?:01|1[01]|2[0-2457]|33|55|6(?:29|6[67]))|65\\d{2}|[78]\\d|9(?:[02-9]\\d{2}|19))|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-2]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:[0-9]\\d{3}|988)|9(?:09\\d{2}|99)', possible_number_pattern='\\d{3,5}', example_number='116'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
+ toll_free=PhoneNumberDesc(national_number_pattern='15(?:01|2[127]|6(?:29|6[67]))', possible_number_pattern='\\d{4,5}', example_number='1501', possible_length=(4, 5)),
+ premium_rate=PhoneNumberDesc(national_number_pattern='909\\d{2}', possible_number_pattern='\\d{5}', possible_length=(5,)),
+ emergency=PhoneNumberDesc(national_number_pattern='112|114|999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:[079]|1[12]|400)|1(?:[2456]|9[0-2459])|2[123]|3[01]|5(?:01|1[01]|2[0-2457]|33|55|6(?:29|6[67]))|65\\d{2}|[78]\\d|9(?:[02-9]\\d{2}|19))|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-2]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:[0-9]\\d{3}|988)|9(?:09\\d{2}|99)', possible_number_pattern='\\d{3,5}', example_number='116', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:0400|3[01]|5(?:1[01]|2[25])|65\\d{2})|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-2]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:988|[0-9]\\d{3})|909\\d{2}', possible_number_pattern='\\d{3,5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:0400|3[01]|5(?:1[01]|2[25])|65\\d{2})|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-2]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:988|[0-9]\\d{3})|909\\d{2}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KG.py b/python/phonenumbers/shortdata/region_KG.py
index f721ec4d..6285bd6d 100644
--- a/python/phonenumbers/shortdata/region_KG.py
+++ b/python/phonenumbers/shortdata/region_KG.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KG = PhoneMetadata(id='KG', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='10[123]', possible_number_pattern='\\d{3}', example_number='101'),
- short_code=PhoneNumberDesc(national_number_pattern='10[123]|4040', possible_number_pattern='\\d{3,4}', example_number='101'),
+ emergency=PhoneNumberDesc(national_number_pattern='10[123]', possible_number_pattern='\\d{3}', example_number='101', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='10[123]|4040', possible_number_pattern='\\d{3,4}', example_number='101', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='4040', possible_number_pattern='\\d{4}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='4040', possible_number_pattern='\\d{4}', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KH.py b/python/phonenumbers/shortdata/region_KH.py
index 9613c1c7..f4252ee3 100644
--- a/python/phonenumbers/shortdata/region_KH.py
+++ b/python/phonenumbers/shortdata/region_KH.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KH = PhoneMetadata(id='KH', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[146]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[146]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[789]|666', possible_number_pattern='\\d{3}', example_number='117'),
- short_code=PhoneNumberDesc(national_number_pattern='11[789]|40404|666', possible_number_pattern='\\d{3,5}', example_number='117'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[789]|666', possible_number_pattern='\\d{3}', example_number='117', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[789]|40404|666', possible_number_pattern='\\d{3,5}', example_number='117', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40404', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KI.py b/python/phonenumbers/shortdata/region_KI.py
index 960d491c..c4eddd57 100644
--- a/python/phonenumbers/shortdata/region_KI.py
+++ b/python/phonenumbers/shortdata/region_KI.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KI = PhoneMetadata(id='KI', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[179]\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[179]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='99[2349]', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='10(?:[0-8]|5[01259])|777|99[2349]', possible_number_pattern='\\d{3,4}', example_number='100'),
- standard_rate=PhoneNumberDesc(national_number_pattern='103', possible_number_pattern='\\d{3}', example_number='103'),
+ emergency=PhoneNumberDesc(national_number_pattern='99[2349]', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='10(?:[0-8]|5[01259])|777|99[2349]', possible_number_pattern='\\d{3,4}', example_number='100', possible_length=(3, 4)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='103', possible_number_pattern='\\d{3}', example_number='103', possible_length=(3,)),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KM.py b/python/phonenumbers/shortdata/region_KM.py
index 477559c9..c451bb5c 100644
--- a/python/phonenumbers/shortdata/region_KM.py
+++ b/python/phonenumbers/shortdata/region_KM.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KM = PhoneMetadata(id='KM', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}', possible_length=(2,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17'),
- short_code=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17', possible_length=(2,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KN.py b/python/phonenumbers/shortdata/region_KN.py
index a01bef48..9b493a03 100644
--- a/python/phonenumbers/shortdata/region_KN.py
+++ b/python/phonenumbers/shortdata/region_KN.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KN = PhoneMetadata(id='KN', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[39]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[39]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='333|9(?:11|99)', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='333|9(?:11|99)', possible_number_pattern='\\d{3}', example_number='999'),
+ emergency=PhoneNumberDesc(national_number_pattern='333|9(?:11|99)', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='333|9(?:11|99)', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KP.py b/python/phonenumbers/shortdata/region_KP.py
index faaaaf63..4296a3c7 100644
--- a/python/phonenumbers/shortdata/region_KP.py
+++ b/python/phonenumbers/shortdata/region_KP.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KP = PhoneMetadata(id='KP', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[18]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[18]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|19)|819', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:12|19)|819', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|19)|819', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:12|19)|819', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KR.py b/python/phonenumbers/shortdata/region_KR.py
index fa8b4e2c..3883f6c4 100644
--- a/python/phonenumbers/shortdata/region_KR.py
+++ b/python/phonenumbers/shortdata/region_KR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KR = PhoneMetadata(id='KR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}'),
- toll_free=PhoneNumberDesc(national_number_pattern='1(?:1[78]|28|330|82)', possible_number_pattern='\\d{3,4}', example_number='118'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
+ toll_free=PhoneNumberDesc(national_number_pattern='1(?:1[78]|28|330|82)', possible_number_pattern='\\d{3,4}', example_number='118', possible_length=(3, 4)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[29]', possible_number_pattern='\\d{3,4}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[027-9]|2[01389]|3(?:2|3[039]|45|66|88|9[18])|82)', possible_number_pattern='\\d{3,4}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[29]', possible_number_pattern='\\d{3,4}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[027-9]|2[01389]|3(?:2|3[039]|45|66|88|9[18])|82)', possible_number_pattern='\\d{3,4}', example_number='112', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='10[01]', possible_number_pattern='\\d{3}', example_number='100'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='10[01]', possible_number_pattern='\\d{3}', example_number='100', possible_length=(3,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KW.py b/python/phonenumbers/shortdata/region_KW.py
index bb2dca10..ee96cd22 100644
--- a/python/phonenumbers/shortdata/region_KW.py
+++ b/python/phonenumbers/shortdata/region_KW.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KW = PhoneMetadata(id='KW', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[18]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[18]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1\\d{2}|89887', possible_number_pattern='\\d{3,5}', example_number='177'),
+ emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1\\d{2}|89887', possible_number_pattern='\\d{3,5}', example_number='177', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='89887', possible_number_pattern='\\d{5}'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='89887', possible_number_pattern='\\d{5}', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KY.py b/python/phonenumbers/shortdata/region_KY.py
index 11d98055..6ceac2cf 100644
--- a/python/phonenumbers/shortdata/region_KY.py
+++ b/python/phonenumbers/shortdata/region_KY.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KY = PhoneMetadata(id='KY', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_KZ.py b/python/phonenumbers/shortdata/region_KZ.py
index 34befb05..9b1a438f 100644
--- a/python/phonenumbers/shortdata/region_KZ.py
+++ b/python/phonenumbers/shortdata/region_KZ.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_KZ = PhoneMetadata(id='KZ', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[134]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[134]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[123]|12)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[123]|12)|30400|4040', possible_number_pattern='\\d{3,5}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[123]|12)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[123]|12)|30400|4040', possible_number_pattern='\\d{3,5}', example_number='112', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='30400|4040', possible_number_pattern='\\d{4,5}', example_number='30400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='30400|4040', possible_number_pattern='\\d{4,5}', example_number='30400', possible_length=(4, 5)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LA.py b/python/phonenumbers/shortdata/region_LA.py
index ecba9987..18d37ffa 100644
--- a/python/phonenumbers/shortdata/region_LA.py
+++ b/python/phonenumbers/shortdata/region_LA.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LA = PhoneMetadata(id='LA', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='19[015]', possible_number_pattern='\\d{3}', example_number='190'),
- short_code=PhoneNumberDesc(national_number_pattern='19[015]', possible_number_pattern='\\d{3}', example_number='190'),
+ emergency=PhoneNumberDesc(national_number_pattern='19[015]', possible_number_pattern='\\d{3}', example_number='190', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='19[015]', possible_number_pattern='\\d{3}', example_number='190', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LB.py b/python/phonenumbers/shortdata/region_LB.py
index 3342c2d7..c56c28ad 100644
--- a/python/phonenumbers/shortdata/region_LB.py
+++ b/python/phonenumbers/shortdata/region_LB.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LB = PhoneMetadata(id='LB', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|40|75)|999', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:12|40|75)|999', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|40|75)|999', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:12|40|75)|999', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LC.py b/python/phonenumbers/shortdata/region_LC.py
index 703dc2f6..8f3393e0 100644
--- a/python/phonenumbers/shortdata/region_LC.py
+++ b/python/phonenumbers/shortdata/region_LC.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LC = PhoneMetadata(id='LC', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LI.py b/python/phonenumbers/shortdata/region_LI.py
index b192e662..c3100c82 100644
--- a/python/phonenumbers/shortdata/region_LI.py
+++ b/python/phonenumbers/shortdata/region_LI.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LI = PhoneMetadata(id='LI', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:1[278]|44)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])', possible_number_pattern='\\d{3,4}', example_number='1145'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:1[278]|44)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])', possible_number_pattern='\\d{3,4}', example_number='1145', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LK.py b/python/phonenumbers/shortdata/region_LK.py
index 767e9015..a2b48650 100644
--- a/python/phonenumbers/shortdata/region_LK.py
+++ b/python/phonenumbers/shortdata/region_LK.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LK = PhoneMetadata(id='LK', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[02689]', possible_number_pattern='\\d{3}', example_number='119'),
- short_code=PhoneNumberDesc(national_number_pattern='11[024-9]', possible_number_pattern='\\d{3}', example_number='119'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[02689]', possible_number_pattern='\\d{3}', example_number='119', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[024-9]', possible_number_pattern='\\d{3}', example_number='119', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LR.py b/python/phonenumbers/shortdata/region_LR.py
index 3c1d1eb0..df181ac4 100644
--- a/python/phonenumbers/shortdata/region_LR.py
+++ b/python/phonenumbers/shortdata/region_LR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LR = PhoneMetadata(id='LR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[3489]\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[3489]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='355|911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='355|4040|8(?:400|933)|911', possible_number_pattern='\\d{3,4}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='355|911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='355|4040|8(?:400|933)|911', possible_number_pattern='\\d{3,4}', example_number='911', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='4040|8(?:400|933)', possible_number_pattern='\\d{4}', example_number='8400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='4040|8(?:400|933)', possible_number_pattern='\\d{4}', example_number='8400', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LS.py b/python/phonenumbers/shortdata/region_LS.py
index 5b3d3f34..35753304 100644
--- a/python/phonenumbers/shortdata/region_LS.py
+++ b/python/phonenumbers/shortdata/region_LS.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LS = PhoneMetadata(id='LS', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[257]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='11[257]', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[257]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11[257]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LT.py b/python/phonenumbers/shortdata/region_LT.py
index 9b8ab857..e450af17 100644
--- a/python/phonenumbers/shortdata/region_LT.py
+++ b/python/phonenumbers/shortdata/region_LT.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LT = PhoneMetadata(id='LT', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[01]\\d{1,5}', possible_number_pattern='\\d{2,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[01]\\d{1,5}', possible_number_pattern='\\d{2,6}', possible_length=(2, 3, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='0(?:11?|22?|33?)|1(?:0[123]|12)', possible_number_pattern='\\d{2,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='0(?:11?|22?|33?)|1(?:0[123]|1(?:2|6(?:000|1(?:11|23))))', possible_number_pattern='\\d{2,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='0(?:11?|22?|33?)|1(?:0[123]|12)', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='0(?:11?|22?|33?)|1(?:0[123]|1(?:2|6(?:000|1(?:11|23))))', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LU.py b/python/phonenumbers/shortdata/region_LU.py
index 1eb32200..2d9d4929 100644
--- a/python/phonenumbers/shortdata/region_LU.py
+++ b/python/phonenumbers/shortdata/region_LU.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LU = PhoneMetadata(id='LU', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|111)', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[23]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[23]|6(?:000|111))|2\\d{3})', possible_number_pattern='\\d{3,6}', example_number='12123'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[23]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[23]|6(?:000|111))|2\\d{3})', possible_number_pattern='\\d{3,6}', example_number='12123', possible_length=(3, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LV.py b/python/phonenumbers/shortdata/region_LV.py
index 096c54af..047d2b19 100644
--- a/python/phonenumbers/shortdata/region_LV.py
+++ b/python/phonenumbers/shortdata/region_LV.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LV = PhoneMetadata(id='LV', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='0\\d|1\\d{2,6}|8\\d{3,4}', possible_number_pattern='\\d{2,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|111)', possible_number_pattern='\\d{6}', example_number='116000'),
- premium_rate=PhoneNumberDesc(national_number_pattern='1180|8(?:2\\d{3}|[89]\\d{2})', possible_number_pattern='\\d{4,5}'),
- emergency=PhoneNumberDesc(national_number_pattern='0[123]|11[023]', possible_number_pattern='\\d{2,3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|55|655|77)|821[57]4', possible_number_pattern='\\d{2,6}', example_number='112'),
- standard_rate=PhoneNumberDesc(national_number_pattern='1181', possible_number_pattern='\\d{4}', example_number='1181'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='16\\d{2}', possible_number_pattern='\\d{4}', example_number='1655'),
+ general_desc=PhoneNumberDesc(national_number_pattern='0\\d|1\\d{2,6}|8\\d{3,4}', possible_number_pattern='\\d{2,6}', possible_length=(2, 3, 4, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
+ premium_rate=PhoneNumberDesc(national_number_pattern='1180|8(?:2\\d{3}|[89]\\d{2})', possible_number_pattern='\\d{4,5}', possible_length=(4, 5)),
+ emergency=PhoneNumberDesc(national_number_pattern='0[123]|11[023]', possible_number_pattern='\\d{2,3}', example_number='112', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|55|655|77)|821[57]4', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3, 4, 5, 6)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='1181', possible_number_pattern='\\d{4}', example_number='1181', possible_length=(4,)),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='16\\d{2}', possible_number_pattern='\\d{4}', example_number='1655', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_LY.py b/python/phonenumbers/shortdata/region_LY.py
index a6f01ebb..1abd2fe6 100644
--- a/python/phonenumbers/shortdata/region_LY.py
+++ b/python/phonenumbers/shortdata/region_LY.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_LY = PhoneMetadata(id='LY', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='19[013]', possible_number_pattern='\\d{3}', example_number='193'),
- short_code=PhoneNumberDesc(national_number_pattern='19[013]', possible_number_pattern='\\d{3}', example_number='193'),
+ emergency=PhoneNumberDesc(national_number_pattern='19[013]', possible_number_pattern='\\d{3}', example_number='193', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='19[013]', possible_number_pattern='\\d{3}', example_number='193', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MA.py b/python/phonenumbers/shortdata/region_MA.py
index 718c44a1..146281cf 100644
--- a/python/phonenumbers/shortdata/region_MA.py
+++ b/python/phonenumbers/shortdata/region_MA.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MA = PhoneMetadata(id='MA', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}', possible_length=(2, 3)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:[59]|77)', possible_number_pattern='\\d{2,3}', example_number='15'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:[59]|77)', possible_number_pattern='\\d{2,3}', example_number='15'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:[59]|77)', possible_number_pattern='\\d{2,3}', example_number='15', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:[59]|77)', possible_number_pattern='\\d{2,3}', example_number='15', possible_length=(2, 3)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MC.py b/python/phonenumbers/shortdata/region_MC.py
index 4a1102a2..34e5746d 100644
--- a/python/phonenumbers/shortdata/region_MC.py
+++ b/python/phonenumbers/shortdata/region_MC.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MC = PhoneMetadata(id='MC', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}', possible_length=(2, 3)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:12|41|[578])', possible_number_pattern='\\d{2,3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='112', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:12|41|[578])', possible_number_pattern='\\d{2,3}', example_number='112', possible_length=(2, 3)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MD.py b/python/phonenumbers/shortdata/region_MD.py
index 9e5d18ee..07f09845 100644
--- a/python/phonenumbers/shortdata/region_MD.py
+++ b/python/phonenumbers/shortdata/region_MD.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MD = PhoneMetadata(id='MD', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116\\d{3}', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|90[1-3]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:000|1(?:11|23))|8\\d{1,2}|99)|4\\d{3}|6[0-389]\\d|9(?:0[04-9]|[1-4]\\d))|90[1-3]', possible_number_pattern='\\d{3,6}', example_number='116000'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|90[1-3]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:000|1(?:11|23))|8\\d{1,2}|99)|4\\d{3}|6[0-389]\\d|9(?:0[04-9]|[1-4]\\d))|90[1-3]', possible_number_pattern='\\d{3,6}', example_number='116000', possible_length=(3, 4, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_ME.py b/python/phonenumbers/shortdata/region_ME.py
index e23e25e7..e169f20e 100644
--- a/python/phonenumbers/shortdata/region_ME.py
+++ b/python/phonenumbers/shortdata/region_ME.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_ME = PhoneMetadata(id='ME', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 5, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|2[234])', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:[035]\\d{2}|1(?:[013-57-9]\\d|2|6\\d{3})|2\\d{1,2}|4\\d{2,3}|9\\d{3})', possible_number_pattern='\\d{3,6}', example_number='1011'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|2[234])', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:[035]\\d{2}|1(?:[013-57-9]\\d|2|6\\d{3})|2\\d{1,2}|4\\d{2,3}|9\\d{3})', possible_number_pattern='\\d{3,6}', example_number='1011', possible_length=(3, 4, 5, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MF.py b/python/phonenumbers/shortdata/region_MF.py
index 497d3573..01c060eb 100644
--- a/python/phonenumbers/shortdata/region_MF.py
+++ b/python/phonenumbers/shortdata/region_MF.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MF = PhoneMetadata(id='MF', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}', possible_length=(2,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18'),
- short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='18', possible_length=(2,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MG.py b/python/phonenumbers/shortdata/region_MG.py
index ac8c75c6..bc882ab1 100644
--- a/python/phonenumbers/shortdata/region_MG.py
+++ b/python/phonenumbers/shortdata/region_MG.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MG = PhoneMetadata(id='MG', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}', possible_length=(2, 3)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11?[78]', possible_number_pattern='\\d{2,3}', example_number='117'),
- short_code=PhoneNumberDesc(national_number_pattern='11?[78]', possible_number_pattern='\\d{2,3}', example_number='117'),
+ emergency=PhoneNumberDesc(national_number_pattern='11?[78]', possible_number_pattern='\\d{2,3}', example_number='117', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='11?[78]', possible_number_pattern='\\d{2,3}', example_number='117', possible_length=(2, 3)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MH.py b/python/phonenumbers/shortdata/region_MH.py
index ccfdce1f..3207682b 100644
--- a/python/phonenumbers/shortdata/region_MH.py
+++ b/python/phonenumbers/shortdata/region_MH.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MH = PhoneMetadata(id='MH', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MK.py b/python/phonenumbers/shortdata/region_MK.py
index ed20bd6f..8ed8829f 100644
--- a/python/phonenumbers/shortdata/region_MK.py
+++ b/python/phonenumbers/shortdata/region_MK.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MK = PhoneMetadata(id='MK', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[234])', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:12|9[234])', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|9[234])', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:12|9[234])', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_ML.py b/python/phonenumbers/shortdata/region_ML.py
index d8239b44..30bf06a0 100644
--- a/python/phonenumbers/shortdata/region_ML.py
+++ b/python/phonenumbers/shortdata/region_ML.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_ML = PhoneMetadata(id='ML', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[13678]\\d{1,4}', possible_number_pattern='\\d{2,5}'),
- toll_free=PhoneNumberDesc(national_number_pattern='35200|67(?:00|77)|74(?:02|44)|8000[12]', possible_number_pattern='\\d{4,5}', example_number='35200'),
- premium_rate=PhoneNumberDesc(national_number_pattern='122[13]|3(?:52(?:11|2[02]|3[04-6]|99)|7574)|8002[12]', possible_number_pattern='\\d{4,5}', example_number='35211'),
- emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='17'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|[013-9]\\d)|2(?:1[02-469]|2[13])|[578])|3(?:5(?:0(?:35|57)|2\\d{2})|[67]\\d{3})|67(?:0[09]|59|77|8[89]|99)|74(?:0[02]|44|55)|800[012][12]', possible_number_pattern='\\d{2,5}', example_number='1210'),
- standard_rate=PhoneNumberDesc(national_number_pattern='37(?:433|575)|7400|8001[12]', possible_number_pattern='\\d{4,5}', example_number='7400'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='3(?:5035|[67]\\d{3})|800[012][12]', possible_number_pattern='\\d{5}', example_number='35035'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[13678]\\d{1,4}', possible_number_pattern='\\d{2,5}', possible_length=(2, 3, 4, 5)),
+ toll_free=PhoneNumberDesc(national_number_pattern='35200|67(?:00|77)|74(?:02|44)|8000[12]', possible_number_pattern='\\d{4,5}', example_number='35200', possible_length=(4, 5)),
+ premium_rate=PhoneNumberDesc(national_number_pattern='122[13]|3(?:52(?:11|2[02]|3[04-6]|99)|7574)|8002[12]', possible_number_pattern='\\d{4,5}', example_number='35211', possible_length=(4, 5)),
+ emergency=PhoneNumberDesc(national_number_pattern='1[578]', possible_number_pattern='\\d{2}', example_number='17', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|[013-9]\\d)|2(?:1[02-469]|2[13])|[578])|3(?:5(?:0(?:35|57)|2\\d{2})|[67]\\d{3})|67(?:0[09]|59|77|8[89]|99)|74(?:0[02]|44|55)|800[012][12]', possible_number_pattern='\\d{2,5}', example_number='1210', possible_length=(2, 3, 4, 5)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='37(?:433|575)|7400|8001[12]', possible_number_pattern='\\d{4,5}', example_number='7400', possible_length=(4, 5)),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='3(?:5035|[67]\\d{3})|800[012][12]', possible_number_pattern='\\d{5}', example_number='35035', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MM.py b/python/phonenumbers/shortdata/region_MM.py
index b96c15e6..4f35d5bf 100644
--- a/python/phonenumbers/shortdata/region_MM.py
+++ b/python/phonenumbers/shortdata/region_MM.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MM = PhoneMetadata(id='MM', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199'),
- short_code=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199'),
+ emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MN.py b/python/phonenumbers/shortdata/region_MN.py
index 6f405d73..c384b22f 100644
--- a/python/phonenumbers/shortdata/region_MN.py
+++ b/python/phonenumbers/shortdata/region_MN.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MN = PhoneMetadata(id='MN', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='10[0-3]', possible_number_pattern='\\d{3}', example_number='102'),
- short_code=PhoneNumberDesc(national_number_pattern='10[0-3]', possible_number_pattern='\\d{3}', example_number='102'),
+ emergency=PhoneNumberDesc(national_number_pattern='10[0-3]', possible_number_pattern='\\d{3}', example_number='102', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='10[0-3]', possible_number_pattern='\\d{3}', example_number='102', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MO.py b/python/phonenumbers/shortdata/region_MO.py
index 73a451c6..36dd535b 100644
--- a/python/phonenumbers/shortdata/region_MO.py
+++ b/python/phonenumbers/shortdata/region_MO.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MO = PhoneMetadata(id='MO', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999'),
+ emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MP.py b/python/phonenumbers/shortdata/region_MP.py
index f3a65fb2..e99c2781 100644
--- a/python/phonenumbers/shortdata/region_MP.py
+++ b/python/phonenumbers/shortdata/region_MP.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MP = PhoneMetadata(id='MP', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MQ.py b/python/phonenumbers/shortdata/region_MQ.py
index bca0ed81..90c32ed0 100644
--- a/python/phonenumbers/shortdata/region_MQ.py
+++ b/python/phonenumbers/shortdata/region_MQ.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MQ = PhoneMetadata(id='MQ', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,2}', possible_number_pattern='\\d{2,3}', possible_length=(2, 3)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='15'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='15'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='15', possible_length=(2, 3)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:12|[578])', possible_number_pattern='\\d{2,3}', example_number='15', possible_length=(2, 3)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MR.py b/python/phonenumbers/shortdata/region_MR.py
index 2cafba5f..e6db36d7 100644
--- a/python/phonenumbers/shortdata/region_MR.py
+++ b/python/phonenumbers/shortdata/region_MR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MR = PhoneMetadata(id='MR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d', possible_number_pattern='\\d{2}', possible_length=(2,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17'),
- short_code=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1[78]', possible_number_pattern='\\d{2}', example_number='17', possible_length=(2,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MS.py b/python/phonenumbers/shortdata/region_MS.py
index 594ef755..072b5c57 100644
--- a/python/phonenumbers/shortdata/region_MS.py
+++ b/python/phonenumbers/shortdata/region_MS.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MS = PhoneMetadata(id='MS', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='9(?:11|99)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MT.py b/python/phonenumbers/shortdata/region_MT.py
index 6d353cb4..2b5e6c58 100644
--- a/python/phonenumbers/shortdata/region_MT.py
+++ b/python/phonenumbers/shortdata/region_MT.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MT = PhoneMetadata(id='MT', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116(?:000|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3,6}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='11(?:2|6(?:000|1(?:11|23)))', possible_number_pattern='\\d{3,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='112', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='11(?:2|6(?:000|1(?:11|23)))', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MU.py b/python/phonenumbers/shortdata/region_MU.py
index 8ad206d8..0cded0ba 100644
--- a/python/phonenumbers/shortdata/region_MU.py
+++ b/python/phonenumbers/shortdata/region_MU.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MU = PhoneMetadata(id='MU', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[45]|99[59]', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='1\\d{2,4}|8\\d{3}|99\\d', possible_number_pattern='\\d{3,5}', example_number='995'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[45]|99[59]', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1\\d{2,4}|8\\d{3}|99\\d', possible_number_pattern='\\d{3,5}', example_number='995', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MV.py b/python/phonenumbers/shortdata/region_MV.py
index 3f52267c..b7709b55 100644
--- a/python/phonenumbers/shortdata/region_MV.py
+++ b/python/phonenumbers/shortdata/region_MV.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MV = PhoneMetadata(id='MV', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:02|19)', possible_number_pattern='\\d{3}', example_number='102'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:02|1[09]|23|90)', possible_number_pattern='\\d{3}', example_number='123'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:02|19)', possible_number_pattern='\\d{3}', example_number='102', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:02|1[09]|23|90)', possible_number_pattern='\\d{3}', example_number='123', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MW.py b/python/phonenumbers/shortdata/region_MW.py
index dd9611ec..935a86a6 100644
--- a/python/phonenumbers/shortdata/region_MW.py
+++ b/python/phonenumbers/shortdata/region_MW.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MW = PhoneMetadata(id='MW', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='199|99[789]', possible_number_pattern='\\d{3}', example_number='997'),
- short_code=PhoneNumberDesc(national_number_pattern='199|80400|99[789]', possible_number_pattern='\\d{3,5}', example_number='997'),
+ emergency=PhoneNumberDesc(national_number_pattern='199|99[789]', possible_number_pattern='\\d{3}', example_number='997', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='199|80400|99[789]', possible_number_pattern='\\d{3,5}', example_number='997', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='80400', possible_number_pattern='\\d{5}', example_number='80400'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='80400', possible_number_pattern='\\d{5}', example_number='80400', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MX.py b/python/phonenumbers/shortdata/region_MX.py
index 70b9baad..1d0a5776 100644
--- a/python/phonenumbers/shortdata/region_MX.py
+++ b/python/phonenumbers/shortdata/region_MX.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MX = PhoneMetadata(id='MX', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[0579]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[0579]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- premium_rate=PhoneNumberDesc(national_number_pattern='53053|7766', possible_number_pattern='\\d{4,5}', example_number='7766'),
- emergency=PhoneNumberDesc(national_number_pattern='0(?:6[0568]|80)|911', possible_number_pattern='\\d{3}', example_number='066'),
- short_code=PhoneNumberDesc(national_number_pattern='0(?:[249]0|3[01]|5[015]|6[01568]|7[0-578]|8[089])|53053|7766|911', possible_number_pattern='\\d{3,5}', example_number='030'),
+ premium_rate=PhoneNumberDesc(national_number_pattern='53053|7766', possible_number_pattern='\\d{4,5}', example_number='7766', possible_length=(4, 5)),
+ emergency=PhoneNumberDesc(national_number_pattern='0(?:6[0568]|80)|911', possible_number_pattern='\\d{3}', example_number='066', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='0(?:[249]0|3[01]|5[015]|6[01568]|7[0-578]|8[089])|53053|7766|911', possible_number_pattern='\\d{3,5}', example_number='030', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_MZ.py b/python/phonenumbers/shortdata/region_MZ.py
index 18c454eb..f68600fb 100644
--- a/python/phonenumbers/shortdata/region_MZ.py
+++ b/python/phonenumbers/shortdata/region_MZ.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_MZ = PhoneMetadata(id='MZ', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:1[79]|9[78])', possible_number_pattern='\\d{3}', example_number='119'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:[02-5]\\d{2}|1[79]|9[78])', possible_number_pattern='\\d{3,4}', example_number='1011'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:1[79]|9[78])', possible_number_pattern='\\d{3}', example_number='119', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:[02-5]\\d{2}|1[79]|9[78])', possible_number_pattern='\\d{3,4}', example_number='1011', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NA.py b/python/phonenumbers/shortdata/region_NA.py
index af1fc93c..f2b37871 100644
--- a/python/phonenumbers/shortdata/region_NA.py
+++ b/python/phonenumbers/shortdata/region_NA.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NA = PhoneMetadata(id='NA', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 4, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='10111', possible_number_pattern='\\d{5}', example_number='10111'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0111|\\d{3})|9(?:3111|\\d{2})', possible_number_pattern='\\d{3,5}', example_number='93111'),
+ emergency=PhoneNumberDesc(national_number_pattern='10111', possible_number_pattern='\\d{5}', example_number='10111', possible_length=(5,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0111|\\d{3})|9(?:3111|\\d{2})', possible_number_pattern='\\d{3,5}', example_number='93111', possible_length=(3, 4, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NC.py b/python/phonenumbers/shortdata/region_NC.py
index fe10ab32..423dc502 100644
--- a/python/phonenumbers/shortdata/region_NC.py
+++ b/python/phonenumbers/shortdata/region_NC.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NC = PhoneMetadata(id='NC', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,3}|3\\d{3}|5\\d{2}', possible_number_pattern='\\d{2,4}'),
- toll_free=PhoneNumberDesc(national_number_pattern='10(?:00|1[23]|3[0-2]|88)|3631|577', possible_number_pattern='\\d{3,4}', example_number='1000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{1,3}|3\\d{3}|5\\d{2}', possible_number_pattern='\\d{2,4}', possible_length=(2, 3, 4)),
+ toll_free=PhoneNumberDesc(national_number_pattern='10(?:00|1[23]|3[0-2]|88)|3631|577', possible_number_pattern='\\d{3,4}', example_number='1000', possible_length=(3, 4)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[5-8]', possible_number_pattern='\\d{2}', example_number='15'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:0[06]|1[02-46]|20|3[0125]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d', possible_number_pattern='\\d{2,4}', example_number='1000'),
- standard_rate=PhoneNumberDesc(national_number_pattern='5(?:67|88)', possible_number_pattern='\\d{3}', example_number='567'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[5-8]', possible_number_pattern='\\d{2}', example_number='15', possible_length=(2,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0(?:0[06]|1[02-46]|20|3[0125]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d', possible_number_pattern='\\d{2,4}', example_number='1000', possible_length=(2, 3, 4)),
+ standard_rate=PhoneNumberDesc(national_number_pattern='5(?:67|88)', possible_number_pattern='\\d{3}', example_number='567', possible_length=(3,)),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NE.py b/python/phonenumbers/shortdata/region_NE.py
index edfdd82d..210ccbd0 100644
--- a/python/phonenumbers/shortdata/region_NE.py
+++ b/python/phonenumbers/shortdata/region_NE.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NE = PhoneMetadata(id='NE', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[1-358]\\d{1,2}|723141', possible_number_pattern='\\d{2,6}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-358]\\d{1,2}|723141', possible_number_pattern='\\d{2,6}', possible_length=(2, 3, 6)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1[578]|723141', possible_number_pattern='\\d{2,6}', example_number='17'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[12]|2[034]|3[013]|40|55?|60|7|8)|222|333|555|723141|888', possible_number_pattern='\\d{2,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1[578]|723141', possible_number_pattern='\\d{2,6}', example_number='17', possible_length=(2, 6)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[12]|2[034]|3[013]|40|55?|60|7|8)|222|333|555|723141|888', possible_number_pattern='\\d{2,6}', example_number='112', possible_length=(2, 3, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[12]|2[034]|3[013]|40|55|60)|222|333|555|888', possible_number_pattern='\\d{3}', example_number='100'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='1(?:0[01]|1[12]|2[034]|3[013]|40|55|60)|222|333|555|888', possible_number_pattern='\\d{3}', example_number='100', possible_length=(3,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NF.py b/python/phonenumbers/shortdata/region_NF.py
index 6cba804c..d9c5c9a5 100644
--- a/python/phonenumbers/shortdata/region_NF.py
+++ b/python/phonenumbers/shortdata/region_NF.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NF = PhoneMetadata(id='NF', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='9(?:11|55|77)', possible_number_pattern='\\d{3}', example_number='911'),
- short_code=PhoneNumberDesc(national_number_pattern='9(?:11|55|77)', possible_number_pattern='\\d{3}', example_number='911'),
+ emergency=PhoneNumberDesc(national_number_pattern='9(?:11|55|77)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='9(?:11|55|77)', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NG.py b/python/phonenumbers/shortdata/region_NG.py
index 71d339ca..df7d11c6 100644
--- a/python/phonenumbers/shortdata/region_NG.py
+++ b/python/phonenumbers/shortdata/region_NG.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NG = PhoneMetadata(id='NG', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[14]\\d{2,4}', possible_number_pattern='\\d{3,5}', possible_length=(3, 5)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199'),
- short_code=PhoneNumberDesc(national_number_pattern='199|40700', possible_number_pattern='\\d{3,5}', example_number='199'),
+ emergency=PhoneNumberDesc(national_number_pattern='199', possible_number_pattern='\\d{3}', example_number='199', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='199|40700', possible_number_pattern='\\d{3,5}', example_number='199', possible_length=(3, 5)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='40700', possible_number_pattern='\\d{5}', example_number='40700'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='40700', possible_number_pattern='\\d{5}', example_number='40700', possible_length=(5,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NI.py b/python/phonenumbers/shortdata/region_NI.py
index 323a26e3..6bd6be1d 100644
--- a/python/phonenumbers/shortdata/region_NI.py
+++ b/python/phonenumbers/shortdata/region_NI.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NI = PhoneMetadata(id='NI', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[12467]\\d{2,3}', possible_number_pattern='\\d{3,4}'),
- toll_free=PhoneNumberDesc(national_number_pattern='7373', possible_number_pattern='\\d{4}', example_number='7373'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[12467]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
+ toll_free=PhoneNumberDesc(national_number_pattern='7373', possible_number_pattern='\\d{4}', example_number='7373', possible_length=(4,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:1[58]|2[08])', possible_number_pattern='\\d{3}', example_number='118'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[58]|2(?:[158]|00?)|900)|2100|4878|6100|7(?:010|100|373)', possible_number_pattern='\\d{3,4}', example_number='118'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:1[58]|2[08])', possible_number_pattern='\\d{3}', example_number='118', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[58]|2(?:[158]|00?)|900)|2100|4878|6100|7(?:010|100|373)', possible_number_pattern='\\d{3,4}', example_number='118', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NL.py b/python/phonenumbers/shortdata/region_NL.py
index 348a5202..9f3c2339 100644
--- a/python/phonenumbers/shortdata/region_NL.py
+++ b/python/phonenumbers/shortdata/region_NL.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NL = PhoneMetadata(id='NL', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116(?:00[06]|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000'),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116(?:00[06]|1(?:11|23))', possible_number_pattern='\\d{6}', example_number='116000', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='112|911', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\\d|400|8(?:[02-9]\\d|1[0-79]))|911', possible_number_pattern='\\d{3,6}', example_number='1833'),
+ emergency=PhoneNumberDesc(national_number_pattern='112|911', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\\d|400|8(?:[02-9]\\d|1[0-79]))|911', possible_number_pattern='\\d{3,6}', example_number='1833', possible_length=(3, 4, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- carrier_specific=PhoneNumberDesc(national_number_pattern='120[0-4]', possible_number_pattern='\\d{4}', example_number='1202'),
+ carrier_specific=PhoneNumberDesc(national_number_pattern='120[0-4]', possible_number_pattern='\\d{4}', example_number='1202', possible_length=(4,)),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NO.py b/python/phonenumbers/shortdata/region_NO.py
index d791a611..abc96fd7 100644
--- a/python/phonenumbers/shortdata/region_NO.py
+++ b/python/phonenumbers/shortdata/region_NO.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NO = PhoneMetadata(id='NO', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}'),
- toll_free=PhoneNumberDesc(national_number_pattern='116117', possible_number_pattern='\\d{6}', example_number='116117'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2,5}', possible_number_pattern='\\d{3,6}', possible_length=(3, 4, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='116117', possible_number_pattern='\\d{6}', example_number='116117', possible_length=(6,)),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[023]', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[0239]|6117)|2[048]|4(?:12|[59])|7[57]|90)', possible_number_pattern='\\d{3,6}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[023]', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1(?:[0239]|6117)|2[048]|4(?:12|[59])|7[57]|90)', possible_number_pattern='\\d{3,6}', example_number='112', possible_length=(3, 4, 6)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NP.py b/python/phonenumbers/shortdata/region_NP.py
index 8f3f247a..04853a05 100644
--- a/python/phonenumbers/shortdata/region_NP.py
+++ b/python/phonenumbers/shortdata/region_NP.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NP = PhoneMetadata(id='NP', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='1(?:0[0-3]|12)', possible_number_pattern='\\d{3}', example_number='112'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[0-3]|12)', possible_number_pattern='\\d{3}', example_number='112'),
+ emergency=PhoneNumberDesc(national_number_pattern='1(?:0[0-3]|12)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[0-3]|12)', possible_number_pattern='\\d{3}', example_number='112', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NR.py b/python/phonenumbers/shortdata/region_NR.py
index 737a44e4..767508ab 100644
--- a/python/phonenumbers/shortdata/region_NR.py
+++ b/python/phonenumbers/shortdata/region_NR.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NR = PhoneMetadata(id='NR', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='1\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='11[0-2]', possible_number_pattern='\\d{3}', example_number='110'),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:1[0-2]|23|92)', possible_number_pattern='\\d{3}', example_number='110'),
+ emergency=PhoneNumberDesc(national_number_pattern='11[0-2]', possible_number_pattern='\\d{3}', example_number='110', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:1[0-2]|23|92)', possible_number_pattern='\\d{3}', example_number='110', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_NU.py b/python/phonenumbers/shortdata/region_NU.py
index 40c104cc..0e604b3a 100644
--- a/python/phonenumbers/shortdata/region_NU.py
+++ b/python/phonenumbers/shortdata/region_NU.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_NU = PhoneMetadata(id='NU', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}'),
+ general_desc=PhoneNumberDesc(national_number_pattern='9\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999'),
- short_code=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999'),
+ emergency=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='999', possible_number_pattern='\\d{3}', example_number='999', possible_length=(3,)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/phonenumbers/shortdata/region_UY.py b/python/phonenumbers/shortdata/region_UY.py
index 4edab5e5..ce48c9ad 100644
--- a/python/phonenumbers/shortdata/region_UY.py
+++ b/python/phonenumbers/shortdata/region_UY.py
@@ -2,11 +2,11 @@
from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
PHONE_METADATA_UY = PhoneMetadata(id='UY', country_code=None, international_prefix=None,
- general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2}', possible_number_pattern='\\d{3}', possible_length=(3,)),
+ general_desc=PhoneNumberDesc(national_number_pattern='[19]\\d{2,3}', possible_number_pattern='\\d{3,4}', possible_length=(3, 4)),
toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
- emergency=PhoneNumberDesc(national_number_pattern='128|911', possible_number_pattern='\\d{3}', example_number='911', possible_length=(3,)),
- short_code=PhoneNumberDesc(national_number_pattern='1(?:0[4-9]|1[2368]|2[0-3568])|911', possible_number_pattern='\\d{3}', example_number='104', possible_length=(3,)),
+ emergency=PhoneNumberDesc(national_number_pattern='128|911', possible_number_pattern='\\d{3,4}', example_number='911', possible_length=(3,)),
+ short_code=PhoneNumberDesc(national_number_pattern='1(?:0[4-9]|1[2368]|2[0-3568]|787)|911', possible_number_pattern='\\d{3,4}', example_number='104', possible_length=(3, 4)),
standard_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
carrier_specific=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
short_data=True)
diff --git a/python/tests/testdata/__init__.py b/python/tests/testdata/__init__.py
index 2e8fe3e5..46441253 100644
--- a/python/tests/testdata/__init__.py
+++ b/python/tests/testdata/__init__.py
@@ -15,7 +15,7 @@
from phonenumbers.phonemetadata import PhoneMetadata
-_AVAILABLE_REGION_CODES = ['AD','AE','AO','AR','AU','BB','BR','BS','BY','CA','CC','CN','CX','DE','FR','GB','GG','HU','IT','JP','KR','MX','NZ','PL','RE','SE','SG','US','YT']
+_AVAILABLE_REGION_CODES = ['AD','AE','AM','AO','AR','AU','BB','BR','BS','BY','CA','CC','CN','CX','DE','FR','GB','GG','HU','IT','JP','KR','MX','NZ','PL','RE','SE','SG','US','YT']
_AVAILABLE_NONGEO_COUNTRY_CODES = [800, 979]
def _load_region(code):
@@ -55,6 +55,7 @@ _COUNTRY_CODE_TO_REGION_CODE = {
86: ("CN",),
244: ("AO",),
262: ("RE", "YT",),
+ 374: ("AM",),
375: ("BY",),
376: ("AD",),
800: ("001",),
diff --git a/python/tests/testdata/region_AM.py b/python/tests/testdata/region_AM.py
new file mode 100644
index 00000000..6b38bdbf
--- /dev/null
+++ b/python/tests/testdata/region_AM.py
@@ -0,0 +1,18 @@
+"""Auto-generated file, do not edit by hand. AM metadata"""
+from phonenumbers.phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata
+
+PHONE_METADATA_AM = PhoneMetadata(id='AM', country_code=374, international_prefix='00',
+ general_desc=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7}', possible_number_pattern='\\d{5,8}', example_number='10123456', possible_length=(8,), possible_length_local_only=(5, 6)),
+ fixed_line=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7}', possible_number_pattern='\\d{5,8}', example_number='10123456', possible_length=(8,), possible_length_local_only=(5, 6)),
+ mobile=PhoneNumberDesc(national_number_pattern='[1-9]\\d{7}', possible_number_pattern='\\d{5,8}', example_number='10123456', possible_length=(8,), possible_length_local_only=(5, 6)),
+ toll_free=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ premium_rate=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ shared_cost=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ personal_number=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ voip=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ pager=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ uan=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ voicemail=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ no_international_dialling=PhoneNumberDesc(national_number_pattern='NA', possible_number_pattern='NA'),
+ national_prefix='0',
+ national_prefix_for_parsing='0')